@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_49a339{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_49a339{--font-space-grotesk:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_e896d9{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_e896d9{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}

/*! tailwindcss v4.1.9 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:forwards;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--font-mono:var(--font-jetbrains-mono),ui-monospace,monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-space-grotesk),system-ui,sans-serif;--default-mono-font-family:var(--font-jetbrains-mono),ui-monospace,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,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,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:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}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}:-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);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background:var(--hh-bg);color:var(--hh-ink);font-feature-settings:"liga" 1,"calt" 1}::selection{color:var(--hh-ink);background:oklch(78% .11 180/.28)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.w-fit{width:fit-content}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-6{gap:calc(var(--spacing)*6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.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)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;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))}.outline-none{--tw-outline-style:none;outline-style:none}.running{animation-play-state:running}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:forwards}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:oklch(11% .012 255);--foreground:oklch(93% .006 255);--card:oklch(14% .014 255);--card-foreground:oklch(93% .006 255);--popover:oklch(14% .014 255);--popover-foreground:oklch(93% .006 255);--primary:oklch(78% .11 180);--primary-foreground:oklch(14% .03 180);--secondary:oklch(18% .012 255);--secondary-foreground:oklch(93% .006 255);--muted:oklch(18% .012 255);--muted-foreground:oklch(62% .012 255);--accent:oklch(78% .11 180);--accent-foreground:oklch(14% .03 180);--destructive:oklch(60% .2 25);--destructive-foreground:oklch(14% .012 255);--border:oklch(24% .014 255);--input:oklch(18% .012 255);--ring:oklch(78% .11 180);--chart-1:oklch(78% .11 180);--chart-2:oklch(78% .13 70);--chart-3:oklch(60% .2 280);--chart-4:oklch(70% .2 60);--chart-5:oklch(60% .25 25);--radius:.25rem;--hh-bg:oklch(11% .012 255);--hh-bg-raised:oklch(14% .014 255);--hh-bg-elevated:oklch(17% .014 255);--hh-ink:oklch(93% .006 255);--hh-ink-soft:oklch(68% .012 255);--hh-ink-faint:oklch(46% .012 255);--hh-line:oklch(24% .014 255);--hh-line-bright:oklch(30% .016 255);--hh-accent:oklch(78% .11 180);--hh-accent-bright:oklch(84% .12 180);--hh-accent-glow:oklch(78% .11 180/.4);--hh-on-accent:oklch(16% .03 180);--sidebar:oklch(14% .014 255);--sidebar-foreground:oklch(93% .006 255);--sidebar-primary:oklch(78% .11 180);--sidebar-primary-foreground:oklch(14% .03 180);--sidebar-accent:oklch(18% .012 255);--sidebar-accent-foreground:oklch(78% .11 180);--sidebar-border:oklch(24% .014 255);--sidebar-ring:oklch(78% .11 180)}.dark{--background:var(--hh-bg);--foreground:var(--hh-ink);--card:var(--hh-bg-raised);--card-foreground:var(--hh-ink);--popover:var(--hh-bg-raised);--popover-foreground:var(--hh-ink);--primary:var(--hh-accent);--primary-foreground:var(--hh-on-accent);--secondary:var(--hh-bg-elevated);--secondary-foreground:var(--hh-ink);--muted:var(--hh-bg-elevated);--muted-foreground:var(--hh-ink-faint);--accent:var(--hh-accent);--accent-foreground:var(--hh-on-accent);--border:var(--hh-line);--input:var(--hh-bg-elevated);--ring:var(--hh-accent)}.mono{font-family:var(--font-mono)}.bg-grid{background-image:radial-gradient(oklch(93% .006 255/.06) 1px,#0000 0);background-size:26px 26px;inset:0}.bg-glow,.bg-grid{z-index:0;pointer-events:none;position:fixed}.bg-glow{background:radial-gradient(circle,var(--hh-accent-glow),transparent 68%);opacity:.18;filter:blur(10px);border-radius:50%;width:900px;height:900px;animation:hh-drift 22s ease-in-out infinite alternate;top:-320px;left:-200px}@keyframes hh-drift{0%{transform:translate(0)}to{transform:translate(180px,140px)}}.hh-shell{z-index:1;max-width:1440px;margin:0 auto;position:relative}.hh-container{max-width:1040px;margin:0 auto;padding:0 24px}@media (min-width:768px){.hh-container{padding:0 64px}}.status-dot{background:var(--hh-accent);width:7px;height:7px;box-shadow:0 0 0 0 var(--hh-accent-glow);border-radius:50%;flex-shrink:0;animation:hh-pulse 2.2s ease-in-out infinite;display:inline-block}@keyframes hh-pulse{0%{box-shadow:0 0 0 0 var(--hh-accent-glow)}70%{box-shadow:0 0 0 8px oklch(78% .11 180/0)}to{box-shadow:0 0 oklch(78% .11 180/0)}}.hh-nav{border-bottom:1px solid var(--hh-line);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}@media (min-width:768px){.hh-nav{padding:22px 64px}}.nav-brand{gap:12px}.nav-brand,.nav-mark{align-items:center;display:flex}.nav-mark{border:1px solid var(--hh-line-bright);width:28px;height:28px;font-family:var(--font-mono);color:var(--hh-accent);justify-content:center;font-size:11px}.nav-name{letter-spacing:.01em;font-size:14px;font-weight:600}.nav-links{align-items:center;gap:36px;display:none}@media (min-width:768px){.nav-links{display:flex}}.nav-link{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--hh-ink-soft);font-size:12px;transition:color .15s}.nav-link:hover{color:var(--hh-accent)}.btn{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--hh-line-bright);align-items:center;gap:10px;padding:13px 26px;font-size:12px;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:relative;overflow:hidden}.btn-solid{background:var(--hh-accent);color:var(--hh-on-accent);border-color:var(--hh-accent);font-weight:600}.btn-solid:hover{background:var(--hh-accent-bright);border-color:var(--hh-accent-bright);color:var(--hh-on-accent)}.btn-ghost{color:var(--hh-ink)}.btn-ghost:hover{border-color:var(--hh-accent);color:var(--hh-accent)}.hero{grid-template-columns:1fr;align-items:start;gap:48px;padding:72px 24px 64px;display:grid}@media (min-width:1024px){.hero{grid-template-columns:1.25fr .95fr;gap:72px;padding:110px 64px 96px}}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hh-ink-faint);border:1px solid var(--hh-line-bright);align-items:center;gap:9px;margin-bottom:32px;padding:7px 14px;font-size:11px;display:inline-flex}.hero h1{letter-spacing:-.01em;color:var(--hh-ink);margin:0;font-size:42px;font-weight:700;line-height:1.02}@media (min-width:768px){.hero h1{font-size:60px}}.role-rotator{height:30px;font-family:var(--font-mono);color:var(--hh-accent);align-items:center;margin-top:18px;font-size:16px;display:flex}.role-rotator .caret{color:var(--hh-ink-faint);flex-shrink:0}.role-track{flex:1;height:100%;position:relative}.role-rotator span.role{opacity:0;white-space:nowrap;animation:hh-role-cycle 12s infinite;position:absolute;top:50%;left:0;transform:translateY(-50%)}.role-rotator span.role:first-child{animation-delay:0s}.role-rotator span.role:nth-child(2){animation-delay:-9s}.role-rotator span.role:nth-child(3){animation-delay:-6s}.role-rotator span.role:nth-child(4){animation-delay:-3s}@keyframes hh-role-cycle{0%{opacity:0}3%{opacity:1}22%{opacity:1}27%{opacity:0}to{opacity:0}}.cursor-blink:after{content:"_";color:var(--hh-accent);animation:hh-blink 1s step-end infinite}@keyframes hh-blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-actions{flex-wrap:wrap;gap:20px;margin-top:38px}.hero-actions,.hero-meta{align-items:center;display:flex}.hero-meta{gap:16px;margin-top:36px}.hero-meta .sep{background:var(--hh-line-bright);width:1px;height:12px}.hero-meta .item{font-family:var(--font-mono);color:var(--hh-ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.panel{border:1px solid var(--hh-line-bright);background:var(--hh-bg-raised)}.panel-head{border-bottom:1px solid var(--hh-line-bright);justify-content:space-between;align-items:center;padding:13px 18px;display:flex}.panel-head .t{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--hh-ink-soft);font-size:10.5px}.panel-head .live{font-family:var(--font-mono);color:var(--hh-accent);align-items:center;gap:7px;font-size:10px;display:flex}.wave{background:var(--hh-bg-elevated);border-bottom:1px solid var(--hh-line-bright);width:100%;height:54px;display:block}.wave path{stroke-dasharray:6 5;animation:hh-waveflow 1.6s linear infinite}@keyframes hh-waveflow{to{stroke-dashoffset:-22px}}.panel-row{border-bottom:1px solid var(--hh-line);grid-template-columns:98px 1fr;gap:12px;padding:14px 18px;display:grid}.panel-row:last-child{border-bottom:none}.panel-row .k{letter-spacing:.05em;text-transform:uppercase;color:var(--hh-ink-faint);padding-top:2px;font-size:10.5px}.panel-row .k,.panel-row .v{font-family:var(--font-mono)}.panel-row .v{color:var(--hh-ink);align-items:center;gap:8px;font-size:12.5px;display:flex}.hh-section{padding:64px 24px}@media (min-width:768px){.hh-section{padding:88px 64px}}.hh-section+.hh-section{border-top:1px solid var(--hh-line)}.section-label{gap:14px;margin-bottom:48px}.section-chip,.section-label{align-items:center;display:flex}.section-chip{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--hh-line-bright);color:var(--hh-ink-faint);white-space:nowrap;gap:8px;padding:6px 12px;font-size:11px}.section-label h2{color:var(--hh-ink);margin:0;font-size:20px;font-weight:600}.section-label .rule{background:repeating-linear-gradient(90deg,var(--hh-line-bright)0 6px,transparent 6px 12px);flex:1;height:1px}.about-grid{grid-template-columns:1fr;gap:40px;display:grid}@media (min-width:1024px){.about-grid{grid-template-columns:.9fr 1.1fr;gap:72px}}.about-text p{color:var(--hh-ink-soft);font-size:16px;line-height:1.8}.about-text p+p{margin-top:16px}.spec-table{border-top:1px solid var(--hh-line)}.spec-row{border-bottom:1px solid var(--hh-line);grid-template-columns:150px 1fr;gap:20px;padding:18px 0;display:grid}.spec-row .k{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--hh-ink-faint);padding-top:3px;font-size:10.5px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--font-mono);border:1px solid var(--hh-line-bright);color:var(--hh-ink-soft);padding:5px 11px;font-size:11.5px;transition:border-color .15s,color .15s}.chip:hover{border-color:var(--hh-accent);color:var(--hh-accent)}.xp-list{border-top:1px solid var(--hh-line);border-left:1px solid var(--hh-line-bright);margin-left:2px;padding-left:32px}.xp-row{border-bottom:1px solid var(--hh-line);grid-template-columns:1fr;gap:8px;padding:30px 0;display:grid;position:relative}@media (min-width:768px){.xp-row{grid-template-columns:170px 1fr;gap:36px}}.xp-node{background:var(--hh-accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--hh-bg),0 0 10px var(--hh-accent-glow);border-radius:50%;animation:hh-pulse 2.4s ease-in-out infinite;position:absolute;top:38px;left:-37px}.xp-row:first-child .xp-node{animation-delay:0s}.xp-row:nth-child(2) .xp-node{animation-delay:.4s}.xp-row:nth-child(3) .xp-node{animation-delay:.8s}.xp-row:nth-child(4) .xp-node{animation-delay:1.2s}.xp-period{font-family:var(--font-mono);color:var(--hh-ink-faint);padding-top:3px;font-size:12px}.xp-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.xp-title{color:var(--hh-ink);font-size:18px;font-weight:600}.xp-company{color:var(--hh-accent);font-size:12px}.xp-company,.xp-loc{font-family:var(--font-mono)}.xp-loc{color:var(--hh-ink-faint);font-size:11.5px}.xp-desc{color:var(--hh-ink-soft);max-width:640px;margin-top:11px;font-size:14px;line-height:1.7}.proj-grid{background:var(--hh-line);border:1px solid var(--hh-line);grid-template-columns:1fr;gap:1px;display:grid}@media (min-width:768px){.proj-grid{grid-template-columns:1fr 1fr}}.proj-card{background:var(--hh-bg);padding:26px 26px 24px;transition:background .2s;display:block;position:relative;overflow:hidden}.proj-card:before{content:"";background:var(--hh-accent);transform-origin:0;height:2px;transition:transform .25s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.proj-card:hover:before{transform:scaleX(1)}.proj-card:hover{background:var(--hh-bg-raised)}.proj-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.proj-des{font-family:var(--font-mono);font-size:11px}.proj-arrow,.proj-des{color:var(--hh-ink-faint)}.proj-arrow{transition:color .2s,transform .2s}.proj-card:hover .proj-arrow{color:var(--hh-accent);transform:translate(2px,-2px)}.proj-title{color:var(--hh-ink);margin-bottom:12px;font-size:17px;font-weight:600;display:block}.proj-card:hover .proj-title{color:var(--hh-accent)}.proj-tags{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.proj-desc{color:var(--hh-ink-soft);font-size:13.5px;line-height:1.7}.hh-contact{text-align:center}.contact-head{flex-direction:column;align-items:center;gap:16px;margin-bottom:52px;display:flex}.hh-contact h2{color:var(--hh-ink);margin:0;font-size:28px;font-weight:700}@media (min-width:768px){.hh-contact h2{font-size:34px}}.contact-sub{color:var(--hh-ink-soft);max-width:420px;font-size:15px}.contact-links{flex-wrap:wrap;justify-content:center;gap:0}.contact-link,.contact-links{align-items:center;display:flex}.contact-link{flex-direction:column;gap:8px;padding:0 40px}.contact-link+.contact-link{border-left:1px solid var(--hh-line)}.contact-link .l{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--hh-ink-faint);font-size:10px}.contact-link .v{font-family:var(--font-mono);color:var(--hh-ink);font-size:14px}.contact-cta{margin-top:48px}.hh-footer{border-top:1px solid var(--hh-line);justify-content:space-between;align-items:center;padding:28px 24px;display:flex}@media (min-width:768px){.hh-footer{padding:28px 64px}}.hh-footer .mono{color:var(--hh-ink-faint);font-size:11.5px}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{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}