/*! tailwindcss v4.3.3 | 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)))){*,::backdrop,:after,:before{--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-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-5xl:64rem;--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);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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,pre,samp{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:initial;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:where(:not(iframe)){outline:auto}progress{vertical-align:initial}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}html{scrollbar-gutter:stable;overflow-x:clip}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{color:var(--foreground);font-family:var(--font-geist-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.7;overflow-x:clip}body,body:before{background-color:var(--background)}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 100% 70% at 15% 5%,var(--accent-teal),transparent 58%),radial-gradient(ellipse 90% 65% at 88% 12%,var(--accent-rose),transparent 55%),radial-gradient(ellipse 80% 55% at 50% 45%,var(--accent-violet),transparent 60%),radial-gradient(ellipse 95% 60% at 20% 85%,var(--accent),transparent 58%),radial-gradient(ellipse 70% 50% at 75% 92%,var(--accent-teal),transparent 55%);position:fixed;inset:-18%}@supports (color:color-mix(in lab,red,red)){body:before{background-image:radial-gradient(ellipse 100% 70% at 15% 5%,color-mix(in oklab,var(--accent-teal) 14%,transparent),transparent 58%),radial-gradient(ellipse 90% 65% at 88% 12%,color-mix(in oklab,var(--accent-rose) 13%,transparent),transparent 55%),radial-gradient(ellipse 80% 55% at 50% 45%,color-mix(in oklab,var(--accent-violet) 7%,transparent),transparent 60%),radial-gradient(ellipse 95% 60% at 20% 85%,color-mix(in oklab,var(--accent) 12%,transparent),transparent 58%),radial-gradient(ellipse 70% 50% at 75% 92%,color-mix(in oklab,var(--accent-teal) 8%,transparent),transparent 55%)}}body:before{will-change:transform}body:after{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 55% 45% at 70% 35%,var(--accent-rose),transparent 70%),radial-gradient(ellipse 50% 40% at 30% 60%,var(--accent-violet),transparent 68%);position:fixed;inset:-20%}@supports (color:color-mix(in lab,red,red)){body:after{background-image:radial-gradient(ellipse 55% 45% at 70% 35%,color-mix(in oklab,var(--accent-rose) 7%,transparent),transparent 70%),radial-gradient(ellipse 50% 40% at 30% 60%,color-mix(in oklab,var(--accent-violet) 6%,transparent),transparent 68%)}}body:after{will-change:transform}@media (prefers-reduced-motion:no-preference){body:before{animation:ambient-drift-a 18s ease-in-out infinite}body:after{animation:ambient-drift-b 24s ease-in-out infinite}}[role=button]:not(:disabled),[role=tab]:not(:disabled),a[href],button:not(:disabled),summary{cursor:pointer}button:disabled{cursor:not-allowed}::selection{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in oklab,var(--accent) 35%,transparent)}}::selection{color:var(--foreground)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-x-3\.5{inset-inline:calc(var(--spacing) * 3.5)}.-top-12{top:calc(var(--spacing) * -12)}.top-0{top:0}.top-1\/2{top:50%}.top-8{top:calc(var(--spacing) * 8)}.top-24{top:calc(var(--spacing) * 24)}.top-\[6\%\]{top:6%}.top-\[9\%\]{top:9%}.top-\[12\%\]{top:12%}.top-\[14\%\]{top:14%}.top-\[15\%\]{top:15%}.top-\[20\%\]{top:20%}.top-\[32\%\]{top:32%}.top-\[33\%\]{top:33%}.top-\[36\%\]{top:36%}.top-\[38\%\]{top:38%}.top-\[40\%\]{top:40%}.top-\[44\%\]{top:44%}.top-\[46\%\]{top:46%}.top-\[50\%\]{top:50%}.top-\[58\%\]{top:58%}.top-\[62\%\]{top:62%}.top-\[64\%\]{top:64%}.top-\[68\%\]{top:68%}.top-\[70\%\]{top:70%}.top-\[78\%\]{top:78%}.top-\[79\%\]{top:79%}.top-\[80\%\]{top:80%}.top-\[84\%\]{top:84%}.top-\[86\%\]{top:86%}.top-\[88\%\]{top:88%}.top-\[90\%\]{top:90%}.top-\[92\%\]{top:92%}.top-\[94\%\]{top:94%}.-right-8{right:calc(var(--spacing) * -8)}.-right-10{right:calc(var(--spacing) * -10)}.right-5{right:calc(var(--spacing) * 5)}.right-14{right:calc(var(--spacing) * 14)}.right-\[6\%\]{right:6%}.right-\[8\%\]{right:8%}.right-\[12\%\]{right:12%}.right-\[14\%\]{right:14%}.right-\[16\%\]{right:16%}.right-\[18\%\]{right:18%}.right-\[19\%\]{right:19%}.right-\[22\%\]{right:22%}.right-\[26\%\]{right:26%}.right-\[28\%\]{right:28%}.right-\[32\%\]{right:32%}.right-\[34\%\]{right:34%}.right-\[38\%\]{right:38%}.right-\[40\%\]{right:40%}.right-full{right:100%}.bottom-1{bottom:var(--spacing)}.bottom-8{bottom:calc(var(--spacing) * 8)}.bottom-28{bottom:calc(var(--spacing) * 28)}.-left-\[9999px\]{left:-9999px}.left-0{left:0}.left-8{left:calc(var(--spacing) * 8)}.left-\[6\%\]{left:6%}.left-\[8\%\]{left:8%}.left-\[10\%\]{left:10%}.left-\[12\%\]{left:12%}.left-\[16\%\]{left:16%}.left-\[18\%\]{left:18%}.left-\[22\%\]{left:22%}.left-\[28\%\]{left:28%}.left-\[32\%\]{left:32%}.left-\[38\%\]{left:38%}.left-\[40\%\]{left:40%}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-\[1\.05rem\]{width:1.05rem;height:1.05rem}.h-0{height:0}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-32{height:calc(var(--spacing) * 32)}.h-44{height:calc(var(--spacing) * 44)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-\[7rem\]{min-height:7rem}.min-h-\[15rem\]{min-height:15rem}.min-h-\[16rem\]{min-height:16rem}.min-h-\[18rem\]{min-height:18rem}.min-h-full{min-height:100%}.w-0{width:0}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-32{width:calc(var(--spacing) * 32)}.w-44{width:calc(var(--spacing) * 44)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[42rem\]{max-width:42rem}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-shell{max-width:var(--shell)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-center{transform-origin:50%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-1{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1{--tw-translate-x:var(--spacing)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.-translate-y-1\/2,.-translate-y-\[5px\]{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[5px\]{--tw-translate-y:calc(5px * -1)}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-\[5px\]{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[5px\]{--tw-translate-y:5px}.-rotate-12{rotate:-12deg}.-rotate-45{rotate:-45deg}.rotate-12{rotate:12deg}.rotate-45{rotate:45deg}.rotate-\[18deg\]{rotate:18deg}.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}.resize{resize:both}.\[scrollbar-width\:none\]{scrollbar-width:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-14{gap:calc(var(--spacing) * 14)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}: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-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-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * 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)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-\[0\.3rem\]{border-radius:.3rem}.rounded-\[0\.4rem\]{border-radius:.4rem}.rounded-\[0\.35rem\]{border-radius:.35rem}.rounded-\[0\.65rem\]{border-radius:.65rem}.rounded-full{border-radius:3.40282e+38px}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-accent-rose\/28{border-color:var(--accent-rose)}@supports (color:color-mix(in lab,red,red)){.border-accent-rose\/28{border-color:color-mix(in oklab,var(--accent-rose) 28%,transparent)}}.border-accent-rose\/30{border-color:var(--accent-rose)}@supports (color:color-mix(in lab,red,red)){.border-accent-rose\/30{border-color:color-mix(in oklab,var(--accent-rose) 30%,transparent)}}.border-accent-rose\/32{border-color:var(--accent-rose)}@supports (color:color-mix(in lab,red,red)){.border-accent-rose\/32{border-color:color-mix(in oklab,var(--accent-rose) 32%,transparent)}}.border-accent-rose\/35{border-color:var(--accent-rose)}@supports (color:color-mix(in lab,red,red)){.border-accent-rose\/35{border-color:color-mix(in oklab,var(--accent-rose) 35%,transparent)}}.border-accent-rose\/40{border-color:var(--accent-rose)}@supports (color:color-mix(in lab,red,red)){.border-accent-rose\/40{border-color:color-mix(in oklab,var(--accent-rose) 40%,transparent)}}.border-accent-teal\/25{border-color:var(--accent-teal)}@supports (color:color-mix(in lab,red,red)){.border-accent-teal\/25{border-color:color-mix(in oklab,var(--accent-teal) 25%,transparent)}}.border-accent-teal\/28{border-color:var(--accent-teal)}@supports (color:color-mix(in lab,red,red)){.border-accent-teal\/28{border-color:color-mix(in oklab,var(--accent-teal) 28%,transparent)}}.border-accent-teal\/30{border-color:var(--accent-teal)}@supports (color:color-mix(in lab,red,red)){.border-accent-teal\/30{border-color:color-mix(in oklab,var(--accent-teal) 30%,transparent)}}.border-accent-violet\/25{border-color:var(--accent-violet)}@supports (color:color-mix(in lab,red,red)){.border-accent-violet\/25{border-color:color-mix(in oklab,var(--accent-violet) 25%,transparent)}}.border-accent-violet\/30{border-color:var(--accent-violet)}@supports (color:color-mix(in lab,red,red)){.border-accent-violet\/30{border-color:color-mix(in oklab,var(--accent-violet) 30%,transparent)}}.border-accent\/22{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/22{border-color:color-mix(in oklab,var(--accent) 22%,transparent)}}.border-accent\/25{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/25{border-color:color-mix(in oklab,var(--accent) 25%,transparent)}}.border-accent\/30{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/30{border-color:color-mix(in oklab,var(--accent) 30%,transparent)}}.border-accent\/35{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/35{border-color:color-mix(in oklab,var(--accent) 35%,transparent)}}.border-accent\/40{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/40{border-color:color-mix(in oklab,var(--accent) 40%,transparent)}}.border-border,.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--border) 70%,transparent)}}.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)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.border-white\/25{border-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.border-white\/35{border-color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.border-white\/35{border-color:color-mix(in oklab,var(--color-white) 35%,transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.bg-accent{background-color:var(--accent)}.bg-accent-rose\/45{background-color:var(--accent-rose)}@supports (color:color-mix(in lab,red,red)){.bg-accent-rose\/45{background-color:color-mix(in oklab,var(--accent-rose) 45%,transparent)}}.bg-accent-teal\/40{background-color:var(--accent-teal)}@supports (color:color-mix(in lab,red,red)){.bg-accent-teal\/40{background-color:color-mix(in oklab,var(--accent-teal) 40%,transparent)}}.bg-accent-teal\/45{background-color:var(--accent-teal)}@supports (color:color-mix(in lab,red,red)){.bg-accent-teal\/45{background-color:color-mix(in oklab,var(--accent-teal) 45%,transparent)}}.bg-accent-violet\/40{background-color:var(--accent-violet)}@supports (color:color-mix(in lab,red,red)){.bg-accent-violet\/40{background-color:color-mix(in oklab,var(--accent-violet) 40%,transparent)}}.bg-accent-violet\/45{background-color:var(--accent-violet)}@supports (color:color-mix(in lab,red,red)){.bg-accent-violet\/45{background-color:color-mix(in oklab,var(--accent-violet) 45%,transparent)}}.bg-accent\/50{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/50{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.bg-background,.bg-background\/55{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/55{background-color:color-mix(in oklab,var(--background) 55%,transparent)}}.bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,var(--background) 60%,transparent)}}.bg-border-strong{background-color:var(--border-strong)}.bg-current{background-color:currentColor}.bg-transparent{background-color:#0000}.bg-white\/35{background-color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.bg-white\/35{background-color:color-mix(in oklab,var(--color-white) 35%,transparent)}}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.\!px-4{padding-inline:calc(var(--spacing) * 4)!important}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.\!py-2\.5{padding-block:calc(var(--spacing) * 2.5)!important}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.\!pt-4{padding-top:calc(var(--spacing) * 4)!important}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pt-\[4\.75rem\]{padding-top:4.75rem}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.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-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--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-\[0\.7rem\]{font-size:.7rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.875rem\]{font-size:.875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.9375rem\]{font-size:.9375rem}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-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-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.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-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-accent-rose{color:var(--accent-rose)}.text-accent-text{color:var(--accent-text)}.text-foreground,.text-foreground\/40{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/40{color:color-mix(in oklab,var(--foreground) 40%,transparent)}}.text-muted{color:var(--muted)}.text-muted-foreground{color:var(--muted-foreground)}.text-white{color:var(--color-white)}.text-white\/45{color:#ffffff73}@supports (color:color-mix(in lab,red,red)){.text-white\/45{color:color-mix(in oklab,var(--color-white) 45%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.text-white\/88{color:#ffffffe0}@supports (color:color-mix(in lab,red,red)){.text-white\/88{color:color-mix(in oklab,var(--color-white) 88%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.text-white\/92{color:#ffffffeb}@supports (color:color-mix(in lab,red,red)){.text-white\/92{color:color-mix(in oklab,var(--color-white) 92%,transparent)}}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.decoration-border{-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.decoration-white\/50{text-decoration-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.decoration-white\/50{-webkit-text-decoration-color:color-mix(in oklab,var(--color-white) 50%,transparent);text-decoration-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.underline-offset-4{text-underline-offset:4px}.underline-offset-\[5px\]{text-underline-offset:5px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-100{opacity:1}.ring-1{--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)}.ring-border{--tw-ring-color:var(--border)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-\[width\,background-color\]{transition-property:width,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-opacity{transition-property:opacity;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-500{--tw-duration:.5s;transition-duration:.5s}.\[-ms-overflow-style\:none\]{-ms-overflow-style:none}.\[stroke-linecap\:round\]{stroke-linecap:round}.\[stroke-linejoin\:round\]{stroke-linejoin:round}@media (hover:hover){.group-hover\:size-2:is(:where(.group):hover *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-hover\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:bg-accent\/70:is(:where(.group):hover *){background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-accent\/70:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--accent) 70%,transparent)}}.group-hover\:text-accent:is(:where(.group):hover *){color:var(--accent)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:ring-accent:is(:where(.group):hover *){--tw-ring-color:var(--accent)}.hover\:bg-muted-foreground:hover{background-color:var(--muted-foreground)}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-accent-hover:hover{color:var(--accent-hover)}.hover\:text-accent-text:hover{color:var(--accent-text)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:decoration-accent:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.hover\:opacity-80:hover{opacity:.8}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-\[80\]:focus{z-index:80}.focus\:bg-background:focus{background-color:var(--background)}.focus\:px-3:focus{padding-inline:calc(var(--spacing) * 3)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-sm:focus{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.focus\:outline:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\:outline-2:focus{outline-style:var(--tw-outline-style);outline-width:2px}.focus\:outline-offset-2:focus{outline-offset:2px}.focus\:outline-\[var\(--accent\)\]:focus{outline-color:var(--accent)}@media (min-width:40rem){.sm\:top-\[8\%\]{top:8%}.sm\:top-\[28\%\]{top:28%}.sm\:top-\[56\%\]{top:56%}.sm\:top-\[76\%\]{top:76%}.sm\:top-\[82\%\]{top:82%}.sm\:top-\[93\%\]{top:93%}.sm\:right-\[10\%\]{right:10%}.sm\:right-\[18\%\]{right:18%}.sm\:left-\[10\%\]{left:10%}.sm\:left-\[16\%\]{left:16%}.sm\:left-\[42\%\]{left:42%}.sm\:mt-2{margin-top:calc(var(--spacing) * 2)}.sm\:mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.sm\:mt-3{margin-top:calc(var(--spacing) * 3)}.sm\:mt-5{margin-top:calc(var(--spacing) * 5)}.sm\:mt-6{margin-top:calc(var(--spacing) * 6)}.sm\:mt-7{margin-top:calc(var(--spacing) * 7)}.sm\:mt-8{margin-top:calc(var(--spacing) * 8)}.sm\:mt-10{margin-top:calc(var(--spacing) * 10)}.sm\:mt-12{margin-top:calc(var(--spacing) * 12)}.sm\:mt-16{margin-top:calc(var(--spacing) * 16)}.sm\:mb-5{margin-bottom:calc(var(--spacing) * 5)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.sm\:h-5{height:calc(var(--spacing) * 5)}.sm\:h-14{height:calc(var(--spacing) * 14)}.sm\:h-20{height:calc(var(--spacing) * 20)}.sm\:h-28{height:calc(var(--spacing) * 28)}.sm\:min-h-\[17rem\]{min-height:17rem}.sm\:min-h-\[18rem\]{min-height:18rem}.sm\:min-h-\[22rem\]{min-height:22rem}.sm\:w-5{width:calc(var(--spacing) * 5)}.sm\:w-6{width:calc(var(--spacing) * 6)}.sm\:w-14{width:calc(var(--spacing) * 14)}.sm\:w-20{width:calc(var(--spacing) * 20)}.sm\:w-28{width:calc(var(--spacing) * 28)}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-center{justify-content:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-5{gap:calc(var(--spacing) * 5)}:where(.sm\: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(.sm\: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(.sm\:space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\: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)))}:where(.sm\:space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}.sm\:rounded-sm{border-radius:var(--radius-sm)}.sm\:border{border-style:var(--tw-border-style);border-width:1px}.sm\:border-border{border-color:var(--border)}.sm\:bg-surface\/70{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.sm\:bg-surface\/70{background-color:color-mix(in oklab,var(--surface) 70%,transparent)}}.sm\:bg-transparent{background-color:#0000}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\:py-6{padding-block:calc(var(--spacing) * 6)}.sm\:\!pt-8{padding-top:calc(var(--spacing) * 8)!important}.sm\:pt-8{padding-top:calc(var(--spacing) * 8)}.sm\:pt-24{padding-top:calc(var(--spacing) * 24)}.sm\:pb-14{padding-bottom:calc(var(--spacing) * 14)}.sm\:pb-24{padding-bottom:calc(var(--spacing) * 24)}.sm\:text-right{text-align:right}.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))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-\[0\.7rem\]{font-size:.7rem}.sm\:text-\[0\.8rem\]{font-size:.8rem}.sm\:text-\[0\.75rem\]{font-size:.75rem}.sm\:text-\[0\.95rem\]{font-size:.95rem}.sm\:text-\[0\.9375rem\]{font-size:.9375rem}.sm\:text-\[3\.15rem\]{font-size:3.15rem}.sm\:leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.sm\:leading-\[1\.06\]{--tw-leading:1.06;line-height:1.06}.sm\:leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.sm\:leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}}@media (min-width:64rem){.lg\:right-7{right:calc(var(--spacing) * 7)}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:min-h-0{min-height:0}.lg\:min-h-\[20rem\]{min-height:20rem}.lg\:w-\[42\%\]{width:42%}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:gap-16{gap:calc(var(--spacing) * 16)}:where(.lg\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}.lg\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.lg\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.lg\:border-border{border-color:var(--border)}.lg\:p-10{padding:calc(var(--spacing) * 10)}.lg\:pl-12{padding-left:calc(var(--spacing) * 12)}}@media (min-width:80rem){.xl\:gap-24{gap:calc(var(--spacing) * 24)}.xl\:pl-16{padding-left:calc(var(--spacing) * 16)}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}@font-face{font-family:Geist Sans;src:url(/fonts/geist-sans.woff2)format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Geist Sans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0%;size-adjust:106.28%}:root{--font-geist-sans:"Geist Sans","Geist Sans Fallback","Avenir Next","Segoe UI",ui-sans-serif,system-ui,sans-serif;--background:#f3ebe0;--foreground:#12182a;--surface:#fff8f0;--border:#e0d3c2;--border-strong:#cbbba5;--muted:#2f2a3a;--muted-foreground:#3a3448;--accent:#c9a227;--accent-hover:#a8861c;--accent-text:#7a5f12;--accent-rose:#b91c3c;--accent-violet:#5b2c6f;--accent-teal:#0e6b6d;--shell:72rem}.dark{--background:#0e1018;--foreground:#f3ebe0;--surface:#171b27;--border:#2a3144;--border-strong:#3d4660;--muted:#e4dde8;--muted-foreground:#d8d0e4;--accent:#d4b23a;--accent-hover:#e0c456;--accent-text:#e4c45a;--accent-rose:#e85a75;--accent-violet:#a78bfa;--accent-teal:#2dd4bf}.site-header{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0;border-bottom:1px solid #0000;padding-block:1rem;transition:padding .35s cubic-bezier(.22,1,.36,1),background-color .35s cubic-bezier(.22,1,.36,1),border-color .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1),-webkit-backdrop-filter .35s cubic-bezier(.22,1,.36,1),backdrop-filter .35s cubic-bezier(.22,1,.36,1);box-shadow:0 0 #0000}@media (min-width:640px){.site-header{padding-block:1.35rem}}.site-header.is-scrolled{border-bottom-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.site-header.is-scrolled{border-bottom-color:color-mix(in oklab,var(--border) 70%,transparent)}}.site-header.is-scrolled{background:linear-gradient(180deg,var(--surface) 0,var(--background) 100%),var(--background)}@supports (color:color-mix(in lab,red,red)){.site-header.is-scrolled{background:linear-gradient(180deg,color-mix(in oklab,var(--surface) 55%,transparent) 0,color-mix(in oklab,var(--background) 78%,transparent) 100%),color-mix(in oklab,var(--background) 72%,transparent)}}.site-header.is-scrolled{-webkit-backdrop-filter:blur(18px)saturate(1.35);backdrop-filter:blur(18px)saturate(1.35);box-shadow:0 12px 36px -24px #12182a66,inset 0 -1px 0 var(--accent)}@supports (color:color-mix(in lab,red,red)){.site-header.is-scrolled{box-shadow:0 12px 36px -24px #12182a66,inset 0 -1px 0 color-mix(in oklab,var(--accent) 12%,transparent)}}.site-header.is-scrolled{padding-block:.75rem}@media (min-width:640px){.site-header.is-scrolled{padding-block:.9rem}}.dark .site-header.is-scrolled{background:linear-gradient(180deg,var(--surface) 0,var(--background) 100%),var(--background)}@supports (color:color-mix(in lab,red,red)){.dark .site-header.is-scrolled{background:linear-gradient(180deg,color-mix(in oklab,var(--surface) 62%,transparent) 0,color-mix(in oklab,var(--background) 82%,transparent) 100%),color-mix(in oklab,var(--background) 78%,transparent)}}.dark .site-header.is-scrolled{box-shadow:0 16px 40px -26px #000000b3,inset 0 -1px 0 var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark .site-header.is-scrolled{box-shadow:0 16px 40px -26px #000000b3,inset 0 -1px 0 color-mix(in oklab,var(--accent) 18%,transparent)}}@media (prefers-reduced-motion:reduce){.site-header{transition:none}}.section-title{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(2.15rem,9vw,8.5rem);line-height:.98}.display-name,.section-title{color:var(--foreground);font-weight:800}.display-name{letter-spacing:-.05em;font-size:clamp(2.4rem,11vw,9.5rem);line-height:.95}.section-panel{background:0 0;flex-direction:column;justify-content:flex-start;min-height:auto;padding-block:2.75rem;scroll-margin-top:5rem;display:flex}@media (min-width:640px){.section-panel{justify-content:center;min-height:min(88vh,920px);padding-block:4rem}}@media (prefers-reduced-motion:no-preference){.closing-status-dot{animation:closing-pulse 2.4s ease-in-out infinite}}@keyframes closing-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 color-mix(in oklab,var(--accent) 40%,transparent)}50%{opacity:.7;box-shadow:0 0 0 5px #0000}}.project-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}.project-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px -20px #00000059}.projects-carousel-track{scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;overscroll-behavior-x:contain;scroll-padding-inline:0}.projects-carousel-track::-webkit-scrollbar{display:none}.projects-carousel-item{scroll-snap-align:start;width:min(78vw,19.5rem)}.projects-carousel-item .project-card{box-shadow:0 6px 18px -12px #00000047}.projects-carousel-item .project-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px -14px #00000052}.dark .projects-carousel-item .project-card{box-shadow:0 8px 20px -12px #0000008c}.dark .projects-carousel-item .project-card:hover{box-shadow:0 12px 26px -14px #0000009e}.projects-carousel-track.is-jumping{scroll-snap-type:none}@media (min-width:640px){.projects-carousel-item{width:min(42vw,21rem)}}@media (min-width:1024px){.projects-carousel-item{width:calc(42.5532% - .851064rem)}}@media (prefers-reduced-motion:reduce){.projects-carousel-track{scroll-behavior:auto}}@media (prefers-reduced-motion:no-preference){.hero-line{animation:hero-rise .95s cubic-bezier(.16,1,.3,1) both;display:block}.hero-line-lcp{animation-name:hero-rise-lcp}.hero-line-delay{animation-delay:.12s}.hero-fade{animation:hero-fade .8s cubic-bezier(.22,1,.36,1) .28s both}.hero-fade-delay{animation-delay:.4s}.shape-float{animation:shape-float 7s ease-in-out infinite}.shape-drift{animation:shape-drift 11s ease-in-out infinite}.shape-drift-alt{animation:shape-drift-alt 9s ease-in-out infinite}.shape-spin{animation:shape-spin 14s linear infinite}.shape-spin-slow{animation:shape-spin 22s linear infinite reverse}.shape-pulse{animation:shape-pulse 5s ease-in-out infinite}}.section-rail{align-items:center;width:44px}.section-rail-track{background:var(--border-strong);width:1px;position:absolute;top:18px;bottom:18px;left:50%;translate:-50%}@supports (color:color-mix(in lab,red,red)){.section-rail-track{background:color-mix(in oklab,var(--border-strong) 70%,transparent)}}.section-rail-btn{z-index:2;position:relative}.section-rail-dot{box-shadow:0 0 0 3px var(--background)}html{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}@supports (color:color-mix(in lab,red,red)){html{scrollbar-color:color-mix(in oklab,var(--accent) 55%,var(--border-strong)) transparent}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--accent) 45%,var(--border-strong))}}::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}@media (prefers-reduced-motion:no-preference) and (max-width:639px){.shape-drift,.shape-drift-alt,.shape-float{animation-duration:10s}.shape-spin,.shape-spin-slow{animation-duration:28s}}@keyframes hero-rise{0%{opacity:0;transform:translateY(.45em)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes hero-rise-lcp{0%{transform:translateY(.45em)scale(.985)}to{transform:translate(0)scale(1)}}@keyframes hero-fade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0)}}@keyframes shape-float{0%,to{transform:translate(0)}50%{transform:translateY(-14px)}}@keyframes shape-drift{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(10px,-12px)rotate(4deg)}66%{transform:translate(-8px,8px)rotate(-3deg)}}@keyframes shape-drift-alt{0%,to{transform:translate(0)}50%{transform:translate(-12px,-10px)}}@keyframes shape-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes shape-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}@keyframes ambient-drift-a{0%,to{transform:translate(0)scale(1)}40%{transform:translate(5.5%,-4%)scale(1.06)}70%{transform:translate(-4.5%,5%)scale(1.04)}}@keyframes ambient-drift-b{0%,to{transform:translate(0)scale(1)}35%{transform:translate(-6%,3.5%)scale(1.08)}65%{transform:translate(4.5%,-5.5%)scale(1.05)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.project-item{animation:view-rise linear both;animation-timeline:view();animation-range:entry entry 35%}}}@keyframes view-rise{0%{opacity:.35;transform:translateY(24px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.project-card,.project-card:hover{transition:none;transform:none}.hero-fade,.hero-line,.project-item,.projects-grid .project-filter-cell,.shape-drift,.shape-drift-alt,.shape-float,.shape-pulse,.shape-spin,.shape-spin-slow{animation:none!important}}.reveal-block{opacity:0;transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);transform:translateY(18px)}.reveal-block-visible{opacity:1;transform:translate(0)}.reveal-soft.reveal-block{transition-duration:.45s;transform:translateY(10px)}.reveal-soft.reveal-block-visible{transform:translate(0)}.title-reveal{z-index:1;isolation:isolate;display:block;position:relative}.title-reveal-mask{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}.title-reveal-text{opacity:0;transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .55s cubic-bezier(.22,1,.36,1);display:block;transform:translateY(112%)}.title-reveal-rule{background:var(--accent);transform-origin:0;width:min(4.5rem,28%);height:3px;margin-top:.85rem;transition:transform .65s cubic-bezier(.22,1,.36,1) .28s;display:block;transform:scaleX(0)}@media (min-width:640px){.title-reveal-right .title-reveal-rule{transform-origin:100%;margin-left:auto}}.title-reveal.is-visible .title-reveal-text{opacity:1;transform:translate(0)}.title-reveal.is-visible .title-reveal-rule{transform:scaleX(1)}@media (prefers-reduced-motion:no-preference){.accent-rule{transform-origin:0;transition:transform .55s cubic-bezier(.22,1,.36,1) 80ms}.github-stats:not(.is-visible) .accent-rule,.reveal-block:not(.reveal-block-visible) .accent-rule{transform:scaleX(0)}.stagger-item{transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}.reveal-block:not(.reveal-block-visible) .stagger-item{opacity:0;transform:translateY(14px)}.reveal-block-visible .stagger-item:first-child{transition-delay:40ms}.reveal-block-visible .stagger-item:nth-child(2){transition-delay:.1s}.reveal-block-visible .stagger-item:nth-child(3){transition-delay:.16s}.reveal-block-visible .stagger-item:nth-child(4){transition-delay:.22s}.reveal-block-visible .stagger-item:nth-child(5){transition-delay:.28s}.reveal-block-visible .stagger-item:nth-child(6){transition-delay:.34s}.reveal-block-visible .stagger-item:nth-child(7){transition-delay:.4s}.reveal-block-visible .stagger-item:nth-child(8){transition-delay:.46s}.nav-underline{transform-origin:50%;transition:transform .3s cubic-bezier(.22,1,.36,1);transform:scaleX(0)}.nav-underline.is-active{transform:scaleX(1)}.github-stats-blurb,.github-stats-grade-kicker,.github-stats-grade-letter,.github-stats-metric{transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1)}.github-stats:not(.is-visible) .github-stats-blurb,.github-stats:not(.is-visible) .github-stats-grade-kicker,.github-stats:not(.is-visible) .github-stats-grade-letter,.github-stats:not(.is-visible) .github-stats-metric{opacity:0;transform:translateY(16px)}.github-stats.is-visible .github-stats-grade-kicker{transition-delay:50ms}.github-stats.is-visible .github-stats-grade-letter{transition-delay:.1s}.github-stats.is-visible .github-stats-metric:first-child{transition-delay:.16s}.github-stats.is-visible .github-stats-metric:nth-child(2){transition-delay:.22s}.github-stats.is-visible .github-stats-metric:nth-child(3){transition-delay:.28s}.github-stats.is-visible .github-stats-metric:nth-child(4){transition-delay:.34s}.github-stats.is-visible .github-stats-blurb{transition-delay:.4s}.github-stats-score-fill{transform-origin:0;width:100%;transition:transform .85s cubic-bezier(.22,1,.36,1) .28s;transform:scaleX(0)}.github-stats.is-visible .github-stats-score-fill{transform:scaleX(calc(var(--github-score,0) / 100))}.project-filter-label{transition:color .28s,background-color .28s,box-shadow .28s}.project-filter-label:active{transform:scale(.98)}.skill-chip{transition:border-color .3s,background-color .3s,transform .3s cubic-bezier(.22,1,.36,1)}.skill-chip:hover{border-color:var(--border-strong);transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.reveal-block{opacity:1;transition:none;transform:none}.accent-rule,.github-stats-blurb,.github-stats-grade-kicker,.github-stats-grade-letter,.github-stats-metric,.nav-underline,.project-filter-label,.skill-chip,.stagger-item,.title-reveal-rule,.title-reveal-text{opacity:1!important;transition:none!important;transform:none!important}.github-stats-score-fill{transform:scaleX(calc(var(--github-score,0) / 100))!important;transition:none!important}}.project-filter{border:1px solid var(--border);gap:.15rem;max-width:100%;display:inline-flex;position:relative;overflow-x:auto}@supports (color:color-mix(in lab,red,red)){.project-filter{border:1px solid color-mix(in oklab,var(--border) 85%,transparent)}}.project-filter{background:var(--surface);border-radius:9999px}@supports (color:color-mix(in lab,red,red)){.project-filter{background:color-mix(in oklab,var(--surface) 45%,transparent)}}.project-filter{-ms-overflow-style:none;scrollbar-width:none;padding:.2rem}.project-filter::-webkit-scrollbar{display:none}.project-filter-thumb{pointer-events:none;z-index:0;background:var(--foreground);opacity:0;border-radius:9999px;transition:transform .38s cubic-bezier(.22,1,.36,1),width .38s cubic-bezier(.22,1,.36,1),opacity .2s;position:absolute;top:.2rem;bottom:.2rem;left:0}.project-filter-thumb.is-ready{opacity:1}.dark .project-filter-thumb{background:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.dark .project-filter-thumb{background:color-mix(in oklab,var(--foreground) 92%,transparent)}}.project-filter-label{z-index:1;cursor:pointer;letter-spacing:.12em;text-transform:uppercase;min-height:2.25rem;color:var(--muted-foreground);white-space:nowrap;background:0 0;border:0;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem .95rem;font-size:.68rem;font-weight:600;display:inline-flex;position:relative}.project-filter-label:hover:not(.is-active){color:var(--foreground)}.dark .project-filter-label.is-active,.project-filter-label.is-active{color:var(--background);box-shadow:none;background:0 0}@media (prefers-reduced-motion:reduce){.project-filter-thumb{transition:none}}@media (prefers-reduced-motion:no-preference){.projects-grid .project-filter-cell{animation:filter-rise .45s cubic-bezier(.22,1,.36,1) both}::view-transition-old(root){animation:page-fade-out .28s cubic-bezier(.4,0,1,1) both}::view-transition-new(root){animation:page-fade-in .42s cubic-bezier(.22,1,.36,1) both}::view-transition-group(*){animation-duration:.4s;animation-timing-function:cubic-bezier(.22,1,.36,1)}.blog-header-enter{animation:blog-rise-lcp .7s cubic-bezier(.22,1,.36,1) both}.blog-card:hover .blog-media-fill{transform:translate(0)scale(1.03)}.blog-media-fill{transition:transform .45s cubic-bezier(.22,1,.36,1);transform:translateZ(0)}}@keyframes page-fade-out{to{opacity:0;transform:translateY(-8px)}}@keyframes page-fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0)}}@keyframes blog-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translate(0)}}@keyframes blog-rise-lcp{0%{transform:translateY(18px)}to{transform:translate(0)}}@keyframes filter-rise{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.btn-primary,.btn-secondary{cursor:pointer;letter-spacing:.01em;text-align:center;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.7rem 1.4rem;font-size:.875rem;font-weight:600;transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s cubic-bezier(.22,1,.36,1);display:inline-flex;position:relative}.btn-primary{background:var(--foreground);color:var(--background)}.btn-primary:hover{background:var(--accent);color:var(--foreground)}.btn-arrow{transition:transform .25s cubic-bezier(.22,1,.36,1)}.btn-primary:hover .btn-arrow,.btn-secondary:hover .btn-arrow{transform:translate(3px)}.btn-secondary{border:1px solid var(--border-strong);color:var(--foreground);background:0 0}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.btn-secondary:hover{background:color-mix(in oklab,var(--accent) 8%,transparent)}}.icon-btn{cursor:pointer;width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;color:var(--foreground);border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;transition:color .25s,border-color .25s,background-color .25s}.icon-btn:hover{border-color:var(--border);background:var(--surface)}@supports (color:color-mix(in lab,red,red)){.icon-btn:hover{background:color-mix(in oklab,var(--surface) 70%,transparent)}}.icon-btn:hover{color:var(--accent-text)}.site-popup{z-index:90;padding:0 0 env(safe-area-inset-bottom,0);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.site-popup--command{z-index:95}@media (min-width:640px){.site-popup{align-items:flex-start;padding:12vh 1rem 2rem}}.site-popup-backdrop{cursor:pointer;background:var(--background);border:0;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.site-popup-backdrop{background:color-mix(in oklab,var(--background) 72%,transparent)}}.site-popup-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:site-popup-fade-in .28s both}.site-popup-panel{z-index:1;background:var(--surface);border:1px solid var(--border);border-bottom:0;border-radius:1.15rem 1.15rem 0 0;flex-direction:column;width:100%;max-height:min(92dvh,42rem);display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.site-popup-panel{background:color-mix(in oklab,var(--surface) 96%,var(--background))}}.site-popup-panel{animation:site-popup-sheet-in .38s cubic-bezier(.22,1,.36,1) both;box-shadow:0 28px 70px -32px #00000073}@media (min-width:640px){.site-popup-panel{border-bottom:1px solid var(--border);border-radius:1rem;width:min(100%,34rem);max-height:min(70vh,32rem);animation-name:site-popup-panel-in}.site-popup-panel--contact{width:min(100%,36rem);max-height:min(80vh,44rem)}}.site-popup.is-leaving .site-popup-backdrop{animation:site-popup-fade-out .3s both}.site-popup.is-leaving .site-popup-panel{pointer-events:none;animation:site-popup-sheet-out .32s cubic-bezier(.4,0,.2,1) both}@media (min-width:640px){.site-popup.is-leaving .site-popup-panel{animation-name:site-popup-panel-out}}@media (prefers-reduced-motion:reduce){.site-popup-backdrop,.site-popup-panel,.site-popup.is-leaving .site-popup-backdrop,.site-popup.is-leaving .site-popup-panel{animation:none!important}}.contact-modal-handle{z-index:1;flex-shrink:0;justify-content:center;padding-top:.5rem;padding-bottom:.1rem;display:flex;position:relative}.contact-modal-handle span{background:var(--border-strong);border-radius:999px;width:2.5rem;height:.25rem}@supports (color:color-mix(in lab,red,red)){.contact-modal-handle span{background:color-mix(in oklab,var(--border-strong) 85%,transparent)}}@media (min-width:640px){.contact-modal-handle{display:none}}.contact-modal-header{z-index:1;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.2rem 1rem .75rem;display:flex;position:relative}@media (min-width:640px){.contact-modal-header{gap:1rem;padding:1.15rem 1.25rem 1rem}}.contact-close{cursor:pointer;border:1px solid var(--border);width:2.5rem;height:2.5rem;color:var(--muted);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:color .25s,border-color .25s,background-color .25s;display:flex}.contact-close:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.contact-close:hover{background:color-mix(in oklab,var(--accent) 8%,transparent)}}.contact-close:hover{color:var(--foreground)}.contact-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-modal-body{z-index:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:.7rem 1rem calc(.85rem + env(safe-area-inset-bottom,0px));flex:auto;position:relative;overflow:hidden auto}@media (min-width:640px){.contact-modal-body{padding:1.15rem 1.25rem 1.35rem}}.contact-modal-form{flex-direction:column;gap:.75rem;display:flex}@media (min-width:640px){.contact-modal-form{gap:1.15rem}}.contact-modal-fields{gap:.75rem;display:grid}@media (min-width:640px){.contact-modal-fields{grid-template-columns:1fr 1fr;gap:1.15rem}}.contact-modal-actions{border-top:1px solid var(--border);flex-direction:column;gap:.7rem;padding-top:.85rem;display:flex}@media (min-width:640px){.contact-modal-actions{flex-direction:row;justify-content:space-between;align-items:center;padding-top:1.15rem}}.contact-modal-fallback{text-align:center;color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px;font-size:.875rem;transition:color .25s,text-decoration-color .25s}.contact-modal-fallback:hover{color:var(--foreground);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@media (min-width:640px){.contact-modal-fallback{text-align:left}}.contact-field{border:1px solid var(--border-strong);background:var(--background);border-radius:.65rem;width:100%;max-width:100%}@supports (color:color-mix(in lab,red,red)){.contact-field{background:color-mix(in oklab,var(--background) 88%,transparent)}}.contact-field{color:var(--foreground);outline:none;padding:.75rem .85rem;font-size:1rem;line-height:1.45;transition:border-color .25s,box-shadow .25s,background-color .25s}@media (min-width:640px){.contact-field{padding:.8rem .95rem;font-size:.9375rem}}.contact-field-message{resize:vertical;min-height:4.75rem}@media (min-width:640px){.contact-field-message{min-height:9rem}}.contact-field::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.contact-field::placeholder{color:color-mix(in oklab,var(--muted-foreground) 72%,transparent)}}.contact-field:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.contact-field:hover{border-color:color-mix(in oklab,var(--accent) 35%,var(--border-strong))}}.contact-field:focus{border-color:var(--accent);background:var(--background);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab,red,red)){.contact-field:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 22%,transparent)}}.contact-field-invalid,.contact-field-invalid:focus{border-color:var(--accent-rose)}.contact-field-invalid:focus{box-shadow:0 0 0 3px var(--accent-rose)}@supports (color:color-mix(in lab,red,red)){.contact-field-invalid:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-rose) 22%,transparent)}}@keyframes site-popup-fade-in{0%{opacity:0}to{opacity:1}}@keyframes site-popup-fade-out{0%{opacity:1}to{opacity:0}}@keyframes site-popup-sheet-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translate(0)}}@keyframes site-popup-sheet-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(100%)}}@keyframes site-popup-panel-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes site-popup-panel-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translateY(14px)scale(.985)}}.mobile-menu{transition:opacity .3s cubic-bezier(.22,1,.36,1)}.mobile-menu-closed{pointer-events:none;opacity:0;visibility:hidden;transition:opacity .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s}.mobile-menu-open{pointer-events:auto;opacity:1;visibility:visible}.mobile-menu-open .mobile-menu-panel{animation:menu-panel-in .45s cubic-bezier(.22,1,.36,1) both}.mobile-menu-open .mobile-menu-item{animation:menu-item-in .5s cubic-bezier(.22,1,.36,1) both}@keyframes menu-panel-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translate(0)}}@keyframes menu-item-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.btn-primary,.btn-primary:hover,.btn-secondary,.btn-secondary:hover,.icon-btn{box-shadow:none;transition:none;transform:none}.btn-arrow{transition:none}.mobile-menu,.mobile-menu-open .mobile-menu-item,.mobile-menu-open .mobile-menu-panel{transition:none!important;animation:none!important}}.blog-index-hero{align-items:end;gap:2rem;display:grid}@media (min-width:900px){.blog-index-hero{grid-template-columns:minmax(0,1.4fr) minmax(10rem,.55fr);gap:3rem}}.blog-index-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);margin:0 0 .85rem;font-size:.7rem;font-weight:600}.blog-index-headline{letter-spacing:-.045em;max-width:22ch;color:var(--foreground);margin:0;font-size:clamp(1.85rem,4.2vw,3rem);font-weight:800;line-height:1.12}.blog-index-ornament-inner{height:8.5rem;display:none;position:relative}@media (min-width:900px){.blog-index-ornament-inner{display:block}}.blog-index-ornament-ring{border:1px solid var(--border-strong);width:7.5rem;height:7.5rem;position:absolute;top:0;right:.5rem}@supports (color:color-mix(in lab,red,red)){.blog-index-ornament-ring{border:1px solid color-mix(in oklab,var(--border-strong) 80%,transparent)}}.blog-index-ornament-ring{background:radial-gradient(circle at 35% 35%,var(--accent),transparent 62%);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.blog-index-ornament-ring{background:radial-gradient(circle at 35% 35%,color-mix(in oklab,var(--accent) 22%,transparent),transparent 62%)}}.blog-index-ornament-block{border:2px solid var(--accent-text);width:2.75rem;height:2.75rem;position:absolute;bottom:.4rem;right:3.5rem}@supports (color:color-mix(in lab,red,red)){.blog-index-ornament-block{border:2px solid color-mix(in oklab,var(--accent-text) 45%,transparent)}}.blog-index-ornament-block{transform:rotate(12deg)}.blog-index-ornament-rule{background:var(--accent);width:4.5rem;height:3px;position:absolute;bottom:1.6rem;right:0}.blog-featured{border:1px solid var(--border);background:var(--surface);display:grid;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.blog-featured{background:color-mix(in oklab,var(--surface) 88%,transparent)}}.blog-featured{color:inherit;text-decoration:none;transition:border-color .3s,transform .35s cubic-bezier(.22,1,.36,1)}@media (min-width:860px){.blog-featured{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}@media (prefers-reduced-motion:no-preference){.blog-featured:hover{border-color:var(--border-strong);transform:translateY(-2px)}}.blog-featured-body{flex-direction:column;justify-content:center;gap:.85rem;padding:1.35rem 1.35rem 1.5rem;display:flex}@media (min-width:860px){.blog-featured-body{padding:2rem 2.1rem}}.blog-featured-title{text-wrap:balance;letter-spacing:-.035em;color:var(--foreground);margin:0;font-size:clamp(1.35rem,2.6vw,1.85rem);font-weight:800;line-height:1.18;transition:color .3s}.blog-featured:hover .blog-featured-title{color:var(--accent-text)}.blog-featured-desc{text-wrap:pretty;max-width:38rem;color:var(--muted);margin:0;font-size:.95rem;line-height:1.7}.blog-cover{isolation:isolate;color:#c4d6e4;position:relative;overflow:hidden}.blog-cover-featured{min-height:14rem}@media (min-width:860px){.blog-cover-featured{min-height:100%}}.blog-cover-card{aspect-ratio:16/11}.blog-cover-arc,.blog-cover-dot,.blog-cover-mark,.blog-cover-square{pointer-events:none;position:absolute}.blog-cover-mark{letter-spacing:.28em;text-transform:uppercase;white-space:nowrap;color:inherit;font-size:clamp(.72rem,2.4vw,.95rem);font-weight:750;line-height:1;top:18%;left:50%;transform:translate(-50%)}.blog-cover-featured .blog-cover-mark{letter-spacing:.32em;font-size:clamp(.85rem,1.4vw,1.15rem);top:16%}.blog-cover-arc{opacity:.72;border:1.5px solid;width:78%;top:-42%;right:-18%}.blog-cover-arc,.blog-cover-dot{aspect-ratio:1;border-radius:999px}.blog-cover-dot{opacity:.85;background:currentColor;width:.55rem;top:52%;right:11%}.blog-cover-square{aspect-ratio:1;opacity:.8;border:1.5px solid;width:1.35rem;bottom:14%;left:12%;transform:rotate(-18deg)}.blog-cover-featured .blog-cover-dot{width:.7rem}.blog-cover-featured .blog-cover-square{width:1.65rem}.blog-cover-motif-1 .blog-cover-arc{top:-38%;left:-22%;right:auto}.blog-cover-motif-1 .blog-cover-dot{top:48%;left:12%;right:auto}.blog-cover-motif-1 .blog-cover-square{bottom:16%;left:auto;right:14%;transform:rotate(16deg)}.blog-cover-motif-2 .blog-cover-arc{width:88%;top:auto;bottom:-48%;right:-28%}.blog-cover-motif-2 .blog-cover-dot{top:22%;right:16%}.blog-cover-motif-2 .blog-cover-square{top:58%;bottom:auto;left:16%;transform:rotate(22deg)}.blog-card-topline{flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;display:flex}.blog-card-kicker{letter-spacing:.14em;color:var(--accent-text);margin:0;font-weight:700}.blog-card-kicker,.blog-card-series{text-transform:uppercase;font-size:.68rem}.blog-card-series{letter-spacing:.08em;color:var(--muted-foreground);font-weight:600}.blog-card-meta{color:var(--muted-foreground);flex-wrap:wrap;gap:.4rem .5rem;margin:0;font-size:.75rem;display:flex}.blog-index-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem 1.25rem;padding-bottom:1rem;display:flex}.blog-index-toolbar-title{letter-spacing:-.025em;color:var(--foreground);margin:0;font-size:1.05rem;font-weight:800}.blog-index-controls{flex-wrap:wrap;align-items:center;gap:.65rem;width:min(100%,28rem);display:flex}.blog-tag-select{z-index:5;flex:0 11rem;min-width:9.5rem;position:relative}.blog-tag-select-trigger{border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:.55rem;width:100%;min-height:2.65rem;display:flex}@supports (color:color-mix(in lab,red,red)){.blog-tag-select-trigger{background:color-mix(in oklab,var(--surface) 92%,transparent)}}.blog-tag-select-trigger{color:var(--muted-foreground);padding:.45rem .75rem .45rem .9rem;transition:border-color .2s,color .2s,background-color .2s}.blog-tag-select-trigger:focus-visible,.blog-tag-select-trigger:hover,.blog-tag-select.is-open .blog-tag-select-trigger{border-color:var(--border-strong);color:var(--foreground);outline:none}.blog-tag-select.has-value .blog-tag-select-trigger{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.blog-tag-select.has-value .blog-tag-select-trigger{border-color:color-mix(in oklab,var(--accent) 45%,var(--border))}}.blog-tag-select.has-value .blog-tag-select-trigger{color:var(--accent-text);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.blog-tag-select.has-value .blog-tag-select-trigger{background:color-mix(in oklab,var(--accent) 10%,var(--surface))}}.blog-tag-select-value{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700;overflow:hidden}.blog-tag-select-caret{opacity:.75;flex-shrink:0;width:.95rem;height:.95rem;transition:transform .2s}.blog-tag-select.is-open .blog-tag-select-caret{transform:rotate(180deg)}.blog-tag-select-menu{z-index:30;border:1px solid var(--border);background:var(--surface);width:max(100%,13.5rem);max-height:min(18rem,55vh);box-shadow:0 18px 40px var(--foreground),0 1px 0 var(--border);margin:0;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .4rem);left:0;overflow:auto}@supports (color:color-mix(in lab,red,red)){.blog-tag-select-menu{box-shadow:0 18px 40px color-mix(in oklab,var(--foreground) 12%,transparent),0 1px 0 color-mix(in oklab,var(--border) 70%,transparent)}}.blog-tag-select-menu{scrollbar-width:thin}.blog-tag-select-option{text-align:left;letter-spacing:.1em;text-transform:uppercase;width:100%;color:var(--muted);background:0 0;border:0;padding:.6rem .75rem;font-size:.72rem;font-weight:650;transition:color .15s,background-color .15s;display:block}.blog-tag-select-option:focus-visible,.blog-tag-select-option:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.blog-tag-select-option:focus-visible,.blog-tag-select-option:hover{background:color-mix(in oklab,var(--accent) 12%,transparent)}}.blog-tag-select-option:focus-visible,.blog-tag-select-option:hover{color:var(--accent-text);outline:none}.blog-tag-select-option.is-active{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.blog-tag-select-option.is-active{background:color-mix(in oklab,var(--accent) 16%,transparent)}}.blog-tag-select-option.is-active{color:var(--accent-text)}.blog-search{border:1px solid var(--border);background:var(--surface);flex:12rem;align-items:center;gap:.5rem;min-height:2.65rem;display:flex}@supports (color:color-mix(in lab,red,red)){.blog-search{background:color-mix(in oklab,var(--surface) 92%,transparent)}}.blog-search{color:var(--muted-foreground);padding:0 .85rem}.blog-search:focus-within{border-color:var(--border-strong);color:var(--foreground)}.blog-search input{width:100%;min-width:0;font:inherit;color:var(--foreground);background:0 0;border:0;outline:none;padding:.5rem 0;font-size:.9rem}.blog-search input::placeholder{color:var(--muted-foreground)}.blog-post-grid{gap:1.5rem;display:grid}@media (min-width:640px){.blog-post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}@media (min-width:1024px){.blog-post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.65rem}}.blog-grid-card{border:1px solid var(--border);background:var(--surface);flex-direction:column;height:100%;display:flex;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.blog-grid-card{background:color-mix(in oklab,var(--surface) 88%,transparent)}}.blog-grid-card{color:inherit;text-decoration:none;transition:border-color .3s,transform .35s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:no-preference){.blog-grid-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.blog-grid-card:hover .blog-cover{filter:brightness(1.05)}.blog-cover{transition:filter .35s}}.blog-grid-card-body{flex-direction:column;flex:1;gap:.55rem;padding:1rem 1.05rem 1.15rem;display:flex}.blog-grid-card-title{text-wrap:balance;letter-spacing:-.025em;color:var(--foreground);margin:0;font-size:1.05rem;font-weight:800;line-height:1.25;transition:color .3s}.blog-grid-card:hover .blog-grid-card-title{color:var(--accent-text)}.blog-grid-card-desc{-webkit-line-clamp:2;text-wrap:pretty;color:var(--muted);-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.55;display:-webkit-box;overflow:hidden}.blog-grid-card-body .blog-card-meta{margin-top:auto;padding-top:.35rem}.blog-article-rule{background:linear-gradient(90deg,var(--accent),var(--accent));width:100%;height:4px;margin-bottom:1.5rem}@supports (color:color-mix(in lab,red,red)){.blog-article-rule{background:linear-gradient(90deg,var(--accent),color-mix(in oklab,var(--accent) 35%,transparent))}}.blog-series-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);flex-wrap:wrap;align-items:baseline;gap:.4rem .55rem;margin:0;font-size:.7rem;font-weight:600;display:flex}.blog-series-nav{border:1px solid var(--border);background:var(--surface)}@supports (color:color-mix(in lab,red,red)){.blog-series-nav{background:color-mix(in oklab,var(--surface) 78%,transparent)}}.blog-series-nav{padding:1.15rem 1.15rem 1.2rem}.blog-series-nav-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.blog-series-nav-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);flex-wrap:wrap;gap:.4rem .5rem;margin:0;font-size:.68rem;font-weight:700;display:flex}.blog-series-nav-progress{color:var(--muted-foreground);font-variant-numeric:tabular-nums;margin:0;font-size:.75rem;font-weight:600}.blog-series-steps{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.blog-series-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}}.blog-series-step{border:1px solid var(--border);background:var(--background);flex-direction:column;gap:.4rem;min-height:100%;display:flex}@supports (color:color-mix(in lab,red,red)){.blog-series-step{background:color-mix(in oklab,var(--background) 35%,transparent)}}.blog-series-step{color:var(--muted);padding:.75rem .8rem .85rem;text-decoration:none;transition:color .25s,border-color .25s,background-color .25s}.blog-series-step:hover{color:var(--foreground);border-color:var(--border-strong)}.blog-series-step.is-current{color:var(--foreground);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.blog-series-step.is-current{border-color:color-mix(in oklab,var(--accent) 55%,var(--border))}}.blog-series-step.is-current{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.blog-series-step.is-current{background:color-mix(in oklab,var(--accent) 12%,var(--surface))}}.blog-series-step-index{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted-foreground);font-size:.68rem}.blog-series-step.is-current .blog-series-step-index{color:var(--accent-text)}.blog-series-step-title{-webkit-line-clamp:3;letter-spacing:-.02em;-webkit-box-orient:vertical;font-size:.84rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.blog-series-arrows{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;margin-top:.95rem;padding-top:.9rem;display:flex}.blog-series-arrow{color:var(--muted);align-items:center;gap:.45rem;font-size:.8125rem;font-weight:650;text-decoration:none;transition:color .25s;display:inline-flex}.blog-series-arrow:hover{color:var(--accent-text)}.blog-series-arrow.is-next{margin-left:auto}.blog-related-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.blog-related-list li{border-bottom:1px solid var(--border)}.blog-related-list a{color:inherit;align-items:flex-start;gap:1rem;padding:1.1rem 0;text-decoration:none;display:flex}.blog-related-index{font-family:var(--font-mono);color:var(--muted-foreground);padding-top:.2rem;font-size:.75rem;transition:color .25s}.blog-related-list a:hover .blog-related-index{color:var(--accent-text)}.blog-related-title{letter-spacing:-.02em;color:var(--foreground);font-size:1rem;font-weight:800;transition:color .25s;display:block}.blog-related-list a:hover .blog-related-title{color:var(--accent-text)}.blog-related-meta{color:var(--muted-foreground);margin-top:.3rem;font-size:.75rem;display:block}.blog-progress{z-index:80;pointer-events:none;background:0 0;width:100%;height:2px;position:fixed;top:0;left:0}.blog-progress-bar{transform-origin:0;background:var(--accent);will-change:transform;width:100%;height:100%}.blog-article-layout{gap:2rem;display:grid}@media (min-width:1100px){.blog-article-layout{grid-template-columns:minmax(0,42rem) 12.5rem;justify-content:center;align-items:start;column-gap:3rem}.blog-article-main{grid-column:1;margin-inline:0}.blog-toc-rail{scrollbar-width:thin;grid-area:1/2;align-self:start;max-height:calc(100vh - 6.5rem);position:sticky;top:5.75rem;overflow:auto}}.blog-toc{display:none}.blog-toc-mobile{border:1px solid var(--border);margin-bottom:1.5rem;padding:.75rem 1rem;display:block}.blog-toc-mobile>summary{cursor:pointer;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);font-size:.7rem;font-weight:600;list-style:none}.blog-toc-mobile>summary::-webkit-details-marker{display:none}.blog-toc-mobile[open]>summary{margin-bottom:.75rem}.blog-toc-mobile .blog-toc-list{border-left:1px solid var(--border)}@media (min-width:1100px){.blog-toc-mobile{display:none}.blog-toc{display:block}}.blog-toc-title{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);margin:0 0 .85rem;font-size:.7rem;font-weight:600}.blog-toc-list{border-left:1px solid var(--border);margin:0;padding:0;list-style:none}.blog-toc-list li.is-h3 .blog-toc-link{padding-left:1.35rem;font-size:.78rem}.blog-toc-link{color:var(--muted-foreground);border-left:2px solid #0000;margin-left:-1px;padding:.35rem 0 .35rem .85rem;font-size:.8125rem;line-height:1.35;text-decoration:none;transition:color .2s,border-color .2s;display:block}.blog-toc-link.is-active,.blog-toc-link:hover{color:var(--foreground);border-left-color:var(--accent)}.blog-code{margin-block:1.35em;position:relative}.blog-code pre{margin-block:0;padding-top:2.75rem}.blog-code-copy{z-index:1;border:1px solid var(--border);background:var(--surface);align-items:center;gap:.35rem;min-height:2rem;display:inline-flex;position:absolute;top:.65rem;right:.65rem}@supports (color:color-mix(in lab,red,red)){.blog-code-copy{background:color-mix(in oklab,var(--surface) 92%,var(--background))}}.blog-code-copy{letter-spacing:.04em;color:var(--muted);padding:.25rem .55rem;font-size:.7rem;font-weight:600;transition:color .2s,border-color .2s,background-color .2s}.blog-code-copy:hover{color:var(--foreground);border-color:var(--border-strong)}.blog-code-copy svg{width:.9rem;height:.9rem}.blog-heading-anchor{color:var(--muted-foreground);opacity:0;margin-left:.4rem;font-weight:600;text-decoration:none;transition:opacity .2s,color .2s}.blog-heading-anchor:focus-visible,.blog-prose h2:hover .blog-heading-anchor,.blog-prose h3:hover .blog-heading-anchor{opacity:1;color:var(--accent-text)}@media (prefers-reduced-motion:reduce){.blog-progress-bar{transition:none!important}.blog-archive-link,.blog-article-rule,.blog-cover,.blog-related-list a{view-transition-name:none!important}}.github-stats-body{border-top:1px solid var(--border);gap:1.75rem;margin-top:1.35rem;padding-top:1.5rem;display:grid;position:relative}@media (min-width:640px){.github-stats-body{grid-template-columns:minmax(7rem,9.5rem) minmax(0,1fr);align-items:end;gap:2.5rem;margin-top:1.6rem;padding-top:1.75rem}}.github-stats-grade{min-width:0;position:relative}.github-stats-grade-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);font-size:.68rem;font-weight:600}.github-stats-grade-letter{letter-spacing:-.07em;color:var(--accent-text);margin-top:.15rem;font-size:clamp(3.75rem,10vw,5.25rem);font-weight:800;line-height:.9}.github-stats-score{background:var(--border);width:min(100%,7.5rem);height:2px;margin-top:.85rem;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.github-stats-score{background:color-mix(in oklab,var(--border) 90%,transparent)}}.github-stats-score-fill{background:var(--accent);height:100%;display:block}.github-stats-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem;display:grid}@media (min-width:640px){.github-stats-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}}.github-stats-metric{border-top:2px solid var(--accent);min-width:0;padding-top:.65rem}@supports (color:color-mix(in lab,red,red)){.github-stats-metric{border-top:2px solid color-mix(in oklab,var(--accent) 55%,var(--border))}}.github-stats-caption{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);font-size:.68rem;font-weight:500}.github-stats-value{font-family:var(--font-geist-mono),ui-monospace,monospace;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:var(--foreground);margin-top:.45rem;font-size:clamp(1.65rem,3.8vw,2.15rem);font-weight:600;line-height:1}.blog-prose{content-visibility:auto;contain-intrinsic-size:1px 1200px;color:var(--muted);font-size:1.125rem;line-height:1.8}.blog-prose>:first-child{margin-top:0}.blog-prose>:last-child{margin-bottom:0}.blog-prose>p:first-of-type{color:var(--muted);font-size:1.2rem;line-height:1.75}@supports (color:color-mix(in lab,red,red)){.blog-prose>p:first-of-type{color:color-mix(in oklab,var(--muted) 88%,var(--foreground))}}.blog-prose blockquote,.blog-prose ol,.blog-prose p,.blog-prose pre,.blog-prose ul{margin-block:1.25em}.blog-prose h2{border-top:1px solid var(--border);margin-top:2.75em;margin-bottom:.75em;padding-top:.35em}@supports (color:color-mix(in lab,red,red)){.blog-prose h2{border-top:1px solid color-mix(in oklab,var(--border) 80%,transparent)}}.blog-prose h2{letter-spacing:-.035em;color:var(--foreground);font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:800;line-height:1.2}.blog-prose h2:first-child{border-top:0;margin-top:0;padding-top:0}.blog-prose h3{letter-spacing:-.02em;color:var(--foreground);margin-top:2em;margin-bottom:.55em;font-size:1.15rem;font-weight:700}.blog-prose a{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.blog-prose a{-webkit-text-decoration-color:color-mix(in oklab,var(--accent) 45%,var(--border));text-decoration-color:color-mix(in oklab,var(--accent) 45%,var(--border))}}.blog-prose a{text-underline-offset:5px;transition:text-decoration-color .3s,color .3s}.blog-prose a:hover{color:var(--accent-text);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.blog-prose strong{color:var(--foreground);font-weight:650}.blog-prose ol,.blog-prose ul{padding-left:1.25em}.blog-prose li{margin-block:.45em;padding-left:.15em}.blog-prose li::marker{color:var(--accent)}.blog-prose blockquote{border-left:3px solid var(--accent);background:var(--surface);margin-inline:0}@supports (color:color-mix(in lab,red,red)){.blog-prose blockquote{background:color-mix(in oklab,var(--surface) 70%,transparent)}}.blog-prose blockquote{color:var(--muted-foreground);padding:.95rem 1.15rem;font-style:italic}.blog-prose code{font-family:var(--font-mono);background:var(--surface);border-radius:.2rem;font-size:.88em}@supports (color:color-mix(in lab,red,red)){.blog-prose code{background:color-mix(in oklab,var(--surface) 88%,var(--border))}}.blog-prose code{color:var(--foreground);padding:.14em .42em}.blog-prose pre{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);padding:1.15rem 1.25rem;font-size:.9rem;line-height:1.65;overflow-x:auto}.blog-prose h2,.blog-prose h3{scroll-margin-top:5.5rem;position:relative}.blog-prose pre code{font-size:inherit;color:var(--foreground);background:0 0;padding:0}.blog-prose hr{border:0;border-top:1px solid var(--border);margin-block:2.75em}.blog-article-header{padding-bottom:.25rem}.blog-article-header h1{letter-spacing:-.045em}.blog-article-dek{max-width:38rem}.blog-article-tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.blog-article-tags a{border:1px solid var(--border);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);padding:.35rem .7rem;font-size:.68rem;font-weight:650;text-decoration:none;transition:color .25s,border-color .25s,background-color .25s;display:inline-block}.blog-article-tags a:hover{color:var(--accent-text);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.blog-article-tags a:hover{border-color:color-mix(in oklab,var(--accent) 55%,var(--border))}}.blog-article-tags a:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.blog-article-tags a:hover{background:color-mix(in oklab,var(--accent) 10%,transparent)}}.command-trigger{cursor:pointer;min-width:2.5rem;height:2.5rem;min-height:2.5rem;color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:0;transition:color .25s,border-color .25s,background-color .25s;display:inline-flex}.command-trigger:hover{border-color:var(--border);background:var(--surface)}@supports (color:color-mix(in lab,red,red)){.command-trigger:hover{background:color-mix(in oklab,var(--surface) 70%,transparent)}}.command-trigger:hover{color:var(--accent-text)}.command-trigger-icon{width:1.1rem;height:1.1rem}.command-trigger .command-kbd,.command-trigger-label{display:none}@media (min-width:640px){.command-trigger{border-color:var(--border);background:var(--surface);justify-content:flex-start;min-width:0}@supports (color:color-mix(in lab,red,red)){.command-trigger{background:color-mix(in oklab,var(--surface) 55%,transparent)}}.command-trigger{color:var(--muted);padding:.3rem .45rem .3rem .75rem}.command-trigger:hover{border-color:var(--border-strong);background:var(--surface)}@supports (color:color-mix(in lab,red,red)){.command-trigger:hover{background:color-mix(in oklab,var(--surface) 80%,transparent)}}.command-trigger:hover{color:var(--foreground)}.command-trigger-label{font-size:.75rem;font-weight:500;display:inline}.command-trigger .command-kbd{display:inline-flex}}.command-kbd{border:1px solid var(--border);background:var(--background);border-radius:.4rem;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.command-kbd{background:color-mix(in oklab,var(--background) 70%,transparent)}}.command-kbd{font-family:var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.02em;color:var(--muted-foreground);padding:.15rem .4rem;font-size:.65rem;font-weight:500}.command-palette-input-wrap{border-bottom:1px solid var(--border);align-items:center;gap:.65rem;padding:.95rem 1rem;display:flex}.command-palette-search-icon{width:1.15rem;height:1.15rem;color:var(--muted-foreground);flex-shrink:0}.command-palette-input{min-width:0;color:var(--foreground);background:0 0;border:0;outline:none;flex:1;font-size:1rem}@media (min-width:640px){.command-palette-input{font-size:.95rem}}.command-palette-input::placeholder{color:var(--muted-foreground)}.command-kbd-esc{display:none}@media (min-width:640px){.command-kbd-esc{display:inline-flex}}.command-palette-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:.55rem;overflow-y:auto}.command-palette-empty{text-align:center;color:var(--muted-foreground);padding:1.25rem .75rem;font-size:.875rem}.command-palette-group+.command-palette-group{margin-top:.45rem}.command-palette-group-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);padding:.35rem .7rem .45rem;font-size:.65rem;font-weight:600}.command-palette-group-items{gap:.15rem;display:grid}.command-palette-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.65rem;flex-direction:column;justify-content:center;align-items:flex-start;gap:.15rem;width:100%;min-height:2.75rem;padding:.75rem .8rem;transition:background-color .15s;display:flex}.command-palette-item.is-active,.command-palette-item:hover{background:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.command-palette-item.is-active,.command-palette-item:hover{background:color-mix(in oklab,var(--foreground) 7%,transparent)}}.command-palette-item-label{color:var(--foreground);font-size:.9375rem;font-weight:600}.command-palette-item-hint{-webkit-line-clamp:1;color:var(--muted-foreground);-webkit-box-orient:vertical;font-size:.75rem;display:-webkit-box;overflow:hidden}.site-toast-root{pointer-events:none;inset-inline:0;top:calc(5.25rem + env(safe-area-inset-top,0px));z-index:200;justify-content:center;padding-inline:1rem;display:flex;position:fixed}.site-toast{pointer-events:auto;-webkit-backdrop-filter:blur(18px)saturate(1.25);border:1px solid #0000;border-radius:9999px;align-items:center;gap:.75rem;width:min(26.5rem,100vw - 2rem);padding:.55rem;animation:site-toast-in .42s cubic-bezier(.22,1,.36,1) both;display:flex;box-shadow:0 18px 40px -22px #0000008c,0 8px 18px -14px #00000059}.site-toast.is-leaving{pointer-events:none;animation:site-toast-out .32s cubic-bezier(.4,0,.2,1) both}.site-toast--success{border-color:var(--accent-teal)}@supports (color:color-mix(in lab,red,red)){.site-toast--success{border-color:color-mix(in oklab,var(--accent-teal) 35%,transparent)}}.site-toast--success{background:#0b2f30}@supports (color:color-mix(in lab,red,red)){.site-toast--success{background:color-mix(in oklab,#0b2f30 78%,var(--background))}}.site-toast--egg{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.site-toast--egg{border-color:color-mix(in oklab,var(--accent) 38%,transparent)}}.site-toast--egg{background:#2a2414}@supports (color:color-mix(in lab,red,red)){.site-toast--egg{background:color-mix(in oklab,#2a2414 72%,var(--background))}}.site-toast--default{background:#152033;border-color:oklab(46.1957% -.0178113 -.0690908/.4)}@supports (color:color-mix(in lab,red,red)){.site-toast--default{background:color-mix(in oklab,#152033 78%,var(--background))}}:root:not(.dark) .site-toast--success{background:#d8efe8}@supports (color:color-mix(in lab,red,red)){:root:not(.dark) .site-toast--success{background:color-mix(in oklab,#d8efe8 82%,var(--surface))}}:root:not(.dark) .site-toast--success{border-color:var(--accent-teal)}@supports (color:color-mix(in lab,red,red)){:root:not(.dark) .site-toast--success{border-color:color-mix(in oklab,var(--accent-teal) 28%,var(--border))}}:root:not(.dark) .site-toast--success{box-shadow:0 16px 36px -22px #0e6b6d59,0 8px 16px -14px #0000002e}:root:not(.dark) .site-toast--egg{background:#f3e6c4}@supports (color:color-mix(in lab,red,red)){:root:not(.dark) .site-toast--egg{background:color-mix(in oklab,#f3e6c4 78%,var(--surface))}}:root:not(.dark) .site-toast--egg{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root:not(.dark) .site-toast--egg{border-color:color-mix(in oklab,var(--accent) 30%,var(--border))}}:root:not(.dark) .site-toast--egg{box-shadow:0 16px 36px -22px #c9a2274d,0 8px 16px -14px #00000029}:root:not(.dark) .site-toast--default{background:#dce6f4}@supports (color:color-mix(in lab,red,red)){:root:not(.dark) .site-toast--default{background:color-mix(in oklab,#dce6f4 80%,var(--surface))}}:root:not(.dark) .site-toast--default{border-color:#5b7ea6}@supports (color:color-mix(in lab,red,red)){:root:not(.dark) .site-toast--default{border-color:color-mix(in oklab,#5b7ea6 25%,var(--border))}}.site-toast-icon{color:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;display:inline-flex}.site-toast-icon--success{background:#1f9a8a}.site-toast-icon--egg{background:#c9a227}.site-toast-icon--default{background:#4d7ec8}.site-toast-copy{flex:1;min-width:0;padding-right:.15rem}.site-toast-title{letter-spacing:.01em;color:#f3ebe0;margin:0;font-size:.875rem;font-weight:600;line-height:1.25}.site-toast-description{color:oklab(94.3332% .00408974 .0165383/.72);text-wrap:pretty;margin:.15rem 0 0;font-size:.75rem;font-weight:400;line-height:1.35}:root:not(.dark) .site-toast-title{color:var(--foreground)}:root:not(.dark) .site-toast-description{color:var(--muted)}.site-toast-close{cursor:pointer;color:oklab(94.3332% .00408974 .0165383/.7);background:0 0;border:1px solid oklab(94.3332% .00408974 .0165383/.18);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.site-toast-close:hover{color:#f3ebe0;background:oklab(94.3332% .00408974 .0165383/.1);border-color:oklab(94.3332% .00408974 .0165383/.35)}:root:not(.dark) .site-toast-close{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){:root:not(.dark) .site-toast-close{border-color:color-mix(in oklab,var(--foreground) 14%,transparent)}}:root:not(.dark) .site-toast-close{color:var(--muted)}:root:not(.dark) .site-toast-close:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){:root:not(.dark) .site-toast-close:hover{border-color:color-mix(in oklab,var(--foreground) 28%,transparent)}}:root:not(.dark) .site-toast-close:hover{background:var(--foreground)}@supports (color:color-mix(in lab,red,red)){:root:not(.dark) .site-toast-close:hover{background:color-mix(in oklab,var(--foreground) 6%,transparent)}}:root:not(.dark) .site-toast-close:hover{color:var(--foreground)}.egg-footer-credit{cursor:default;color:inherit;display:inline}.egg-footer-credit:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.25rem}.egg-spark-overlay{pointer-events:none;z-index:180;background:radial-gradient(ellipse 70% 55% at 50% 35%,var(--accent),transparent 68%),var(--accent);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.egg-spark-overlay{background:radial-gradient(ellipse 70% 55% at 50% 35%,color-mix(in oklab,var(--accent) 55%,transparent),transparent 68%),color-mix(in oklab,var(--accent) 16%,transparent)}}.egg-spark-overlay{animation:egg-flash .85s forwards}.egg-spark-overlay.is-reduced{animation:egg-flash-reduced .4s forwards}@keyframes site-toast-in{0%{opacity:0;transform:translateY(-12px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes site-toast-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(.97)}}@keyframes egg-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes egg-flash-reduced{0%{opacity:0}40%{opacity:.55}to{opacity:0}}@media (prefers-reduced-motion:reduce){.site-toast,.site-toast.is-leaving{animation:none}}@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-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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}