/*! tailwindcss v4.3.1 | 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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Manrope", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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);--font-display:"Space Grotesk", system-ui, sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.-top-24{top:calc(var(--spacing) * -24)}.top-0{top:0}.top-10{top:calc(var(--spacing) * 10)}.top-20{top:calc(var(--spacing) * 20)}.-right-32{right:calc(var(--spacing) * -32)}.right-0{right:0}.bottom-0{bottom:0}.-left-24{left:calc(var(--spacing) * -24)}.-left-40{left:calc(var(--spacing) * -40)}.left-1\/2{left:50%}.-z-10{z-index:calc(10 * -1)}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[72px\]{height:72px}.h-\[380px\]{height:380px}.h-\[420px\]{height:420px}.h-\[460px\]{height:460px}.h-\[520px\]{height:520px}.w-2{width:calc(var(--spacing) * 2)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-\[380px\]{width:380px}.w-\[420px\]{width:420px}.w-\[460px\]{width:460px}.w-\[520px\]{width:520px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}.gap-px{gap:1px}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--border\)\]{border-color:var(--border)}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-2\)\]{background-color:var(--surface-2)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.\!px-4{padding-inline:calc(var(--spacing) * 4)!important}.\!px-6{padding-inline:calc(var(--spacing) * 6)!important}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.\!py-2\.5{padding-block:calc(var(--spacing) * 2.5)!important}.\!py-3\.5{padding-block:calc(var(--spacing) * 3.5)!important}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-36{padding-top:calc(var(--spacing) * 36)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-12{padding-left:calc(var(--spacing) * 12)}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.\!text-base{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important}.\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[1\.05rem\]{font-size:1.05rem}.text-\[2\.7rem\]{font-size:2.7rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.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-\[\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-soft\)\]{color:var(--text-soft)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,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))}@media (width>=40rem){.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:p-9{padding:calc(var(--spacing) * 9)}.sm\:p-10{padding:calc(var(--spacing) * 10)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-28{padding-block:calc(var(--spacing) * 28)}.sm\:py-32{padding-block:calc(var(--spacing) * 32)}.sm\:pt-44{padding-top:calc(var(--spacing) * 44)}.sm\:pb-32{padding-bottom:calc(var(--spacing) * 32)}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-\[1\.7rem\]{font-size:1.7rem}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:pl-16{padding-left:calc(var(--spacing) * 16)}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[\.95fr_1\.05fr\]{grid-template-columns:.95fr 1.05fr}.lg\:grid-cols-\[1\.15fr_\.85fr\]{grid-template-columns:1.15fr .85fr}.lg\:grid-cols-\[1fr_1\.3fr\]{grid-template-columns:1fr 1.3fr}.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:gap-20{gap:calc(var(--spacing) * 20)}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.lg\:text-\[4\.3rem\]{font-size:4.3rem}}}*{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background-color:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;transition:background-color .45s,color .45s;overflow-x:hidden}::selection{background:var(--accent);color:var(--accent-ink)}.bg-grid{background-image:radial-gradient(ellipse 75% 60% at 50% 0%, transparent 38%, var(--bg) 82%), linear-gradient(var(--bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px);background-size:100% 100%,64px 64px,64px 64px}.text-gradient{background:linear-gradient(110deg, var(--accent) 0%, var(--accent-2) 100%);-webkit-text-fill-color:transparent;color:#0000;background-clip:text}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.glow{filter:blur(80px);opacity:.9;pointer-events:none;z-index:0;background:radial-gradient(circle, var(--glow), transparent 70%);border-radius:50%;position:absolute}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.55rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--accent-line);width:1.6rem;height:1px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}.card-hover:hover{border-color:var(--accent-line);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.chip{color:var(--text-soft);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .72rem;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600;line-height:1;transition:color .25s,border-color .25s,background .25s,transform .25s;display:inline-flex}.chip:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft);transform:translateY(-2px)}.nav-shell{border-bottom:1px solid #0000;transition:background-color .4s,border-color .4s,box-shadow .4s,backdrop-filter .4s}.nav-shell.scrolled{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.nav-shell.scrolled{background:color-mix(in srgb, var(--bg) 78%, transparent)}}.nav-shell.scrolled{-webkit-backdrop-filter:blur(14px)saturate(140%);border-bottom-color:var(--border)}.nav-link{color:var(--text-muted);font-size:.9rem;font-weight:600;transition:color .25s;position:relative}.nav-link:after{content:"";background:var(--accent);border-radius:2px;width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active:after{width:100%}.monogram{letter-spacing:-.02em;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--accent-ink);box-shadow:0 6px 20px var(--glow);font-family:Space Grotesk,sans-serif;font-weight:700}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.55rem;padding:.8rem 1.3rem;font-size:.92rem;font-weight:700;transition:all .25s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 24px var(--glow)}.btn-primary:hover{box-shadow:0 12px 30px var(--glow);filter:brightness(1.05);transform:translateY(-2px)}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-ghost:hover{border-color:var(--accent-line);color:var(--accent);transform:translateY(-2px)}.theme-toggle{cursor:pointer;width:42px;height:42px;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);border-radius:12px;place-items:center;transition:color .25s,border-color .25s,transform .25s;display:grid}.theme-toggle:hover{color:var(--accent);border-color:var(--accent-line);transform:rotate(-12deg)}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}.terminal{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:16px;font-family:JetBrains Mono,monospace;font-size:.82rem;overflow:hidden}.terminal-head{background:var(--term-head);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.7rem .9rem;display:flex}.dot{border-radius:50%;width:11px;height:11px}.term-line{line-height:1.85}.term-key{color:var(--accent)}.term-str{color:var(--text)}.term-num{color:var(--accent-2)}.term-mut{color:var(--text-muted)}.cursor-blink{vertical-align:-2px;background:var(--accent);width:8px;height:1.05em;animation:1.05s steps(2,start) infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.skill-row{margin-bottom:1.15rem}.skill-row:last-child{margin-bottom:0}.skill-track{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;height:8px;overflow:hidden}.skill-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:99px;width:0;height:100%;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.timeline{position:relative}.timeline:before{content:"";background:linear-gradient(var(--accent-line), var(--border), transparent);width:2px;position:absolute;top:8px;bottom:8px;left:19px}@media (width>=768px){.timeline:before{left:23px}}.tl-node{background:var(--accent);border:3px solid var(--bg);width:16px;height:16px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;position:absolute;top:4px;left:12px}@media (width>=768px){.tl-node{left:16px}}[data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(26px)}[data-reveal=left]{transform:translate(-32px)}[data-reveal=right]{transform:translate(32px)}[data-reveal=scale]{transform:scale(.94)}[data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important}html{scroll-behavior:auto}.skill-fill{transition:none}}.divider-dot{color:var(--border-strong)}.link-underline{color:var(--text-soft);transition:color .2s}.link-underline:hover{color:var(--accent)}.float-badge{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px}.mobile-menu{max-height:0;transition:max-height .4s;overflow:hidden}#nav-toggle:checked~.mobile-menu{max-height:420px}#nav-toggle:checked~nav .burger-open,#nav-toggle~nav .burger-close{display:none}#nav-toggle:checked~nav .burger-close{display:block}.chat-widget{z-index:60;position:fixed;bottom:22px;right:22px}.chat-fab{cursor:pointer;width:58px;height:58px;color:var(--accent-ink);background:linear-gradient(135deg, var(--accent), var(--accent-2));box-shadow:0 10px 30px var(--glow), 0 2px 8px #0003;border:none;border-radius:50%;place-items:center;margin-left:auto;transition:transform .25s,box-shadow .25s;display:grid;position:relative}.chat-fab:hover{transform:translateY(-2px)scale(1.04)}.chat-fab:before{content:"";box-shadow:0 0 0 0 var(--glow);border-radius:50%;animation:2.6s ease-out infinite fabpulse;position:absolute;inset:0}.chat-widget.open .chat-fab:before{animation:none}@keyframes fabpulse{0%{box-shadow:0 0 0 0 var(--glow)}70%{box-shadow:0 0 0 16px #0000}to{box-shadow:0 0 #0000}}.chat-fab .ic-close,.chat-widget.open .chat-fab .ic-chat{display:none}.chat-widget.open .chat-fab .ic-close{display:block}.chat-panel{background:var(--surface);border:1px solid var(--border);width:384px;max-width:calc(100vw - 32px);height:552px;max-height:calc(100vh - 120px);box-shadow:var(--shadow-lg);transform-origin:100% 100%;opacity:0;pointer-events:none;border-radius:20px;flex-direction:column;transition:opacity .28s,transform .28s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:74px;right:0;overflow:hidden;transform:translateY(14px)scale(.96)}.chat-widget.open .chat-panel{opacity:1;pointer-events:auto;transform:none}.chat-head{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:12px;padding:14px 16px;display:flex}.chat-title{color:var(--text);font-family:Space Grotesk,sans-serif;font-size:.98rem;font-weight:700;line-height:1.1}.chat-sub{color:var(--text-muted);align-items:center;gap:6px;margin-top:3px;font-family:JetBrains Mono,monospace;font-size:.66rem;display:flex}.chat-status-dot{background:var(--accent-2);width:7px;height:7px;box-shadow:0 0 0 0 var(--accent-2);border-radius:50%;animation:2s infinite statusPulse}@keyframes statusPulse{0%{box-shadow:0 0 0 0 var(--glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.chat-icon-btn{cursor:pointer;width:32px;height:32px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:9px;flex:none;place-items:center;transition:color .2s,border-color .2s;display:grid}.chat-head a.chat-icon-btn{margin-left:auto}.chat-icon-btn:hover{color:var(--accent);border-color:var(--border)}.chat-log{flex-direction:column;flex:1;gap:11px;padding:18px 16px;display:flex;overflow-y:auto}.msg{word-wrap:break-word;border-radius:15px;max-width:84%;padding:10px 14px;font-size:.885rem;line-height:1.55;animation:.32s cubic-bezier(.2,.8,.2,1) msgIn}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.msg.bot{background:var(--surface-2);border:1px solid var(--border);color:var(--text-soft);border-bottom-left-radius:5px;align-self:flex-start}.msg.user{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:5px;align-self:flex-end;font-weight:600}.msg.bot b{color:var(--text);font-weight:700}.msg.bot a{color:var(--accent);font-weight:600;text-decoration:underline}.msg.user a{color:inherit;text-decoration:underline}.msg.typing{align-items:center;gap:4px;padding:13px 15px;display:flex}.msg.typing span{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typingDot}.msg.typing span:nth-child(2){animation-delay:.18s}.msg.typing span:nth-child(3){animation-delay:.36s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-suggest{flex-wrap:wrap;gap:7px;padding:4px 16px 12px;display:flex}.chat-chip{cursor:pointer;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;padding:.42rem .7rem;font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1;transition:background .2s,color .2s,transform .2s}.chat-chip:hover{background:var(--accent);color:var(--accent-ink);transform:translateY(-1px)}.chat-form{border-top:1px solid var(--border);background:var(--surface);gap:8px;padding:12px 14px;display:flex}.chat-input{background:var(--surface-2);border:1px solid var(--border);min-width:0;color:var(--text);border-radius:12px;outline:none;flex:1;padding:.72rem .9rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.chat-input::placeholder{color:var(--text-muted)}.chat-input:focus{border-color:var(--accent-line)}.chat-send{cursor:pointer;background:var(--accent);width:44px;height:44px;color:var(--accent-ink);border:none;border-radius:12px;flex:none;place-items:center;transition:filter .2s,transform .2s;display:grid}.chat-send:hover{filter:brightness(1.06);transform:translateY(-1px)}@media (width<=480px){.chat-widget{bottom:14px;right:14px}.chat-panel{height:calc(100vh - 96px)}}@media (prefers-reduced-motion:reduce){.chat-fab:before,.chat-status-dot,.msg{animation:none}}.arch-band{border-top:1px solid var(--border);background:var(--surface-2);padding:1.7rem 2rem 1.9rem}@media (width>=640px){.arch-band{padding:1.9rem 2.5rem 2.1rem}}.arch-band-head{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.6rem;margin-bottom:1.3rem;font-family:JetBrains Mono,monospace;font-size:.68rem;display:flex}.arch-band-head:before{content:"";background:var(--accent-line);width:1.1rem;height:1px}.arch{flex-wrap:nowrap;align-items:stretch;gap:.55rem;display:flex}@media (width<=760px){.arch{flex-direction:column;align-items:stretch}}.arch-col{flex-direction:column;flex:1 1 0;gap:.5rem;min-width:0;display:flex}.arch-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-align:center;margin-bottom:.1rem;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:600}@media (width<=760px){.arch-tag{text-align:left}}.arch-node{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;flex:1;justify-content:center;gap:.2rem;padding:.7rem .65rem;transition:border-color .3s,transform .3s,box-shadow .3s;display:flex}@media (width<=760px){.arch-node{text-align:left}}.arch-node:hover{border-color:var(--accent-line);box-shadow:var(--shadow);transform:translateY(-2px)}.arch-node b{color:var(--text);font-family:Space Grotesk,sans-serif;font-size:.82rem;font-weight:600;line-height:1.2}.arch-node span{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.62rem;line-height:1.3}.arch-node.accent{background:var(--accent-soft);border-color:var(--accent-line)}.arch-node.accent b{color:var(--accent)}.arch-flow{color:var(--accent);flex:none;justify-content:center;align-self:center;align-items:center;padding-top:1.05rem;display:flex}.arch-flow svg{width:20px;height:20px}@media (width<=760px){.arch-flow{margin:.1rem 0;padding-top:0;transform:rotate(90deg)}}.arch-direct{border:1px dashed var(--accent-line);background:var(--accent-soft);color:var(--text-soft);border-radius:11px;align-items:flex-start;gap:.6rem;margin-top:1rem;padding:.65rem .85rem;font-family:JetBrains Mono,monospace;font-size:.68rem;line-height:1.5;display:flex}.arch-direct svg{color:var(--accent);flex:none;margin-top:1px}.arch-direct b{color:var(--text);font-weight:600}.arch-svg{border:1px solid var(--border);box-shadow:var(--shadow);background:#0d1117;border-radius:12px;overflow:hidden}.arch-svg svg{width:100%;height:auto;display:block}.qa-flow-label{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:9px;margin-bottom:.85rem;padding:.5rem .8rem;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:color .3s,border-color .3s}.qa-flow-label.active{color:var(--text);border-color:var(--accent-line)}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
