/*! 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)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--mail-morph:0}}}@layer theme{:root,:host{--font-sans:"Inter", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, monospace;--color-orange-500:oklch(70.5% .213 47.604);--color-orange-700:oklch(55.3% .195 38.402);--color-emerald-500:#00bc7d;--color-cyan-400:#00d3f2;--color-cyan-600:var(--cyan-600);--color-cyan-700:oklch(52% .105 223.128);--color-cyan-800:#005f78;--color-cyan-950:#053345;--color-sky-500:oklch(68.5% .169 237.323);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-500:oklch(62.7% .265 303.9);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:#101828;--color-gray-950:#030712;--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-md:768px;--breakpoint-lg:1024px;--container-4xl:56rem;--text-xs:12px;--text-xs--line-height:calc(1 / .75);--text-sm:14px;--text-sm--line-height:calc(1.25 / .875);--text-base:16px;--text-base--line-height:calc(1.5 / 1);--text-lg:18px;--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:48px;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-widest:.08em;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-xl:12px;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--cyan-600:#0092b8;--color-heading:#101828f2;--color-text-secondary:#101828cc;--color-text-muted:#101828a6;--color-project-title:#000000e6;--color-surface-card:#0307120d;--color-surface-preview:#03071206;--color-surface-preview-overlay:#ffffffa6;--color-border-subtle:#03071214;--color-border-preview:#0307120f;--color-accent-subtle:#0092b80d;--color-accent-border:#0092b81f;--color-terminal-panel:#005f7840;--color-terminal-border:#ffffff14;--color-terminal-text:#e6e8eb;--color-terminal-muted:#8b919a;--color-terminal-prompt:#e0689a;--color-terminal-code:#d9a84e;--color-surface:var(--color-white);--color-foreground:var(--color-gray-900);--color-surface-preview-inner:var(--color-gray-50);--color-on-primary:var(--color-white);--color-primary:var(--color-black);--color-accent:var(--color-cyan-600);--color-terminal-surface:var(--color-cyan-950);--color-terminal-path:var(--color-cyan-400);--color-terminal-command:var(--color-emerald-500);--color-surface-card-hover:#03071212;--color-accent-soft:#0092b81a;--color-accent-outline:#0092b852;--color-terminal-surface-hover:#0a3d52;--color-hud-surface:#00000073;--color-ember-950:#1a0b03;--color-ember-500:#ff8c22;--color-ember-400:#ffae34;--color-frost:#7c96c1;--color-bo-primary:#2d679c;--color-bo-today:#8d3a64;--color-wisp-wandering:#6b55ff;--color-wisp-warning:#ff9a3c;--color-wisp-pursuit:#e0306a;--font-display:"Space Grotesk", system-ui, sans-serif;--font-prompt:"JetBrains Mono", ui-monospace, monospace;--font-terminal:"Paper Mono", ui-monospace, monospace;--text-terminal:13px;--tracking-hero:-.02em;--leading-4:16px;--leading-caption:18px;--leading-body-sm:21px;--leading-action:23.94px;--leading-6:24px;--leading-7:28px;--leading-hero:52.8px;--opacity-15:15%;--opacity-80:80%;--opacity-30:30%;--container-sidebar:472px;--container-projects:888px;--container-page:1440px;--container-card:320px;--container-preview:400px;--spacing-0:0px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-6:24px;--spacing-11:44px;--spacing-12:48px;--radius-pill:999px;--border-hairline:1px;--focus-ring-width:3px;--measure-headline:14ch;--duration-press:.15s;--duration-fast:.18s;--duration-enter:.2s;--duration-hover:.25s;--duration-base:.3s;--duration-slow:.4s;--duration-page-enter:.6s;--duration-blink:1s;--stagger-enter:.12s;--stagger-enter-item:60ms;--shadow-card:inset 0 1px 2px #ffffff3d, inset 0 1px 0 #ffffff1a, inset 0 -2px 2px #99a1af14, inset 0 -1px 1px #99a1af24, 0 0 0 .5px #99a1af3d}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-card:inset 0 1px 2px color-mix(in srgb, var(--color-white) 24%, transparent), inset 0 1px 0 color-mix(in srgb, var(--color-white) 10%, transparent), inset 0 -2px 2px color-mix(in srgb, var(--color-gray-400) 8%, transparent), inset 0 -1px 1px color-mix(in srgb, var(--color-gray-400) 14%, transparent), 0 0 0 .5px color-mix(in srgb, var(--color-gray-400) 24%, transparent)}}:root,:host{--shadow-card-highlight:inset 0 1px 2px #ffffff3d, inset 0 1px 0 #ffffff1a, inset 0 -2px 2px #99a1af14, inset 0 -1px 1px #99a1af24, 0 0 0 2px var(--color-accent-outline)}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-card-highlight:inset 0 1px 2px color-mix(in srgb, var(--color-white) 24%, transparent), inset 0 1px 0 color-mix(in srgb, var(--color-white) 10%, transparent), inset 0 -2px 2px color-mix(in srgb, var(--color-gray-400) 8%, transparent), inset 0 -1px 1px color-mix(in srgb, var(--color-gray-400) 14%, transparent), 0 0 0 2px var(--color-accent-outline)}}:root,:host{--shadow-preview:0 1px 1px #0003, 0 4px 4px #0000001f, 0 8px 8px #00000014}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-preview:0 1px 1px color-mix(in srgb, var(--color-black) 20%, transparent), 0 4px 4px color-mix(in srgb, var(--color-black) 12%, transparent), 0 8px 8px color-mix(in srgb, var(--color-black) 8%, transparent)}}:root,:host{--gradient-button-primary:linear-gradient(#000000b3, #000000e6)}@supports (color:color-mix(in lab, red, red)){:root,:host{--gradient-button-primary:linear-gradient(color-mix(in srgb, var(--color-primary) 70%, transparent), color-mix(in srgb, var(--color-primary) 90%, transparent))}}:root,:host{--gradient-button-primary-hover:linear-gradient(#000c, #000000f2)}@supports (color:color-mix(in lab, red, red)){:root,:host{--gradient-button-primary-hover:linear-gradient(color-mix(in srgb, var(--color-primary) 80%, transparent), color-mix(in srgb, var(--color-primary) 95%, transparent))}}:root,:host{--shadow-button-primary:0 0 0 2px #000000b3, 0 2px 4px #0006, 0 4px 8px #0000003d, inset 0 -1px 0 #ffffff0a, inset 0 1px 0 #fff3}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-button-primary:0 0 0 2px color-mix(in srgb, var(--color-primary) 70%, transparent), 0 2px 4px color-mix(in srgb, var(--color-primary) 40%, transparent), 0 4px 8px color-mix(in srgb, var(--color-primary) 24%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--color-white) 4%, transparent), inset 0 1px 0 color-mix(in srgb, var(--color-white) 20%, transparent)}}:root,:host{--color-button-secondary:#0000000d}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-button-secondary:color-mix(in srgb, var(--color-primary) 5%, transparent)}}:root,:host{--color-button-secondary-hover:#00000014}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-button-secondary-hover:color-mix(in srgb, var(--color-primary) 8%, transparent)}}:root,:host{--shadow-button-secondary:inset 0 0 0 1px #0000001f}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-button-secondary:inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 12%, transparent)}}:root,:host{--color-brand-github:var(--color-black);--color-brand-linkedin:#0a66c2;--color-brand-resume:var(--color-accent);--gradient-brand-instagram:radial-gradient(circle at 30% 110%, #fdf497, #fd5949 45%, #d6249f 60%, #285aeb 90%);--pattern-dot-grid:radial-gradient(circle, var(--color-surface-card) .5px, transparent 1px);--pattern-dot-grid-size:var(--spacing-2) var(--spacing-2);--gradient-page:radial-gradient(ellipse at top left, var(--color-gray-300), transparent 55%), radial-gradient(ellipse at bottom right, var(--color-gray-400), transparent 55%), var(--color-surface);--shadow-illustration-paper:drop-shadow(0 1px 1px #0307120f) drop-shadow(0 4px 6px #0307120d)}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-illustration-paper:drop-shadow(0 1px 1px color-mix(in srgb, var(--color-gray-950) 6%, transparent)) drop-shadow(0 4px 6px color-mix(in srgb, var(--color-gray-950) 5%, transparent))}}:root,:host{--shadow-illustration-lift:drop-shadow(0 6px 6px #03071224)}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-illustration-lift:drop-shadow(0 6px 6px color-mix(in srgb, var(--color-gray-950) 14%, transparent))}}:root,:host{--shadow-scan:0 0 10px 2px var(--color-cyan-400);--shadow-frame:0 2px 4px #03071229, 0 8px 16px #0307121a}@supports (color:color-mix(in lab, red, red)){:root,:host{--shadow-frame:0 2px 4px color-mix(in srgb, var(--color-gray-950) 16%, transparent), 0 8px 16px color-mix(in srgb, var(--color-gray-950) 10%, transparent)}}:root,:host{--ill-text-title:8px;--ill-text-value:7px;--ill-text-label:6.5px;--ill-text-meta:5.5px;--ill-text-token:5px;--ill-stroke-hairline:.75;--ill-stroke-regular:1;--ill-stroke-bold:1.5;--ill-dash-packet:6 200;--ill-dash-orbit:2 4;--ill-dash-slot:3 2;--ill-dash-trail:2 2;--ill-bob:-1.5px;--ill-slide:-6px;--ill-loop-flow:2.4s;--ill-stagger-flow:.24s;--ill-loop-report:8s;--ill-stagger-row:.45s;--ill-loop-orbit:6s;--ill-loop-story:9s;--ease-travel:cubic-bezier(.5, 0, .2, 1);--ease-out-strong:cubic-bezier(.23, 1, .32, 1);--animate-gradient:gradient 15s ease infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-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]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-surface)}body{color:var(--color-foreground);background:var(--color-surface);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}body,button,input{font-synthesis:none}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--spacing-1)}::selection{color:var(--color-on-primary);background:var(--color-accent)}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.-top-4{top:calc(var(--spacing-4) * -1)}.top-0{top:var(--spacing-0)}.top-2\/4{top:50%}.right-2{right:var(--spacing-2)}.left-2{left:var(--spacing-2)}.left-4{left:var(--spacing-4)}.z-1{z-index:1}.z-10{z-index:10}.order-1{order:1}.order-2{order:2}.order-3{order:3}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.m-0{margin:var(--spacing-0)}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mb-1{margin-bottom:var(--spacing-1)}.mb-4{margin-bottom:var(--spacing-4)}.mb-12{margin-bottom:var(--spacing-12)}.mb-24{margin-bottom:calc(var(--spacing) * 24)}.mb-40{margin-bottom:calc(var(--spacing) * 40)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.aspect-3\/2{aspect-ratio:3/2}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.h-6{height:var(--spacing-6)}.h-10{height:calc(var(--spacing) * 10)}.h-64{height:calc(var(--spacing) * 64)}.min-h-0{min-height:var(--spacing-0)}.min-h-11{min-height:var(--spacing-11)}.min-h-screen{min-height:100vh}.w-6{width:var(--spacing-6)}.w-10{width:calc(var(--spacing) * 10)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-\(--measure-headline\){max-width:var(--measure-headline)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-page{max-width:var(--container-page)}.max-w-sidebar{max-width:var(--container-sidebar)}.min-w-0{min-width:var(--spacing-0)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-\[0_0_100\%\]{flex:0 0 100%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-2\/4{--tw-translate-y:calc(calc(2 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-skew-x-6{--tw-skew-x:skewX(calc(6deg * -1));transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-gradient{animation:var(--animate-gradient)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.resize{resize:both}.scroll-mt-6{scroll-margin-top:var(--spacing-6)}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-12{gap:var(--spacing-12)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-x-6{column-gap:var(--spacing-6)}.gap-y-3{row-gap:var(--spacing-3)}.place-self-center{place-self:center}.self-baseline{align-self:baseline}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-r-2{border-right-style:var(--tw-border-style);border-right-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-orange-500{border-color:var(--color-orange-500)}.border-purple-500{border-color:var(--color-purple-500)}.border-sky-500{border-color:var(--color-sky-500)}.border-slate-200{border-color:var(--color-slate-200)}.border-surface-card{border-color:var(--color-surface-card)}.bg-accent-subtle{background-color:var(--color-accent-subtle)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-surface{background-color:var(--color-surface)}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.bg-white\/30{background-color:color-mix(in oklab, var(--color-white) var(--opacity-30), transparent)}}.bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-sky-500{--tw-gradient-from:var(--color-sky-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-purple-500{--tw-gradient-via:var(--color-purple-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-cyan-700{--tw-gradient-to:var(--color-cyan-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-500{--tw-gradient-to:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-700{--tw-gradient-to:var(--color-orange-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0{padding:var(--spacing-0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.px-2{padding-inline:var(--spacing-2)}.px-3{padding-inline:var(--spacing-3)}.px-6{padding-inline:var(--spacing-6)}.py-1{padding-block:var(--spacing-1)}.py-4{padding-block:var(--spacing-4)}.py-6{padding-block:var(--spacing-6)}.py-12{padding-block:var(--spacing-12)}.pt-2{padding-top:var(--spacing-2)}.pt-12{padding-top:var(--spacing-12)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pr-2{padding-right:var(--spacing-2)}.pb-2{padding-bottom:var(--spacing-2)}.pb-3{padding-bottom:var(--spacing-3)}.pb-6{padding-bottom:var(--spacing-6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-12{padding-bottom:var(--spacing-12)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pl-3{padding-left:var(--spacing-3)}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-display)}.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-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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-\[length\:min\(var\(--text-5xl\)\,calc\(12\.5vw-8px\)\)\]{font-size:min(var(--text-5xl), calc(12.5vw - 8px))}.leading-6{--tw-leading:var(--leading-6);line-height:var(--leading-6)}.leading-7{--tw-leading:var(--leading-7);line-height:var(--leading-7)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-action{--tw-leading:var(--leading-action);line-height:var(--leading-action)}.leading-body-sm{--tw-leading:var(--leading-body-sm);line-height:var(--leading-body-sm)}.leading-caption{--tw-leading:var(--leading-caption);line-height:var(--leading-caption)}.leading-hero{--tw-leading:var(--leading-hero);line-height:var(--leading-hero)}.leading-none{--tw-leading:1;line-height:1}.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-hero{--tw-tracking:var(--tracking-hero);letter-spacing:var(--tracking-hero)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-pretty{text-wrap:pretty}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-foreground{color:var(--color-foreground)}.text-gray-200{color:var(--color-gray-200)}.text-gray-800{color:var(--color-gray-800)}.text-heading{color:var(--color-heading)}.text-slate-200{color:var(--color-slate-200)}.text-text-muted{color:var(--color-text-muted)}.text-text-secondary{color:var(--color-text-secondary)}.opacity-80{opacity:var(--opacity-80)}.shadow-card{--tw-shadow:inset 0 1px 2px var(--tw-shadow-color,#ffffff3d), inset 0 1px 0 var(--tw-shadow-color,#ffffff1a), inset 0 -2px 2px var(--tw-shadow-color,#99a1af14), inset 0 -1px 1px var(--tw-shadow-color,#99a1af24), 0 0 0 .5px var(--tw-shadow-color,#99a1af3d)}@supports (color:color-mix(in lab, red, red)){.shadow-card{--tw-shadow:inset 0 1px 2px var(--tw-shadow-color,color-mix(in srgb, var(--color-white) 24%, transparent)), inset 0 1px 0 var(--tw-shadow-color,color-mix(in srgb, var(--color-white) 10%, transparent)), inset 0 -2px 2px var(--tw-shadow-color,color-mix(in srgb, var(--color-gray-400) 8%, transparent)), inset 0 -1px 1px var(--tw-shadow-color,color-mix(in srgb, var(--color-gray-400) 14%, transparent)), 0 0 0 .5px var(--tw-shadow-color,color-mix(in srgb, var(--color-gray-400) 24%, transparent))}}.shadow-card{box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{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-\[background-color\,box-shadow\,scale\]{transition-property:background-color,box-shadow,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[box-shadow\,scale\]{transition-property:box-shadow,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\(--duration-press\){--tw-duration:var(--duration-press);transition-duration:var(--duration-press)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-out-strong{--tw-ease:var(--ease-out-strong);transition-timing-function:var(--ease-out-strong)}@media (hover:hover){.hover\:text-\[\#0a66c2\]:hover{color:#0a66c2}.hover\:text-\[\#2da44e\]:hover{color:#2da44e}.hover\:text-\[\#E1306C\]:hover{color:#e1306c}.hover\:text-\[\#ea4c89\]:hover{color:#ea4c89}.hover\:text-sky-500:hover{color:var(--color-sky-500)}.hover\:text-white:hover{color:var(--color-white)}}.active\:scale-97:active{--tw-scale-x:97%;--tw-scale-y:97%;--tw-scale-z:97%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-98:active{--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:opacity-30:disabled{opacity:var(--opacity-30)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (width>=640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.md\:left-8{left:calc(var(--spacing) * 8)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-6{padding:var(--spacing-6)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:p-12{padding:var(--spacing-12)}.md\:px-6{padding-inline:var(--spacing-6)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (width>=1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-start-2{grid-column-start:2}.lg\:mb-0{margin-bottom:var(--spacing-0)}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:w-1\/2{width:50%}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:shrink-0{flex-shrink:0}.lg\:grow{flex-grow:1}.lg\:auto-cols-auto{grid-auto-columns:auto}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[var\(--container-sidebar\)_minmax\(0\,1fr\)\]{grid-template-columns:var(--container-sidebar) minmax(0,1fr)}.lg\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:justify-start{justify-content:flex-start}.lg\:gap-12{gap:var(--spacing-12)}.lg\:gap-y-0{row-gap:var(--spacing-0)}.lg\:p-0{padding:var(--spacing-0)}.lg\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.lg\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media (width>=1280px){.xl\:w-1\/3{width:33.3333%}}.\[\&_a\]\:border-b a{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_a\]\:border-text-secondary a{border-color:var(--color-text-secondary)}.\[\&_a\]\:pb-1 a{padding-bottom:var(--spacing-1)}.\[\&_a\]\:font-semibold a{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_a\]\:transition-colors a{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))}.\[\&_a\]\:duration-\(--duration-fast\) a{--tw-duration:var(--duration-fast);transition-duration:var(--duration-fast)}.\[\&_a\]\:ease-\[ease\] a{--tw-ease:ease;transition-timing-function:ease}.\[\&_a\:hover\]\:text-text-secondary a:hover{color:var(--color-text-secondary)}.\[\&\+\&\]\:mt-6+.\[\&\+\&\]\:mt-6{margin-top:var(--spacing-6)}}@font-face{font-family:Paper Mono;src:url(/font/PaperMono-Regular.woff2)format("woff2");font-display:swap}.paper-shader-bg{z-index:0;pointer-events:none;opacity:var(--opacity-30);background:var(--gradient-page);position:fixed;inset:0;overflow:hidden}@keyframes fade-in{0%{opacity:0}}.paper-shader-bg__canvas{animation:fade-in var(--duration-slow) var(--ease-out-strong) backwards;position:absolute;inset:0}.paper-shader-bg canvas{width:100%!important;height:100%!important}.primary-button{color:var(--color-on-primary);background:var(--gradient-button-primary);box-shadow:var(--shadow-button-primary)}.secondary-button{color:var(--color-foreground);background:var(--color-button-secondary);box-shadow:var(--shadow-button-secondary)}.social-button{isolation:isolate;position:relative}.social-button:before{content:"";z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease;position:absolute;inset:0}.social-button svg{transition:color var(--duration-fast) ease}.social-button--github:before{background:var(--color-brand-github)}.social-button--linkedin:before{background:var(--color-brand-linkedin)}.social-button--instagram:before{background:var(--gradient-brand-instagram)}.social-button--resume:before{background:var(--color-brand-resume)}.social-button:focus-visible{color:var(--color-white)}.social-button:focus-visible:before{opacity:1}@property --mail-morph{syntax:"<number>";inherits:false;initial-value:0}.mail-icon{transition:--mail-morph var(--duration-hover) var(--ease-travel)}.mail-button:focus-visible .mail-icon{--mail-morph:1}@media (prefers-reduced-motion:reduce){.mail-icon{transition:--mail-morph 1ms step-start}}@media (hover:hover) and (pointer:fine){.mail-button:hover .mail-icon{--mail-morph:1}.primary-button:hover{background:var(--gradient-button-primary-hover)}.secondary-button:hover{background:var(--color-button-secondary-hover)}.social-button:hover{color:var(--color-white)}.social-button:hover:before{opacity:1}}.project-card{height:var(--container-card);background-color:var(--color-surface-card)}.project-card__body{background-color:var(--color-surface-preview);padding:var(--spacing-4);flex:1;display:flex}@media (width>=768px){.project-card__body{padding:var(--spacing-6)}}.project-card__fill{inset:var(--open-top,50%) var(--open-right,50%) var(--open-bottom,50%) var(--open-left,50%);border-radius:var(--radius-sm);background:var(--color-accent-subtle);outline:var(--border-hairline) solid var(--color-accent-border);outline-offset:calc(var(--border-hairline) * -1);opacity:0;pointer-events:none;transition:inset var(--duration-fast) var(--ease-out-strong), border-radius var(--duration-fast) var(--ease-out-strong), opacity var(--duration-fast) step-end;position:absolute}.project-card__open{outline:var(--border-hairline) solid var(--color-accent-border);outline-offset:calc(var(--border-hairline) * -1);transition:background-color 0s var(--duration-fast), outline-color 0s var(--duration-fast)}a.project-card:focus-visible .project-card__fill{border-radius:var(--radius-xl);opacity:1;transition:inset var(--duration-hover) var(--ease-out-strong), border-radius var(--duration-hover) var(--ease-out-strong), opacity 0s;inset:0}a.project-card:focus-visible .project-card__open{background:0 0;outline-color:#0000;transition:none}@media (hover:hover) and (pointer:fine){a.project-card:hover,.hero:has(.hero__group--work:hover) .project-card--work,.hero:has(.hero__group--side:hover) .project-card--side{background:var(--color-surface-card-hover)}.hero:has(.hero__group--work:hover) .project-card--work,.hero:has(.hero__group--side:hover) .project-card--side{--tw-shadow:var(--shadow-card-highlight)}a.project-card:hover .project-card__fill,.hero:has(.hero__group--work:hover) .project-card--work .project-card__fill,.hero:has(.hero__group--side:hover) .project-card--side .project-card__fill{border-radius:var(--radius-xl);opacity:1;transition:inset var(--duration-hover) var(--ease-out-strong), border-radius var(--duration-hover) var(--ease-out-strong), opacity 0s;inset:0}a.project-card:hover .project-card__open,.hero:has(.hero__group--work:hover) .project-card--work .project-card__open,.hero:has(.hero__group--side:hover) .project-card--side .project-card__open{background:0 0;outline-color:#0000;transition:none}.hero__group{color:var(--color-accent);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent-outline);-webkit-text-decoration-color:var(--color-accent-outline);text-decoration-color:var(--color-accent-outline);text-underline-offset:4px;transition:text-decoration-color var(--duration-fast) ease;font-weight:600}.hero__group:hover{-webkit-text-decoration-color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}}.project-card__body{outline:var(--border-hairline) solid var(--color-surface-card);outline-offset:calc(var(--border-hairline) * -1)}.project-card__body:before{content:"";border-radius:var(--radius-xs);background-color:var(--color-surface-preview-overlay);background-image:var(--pattern-dot-grid);background-size:var(--pattern-dot-grid-size);outline:var(--border-hairline) solid var(--color-border-subtle);outline-offset:calc(var(--border-hairline) * -1);position:absolute;inset:0}.project-card__body>*{position:relative}.project-card--feature{height:auto}.project-card--feature .project-card__body{height:var(--container-preview);outline-color:var(--color-border-subtle);flex:none;align-items:flex-start}.card-shot{border-radius:var(--radius-sm);background:var(--color-surface-preview-inner);width:100%;box-shadow:var(--shadow-preview);outline:var(--border-hairline) solid var(--color-border-preview);overflow:hidden}.card-shot img{width:100%;max-width:none;height:auto;display:block}.project-card--play{height:var(--container-preview)}.project-card--play .project-card__body{border:var(--spacing-6) solid transparent;background:var(--color-frost) padding-box;box-shadow:var(--shadow-frame);border-image:url(/panepanic/window-frame-card.webp) 78 86 83;border-radius:0;outline:none;padding:0}.project-card--play .project-card__body:before{content:none}.project-card--photo .project-card__body{padding:0}.project-card--photo .project-card__body:before{content:none}.project-card--terminal{background:var(--color-terminal-surface);height:auto}@media (hover:hover) and (pointer:fine){a.project-card--terminal:hover,.hero:has(.hero__group--side:hover) .project-card--side.project-card--terminal{background:var(--color-terminal-surface-hover)}}.project-card--terminal .project-card__header h2,.project-card--terminal .project-card__header p{color:var(--color-on-primary)}.project-card--terminal .project-card__open{mix-blend-mode:plus-lighter}.project-card--terminal .project-card__body{padding:var(--spacing-4);background:var(--color-terminal-panel);outline-color:var(--color-terminal-border);flex:none;display:block}.project-card--terminal .project-card__body:before{content:none}.shask{color:var(--color-terminal-text);font-family:var(--font-terminal);font-feature-settings:"ss01" 1, "ss04" 1, "zero" 1;font-size:var(--text-terminal);line-height:var(--leading-body-sm);white-space:pre;margin:0;overflow-x:auto}.shask .is-prompt{color:var(--color-terminal-prompt)}.shask .is-command{color:var(--color-terminal-command)}.shask .is-muted{color:var(--color-terminal-muted)}.shask .is-code{color:var(--color-terminal-code)}.shask__cursor{width:var(--spacing-2);height:var(--leading-4);vertical-align:text-bottom;background:var(--color-terminal-text);display:inline-block}.shask__cursor--blink{animation:terminal-blink var(--duration-blink) steps(1) infinite}@keyframes terminal-blink{50%{opacity:0}}@keyframes page-enter{0%{opacity:0;translate:0 var(--spacing-4)}}.hero__intro>:first-child,.hero__location,.mail-button,.social-button,.hero__projects .project-card{animation:page-enter var(--duration-page-enter) var(--ease-out-strong) backwards;animation-delay:calc(var(--stagger-enter) * var(--enter-step,0))}.hero__projects .project-card--feature{--enter-step:1}.hero__projects>:nth-child(1 of .project-grid) .project-card{--enter-step:2}.hero__projects .project-card--terminal{--enter-step:3}.hero__projects .project-card--play{--enter-step:4}.hero__projects>:nth-child(2 of .project-grid) .project-card{--enter-step:5}.hero__location,.mail-button,.social-button{animation-delay:calc(var(--stagger-enter) + var(--stagger-enter-item) * var(--enter-item,0))}.mail-button{--enter-item:1}.social-button:nth-child(1 of .social-button){--enter-item:2}.social-button:nth-child(2 of .social-button){--enter-item:3}.social-button:nth-child(3 of .social-button){--enter-item:4}.social-button:nth-child(4 of .social-button){--enter-item:5}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}a.project-card .project-card__fill,a.project-card:hover .project-card__fill,a.project-card:focus-visible .project-card__fill{border-radius:var(--radius-xl);transition:opacity var(--duration-fast) ease;inset:0}a.project-card .project-card__open,a.project-card:hover .project-card__open,a.project-card:focus-visible .project-card__open{transition:none}.shask__cursor--blink{animation:none}.hero__intro>:first-child,.hero__location,.mail-button,.social-button,.hero__projects .project-card{animation-name:fade-in;animation-duration:var(--duration-enter);animation-delay:0s}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{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}@keyframes gradient{0%,to{background-position:0;background-size:400% 400%}50%{background-position:100%;background-size:200% 200%}}.ill{width:100%;height:100%;font-family:var(--font-sans);display:block;overflow:visible}.ill *{transform-box:fill-box}.ill-paper{fill:var(--color-surface);stroke:var(--color-border-subtle);stroke-width:var(--ill-stroke-hairline);filter:var(--shadow-illustration-paper)}.ill-rule{stroke:var(--color-surface-card);stroke-width:var(--ill-stroke-hairline)}.ill-bar{fill:var(--color-gray-200)}.ill-bar--soft{fill:var(--color-gray-100)}.ill-dot{fill:var(--color-gray-300)}.ill-dot--accent{fill:var(--color-accent)}.ill-title{fill:var(--color-project-title);font-family:var(--font-display);font-size:var(--ill-text-title);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-normal)}.ill-meta{fill:var(--color-gray-400);font-family:var(--font-mono);font-size:var(--ill-text-meta)}.ill-meta--accent{fill:var(--color-accent)}.ill-value{fill:var(--color-project-title);font-family:var(--font-display);font-size:var(--ill-text-value);font-weight:var(--font-weight-semibold)}.ill-pill{fill:var(--color-accent)}.ill-pill__label{fill:var(--color-on-primary);font-family:var(--font-display);font-size:var(--ill-text-label);font-weight:var(--font-weight-semibold)}.ill-tag{fill:var(--color-surface-card)}.ill-tag__label{fill:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--ill-text-meta);letter-spacing:var(--tracking-widest)}.ill-db__body{fill:var(--color-surface);stroke:var(--color-gray-400);stroke-width:var(--ill-stroke-hairline)}.ill-db__band{fill:none;stroke:var(--color-gray-300);stroke-width:var(--ill-stroke-hairline)}.ill-db__top{fill:var(--color-gray-100);stroke:var(--color-gray-400);stroke-width:var(--ill-stroke-hairline)}.ill-warning path:first-child{fill:var(--color-accent);stroke:var(--color-accent);stroke-width:var(--ill-stroke-regular);stroke-linejoin:round}.ill-warning__mark{fill:none;stroke:var(--color-on-primary);stroke-width:var(--ill-stroke-regular);stroke-linecap:round}.ill-check circle{fill:var(--color-gray-100)}.ill-check path{fill:none;stroke:var(--color-gray-400);stroke-width:var(--ill-stroke-regular);stroke-linecap:round;stroke-linejoin:round}.ill-row__flag{fill:var(--color-accent-soft)}.ill-working{opacity:0}.ill-progress{fill:var(--color-gray-100)}.ill-progress__bar{fill:var(--color-accent-soft)}.ill-wire{fill:none;stroke:var(--color-gray-300);stroke-width:var(--ill-stroke-hairline)}.ill-packet{fill:none;stroke:var(--color-accent);stroke-width:var(--ill-stroke-bold);stroke-linecap:round;stroke-dasharray:var(--ill-dash-packet);stroke-dashoffset:-100px}.ill-orbit{fill:none;stroke:var(--color-gray-300);stroke-width:var(--ill-stroke-hairline);stroke-dasharray:var(--ill-dash-orbit)}.ill-merge{fill:var(--color-surface);stroke:var(--color-accent);stroke-width:var(--ill-stroke-bold)}.ill-merge__pulse{fill:var(--color-accent-soft)}.ill-clause{fill:var(--color-surface-preview-inner);stroke:var(--color-border-subtle);stroke-width:var(--ill-stroke-hairline)}.ill-clause--empty{fill:none;stroke:var(--color-gray-300);stroke-dasharray:var(--ill-dash-slot)}.ill-clause--active{fill:var(--color-surface);stroke:var(--color-accent-outline)}.ill-clause__edge{fill:var(--color-accent)}.ill-token{fill:var(--color-accent-soft);stroke:var(--color-accent-outline);stroke-width:var(--ill-stroke-hairline)}.ill-token__label{fill:var(--color-accent);font-family:var(--font-mono);font-size:var(--ill-text-token)}.ill-trail{fill:none;stroke:var(--color-accent-outline);stroke-width:var(--ill-stroke-hairline);stroke-dasharray:var(--ill-dash-trail);opacity:0}.ill-signature{fill:none;stroke:var(--color-project-title);stroke-width:var(--ill-stroke-regular);stroke-linecap:round;stroke-linejoin:round}.ill-node__frame{fill:var(--color-surface);stroke:var(--color-gray-300);stroke-width:var(--ill-stroke-hairline);transition:stroke var(--duration-base) ease}.ill-node__glyph{fill:none;stroke:var(--color-gray-400);stroke-width:var(--ill-stroke-hairline);stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--duration-base) ease}.ill-node.is-active .ill-node__frame{stroke:var(--color-accent-outline)}.ill-node.is-active .ill-node__glyph{stroke:var(--color-accent)}.ill-node__label{fill:var(--color-project-title);font-family:var(--font-mono);font-size:var(--ill-text-meta);letter-spacing:var(--tracking-widest)}.ill-node__frame--product{stroke:var(--color-accent-border)}.ill-mark{fill:none;stroke-linecap:round;stroke-linejoin:round}.ill-mark__accent{fill:var(--color-accent);stroke:none}.ill-trace{fill:none;stroke:var(--color-gray-300);stroke-width:var(--ill-stroke-hairline);stroke-dasharray:var(--ill-dash-trail)}.ill-trace.is-held{fill:var(--color-accent-subtle);stroke:var(--color-accent-border);stroke-dasharray:none}.ill-trace__mark{stroke:var(--color-gray-400);stroke-width:var(--ill-stroke-regular)}.ill-halo{fill:var(--color-accent-subtle);stroke:var(--color-accent-border);stroke-width:var(--ill-stroke-hairline);transition:fill var(--duration-slow) ease, stroke var(--duration-slow) ease}.ill-halo.is-received{fill:var(--color-accent-soft);stroke:var(--color-accent-outline)}.ill-spoke{fill:none;stroke:var(--color-accent);stroke-width:var(--ill-stroke-regular);stroke-dasharray:100 100}.ill-socket{fill:var(--color-surface);stroke:var(--color-gray-300);stroke-width:var(--ill-stroke-hairline)}.ill-socket.is-active{fill:var(--color-accent);stroke:var(--color-accent)}.ill-lifecycle{fill:var(--color-gray-200);transition:fill var(--duration-slow) ease}.ill-lifecycle.is-done{fill:var(--color-accent)}@media (prefers-reduced-motion:no-preference){.ill-db{animation:ill-db-pulse var(--ill-loop-flow) ease-in-out infinite;animation-delay:calc(var(--i) * var(--ill-stagger-flow))}.ill-packet{animation:ill-flow var(--ill-loop-flow) linear infinite;animation-delay:calc(var(--i) * var(--ill-stagger-flow))}.ill-row{animation:ill-row var(--ill-loop-report) ease-out infinite both;animation-delay:calc(var(--i) * var(--ill-stagger-row))}.ill-row .ill-warning{transform-origin:50%;animation:ill-pop var(--ill-loop-report) ease-out infinite both;animation-delay:calc(var(--i) * var(--ill-stagger-row))}.ill-working{animation:ill-working var(--ill-loop-report) ease-out infinite both;animation-delay:calc(var(--i) * var(--ill-stagger-row))}.ill-progress__bar{animation:ill-scan var(--ill-loop-flow) ease-in-out infinite alternate}.ill-orbit{animation:ill-orbit var(--ill-loop-orbit) linear infinite}.ill-merge__pulse{transform-origin:50%;animation:ill-pulse var(--ill-loop-flow) ease-out infinite}.ill--dd .ill-moving{transform-origin:0 0;animation:dd-move var(--ill-loop-story) var(--ease-travel) infinite}.ill--dd .ill-doc__after{animation:dd-gap var(--ill-loop-story) var(--ease-travel) infinite}.ill--dd .ill-trail{animation:dd-trail var(--ill-loop-story) ease-in-out infinite}.ill--dd .ill-tpl{animation:dd-template var(--ill-loop-story) ease-in-out infinite}.ill--dd .ill-letter{animation:dd-letter var(--ill-loop-story) ease-in-out infinite}.ill--dd .ill-signature{stroke-dasharray:100;animation:dd-sign var(--ill-loop-story) ease-in-out infinite}.ill--dd .ill-badge{transform-origin:50%;animation:dd-badge var(--ill-loop-story) ease-out infinite}}.is-offscreen .ill,.is-offscreen .ill *{animation-play-state:paused}@keyframes ill-flow{0%{stroke-dashoffset:6px}to{stroke-dashoffset:-100px}}@keyframes ill-db-pulse{0%,20%,to{transform:none}10%{transform:translateY(var(--ill-bob))}}@keyframes ill-row{0%,10%{opacity:0;transform:translateX(var(--ill-slide))}16%,80%{opacity:1;transform:none}88%,to{opacity:0;transform:none}}@keyframes ill-working{0%,10%{opacity:1}16%,80%{opacity:0}88%,to{opacity:1}}@keyframes ill-scan{to{transform:translate(200%)}}@keyframes ill-pop{0%,16%{opacity:0;transform:scale(.6)}21%{opacity:1;transform:scale(1.08)}25%,to{transform:none}}@keyframes ill-orbit{to{stroke-dashoffset:-60px}}@keyframes ill-pulse{0%{opacity:1;transform:scale(.6)}40%,to{opacity:0;transform:scale(1.8)}}@keyframes dd-move{0%,6%{opacity:1;transform:translate(var(--travel-x), var(--travel-y)) scale(var(--travel-scale-x), var(--travel-scale-y))}11%{opacity:1;transform:translate(var(--travel-x), calc(var(--travel-y) + var(--ill-slide))) scale(var(--travel-scale-x), var(--travel-scale-y))}30%,90%{opacity:1;transform:none}95%{opacity:0;transform:none}96%,to{opacity:0;transform:translate(var(--travel-x), var(--travel-y)) scale(var(--travel-scale-x), var(--travel-scale-y))}}@keyframes dd-gap{0%,14%{transform:translateY(var(--travel-gap))}30%,90%{transform:none}98%,to{transform:translateY(var(--travel-gap))}}@keyframes dd-trail{0%,8%{opacity:0}14%,26%{opacity:1}34%,to{opacity:0}}@keyframes dd-template{0%,42%{opacity:1}45%,92%{opacity:0}98%,to{opacity:1}}@keyframes dd-letter{0%,43%{opacity:0}47%,90%{opacity:1}95%,to{opacity:0}}@keyframes dd-sign{0%,50%{stroke-dashoffset:100px}62%,90%{stroke-dashoffset:0;opacity:1}95%,to{stroke-dashoffset:0;opacity:0}}@keyframes dd-badge{0%,62%{opacity:0;transform:scale(.6)}66%{opacity:1;transform:scale(1.08)}69%,90%{opacity:1;transform:scale(1)}95%,to{opacity:0;transform:scale(1)}}.backoffice{aspect-ratio:1440/660;border-radius:var(--radius-sm);background:var(--color-gray-50);width:100%;box-shadow:var(--shadow-preview);outline:var(--border-hairline) solid var(--color-border-preview);position:relative;overflow:hidden}.backoffice__stage{width:1440px;height:660px;transform:scale(var(--bo-scale,.6));transform-origin:0 0;font-family:var(--font-sans);position:absolute;top:0;left:0}.backoffice__screen{width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.backoffice__active{border-left:3px solid var(--color-bo-primary);background:color-mix(in srgb, var(--color-bo-primary) 9%, transparent);width:279px;height:40px;transition:transform var(--duration-fast) var(--ease-travel);position:absolute;top:0;left:0}.backoffice__track{position:absolute;inset:0;overflow:visible}.backoffice__track line{stroke-width:2px}.backoffice__track line.is-pending{stroke:var(--color-gray-300)}.backoffice__track line.is-done{stroke:var(--color-bo-primary)}.backoffice__track circle.is-done{fill:var(--color-bo-primary)}.backoffice__track circle.is-pending{fill:none;stroke:var(--color-gray-300);stroke-width:2px}.backoffice__pin{fill:none;stroke:var(--color-bo-today);stroke-width:1.7px}.backoffice__pin circle{fill:var(--color-bo-today);stroke:none}.backoffice__pin text{fill:var(--color-bo-today);stroke:none;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);text-anchor:middle}.backoffice__tasks{color:var(--color-bo-primary);font-size:var(--text-sm);line-height:1;position:absolute;translate:-50% -50%}.backoffice__product{align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-pill);color:var(--color-heading);background:var(--color-surface);box-shadow:var(--shadow-preview);outline:var(--border-hairline) solid var(--color-accent-border);font-size:var(--text-base);font-weight:var(--font-weight-semibold);white-space:nowrap;transform-origin:0;animation:backoffice-pop var(--duration-enter) var(--ease-out-strong);display:flex;position:absolute;left:150px;translate:0 -50%}.backoffice__product svg{width:var(--spacing-6);height:var(--spacing-6)}.backoffice__product .ill-mark{stroke:var(--color-text-secondary);stroke-width:1px}.backoffice__cursor{width:24px;height:33px;position:absolute;top:0;left:0}.backoffice__cursor svg{fill:var(--color-black);stroke:var(--color-white);stroke-width:1.2px;filter:var(--shadow-illustration-lift);position:absolute;inset:0;overflow:visible}.backoffice__cursor i{border:3px solid var(--color-accent);border-radius:var(--radius-pill);opacity:0;width:44px;height:44px;position:absolute;top:0;left:0;translate:-50% -50%}@keyframes backoffice-pop{0%{opacity:0;transform:scale(.95)}}.colorami{position:absolute;inset:0;overflow:hidden;container-type:size}.colorami img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.colorami__line{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-4);letter-spacing:var(--tracking-tight);white-space:pre;margin:0;position:absolute;top:0;left:0;right:0;overflow:hidden}.panepanic{justify-content:center;align-self:stretch;align-items:center;width:100%;display:flex;position:relative}.panepanic__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.panepanic__hud{top:var(--spacing-2);gap:var(--spacing-3);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-pill);color:var(--color-on-primary);background:var(--color-hud-surface);backdrop-filter:blur(var(--blur-xs));font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-4);white-space:nowrap;margin:0;display:flex;position:absolute;left:50%;transform:translate(-50%)}.panepanic__hud>span:first-child{color:var(--color-ember-400)}.panepanic__hud{transition:opacity var(--duration-slow) ease}.panepanic.is-complete .panepanic__hud{opacity:0}.panepanic.is-offline .panepanic__hud{display:none}@media (prefers-reduced-motion:reduce){.backoffice__product{animation:none}.backoffice__active,.panepanic__hud{transition:none}}.keyboard{position:absolute;inset:0}.keyboard canvas{display:block}
