:root{--bg-root: #fafafa;--bg-primary: #ffffff;--bg-secondary: #f4f4f5;--bg-tertiary: #e4e4e7;--bg-surface: rgba(24, 24, 27, .03);--bg-surface-hover: rgba(24, 24, 27, .06);--bg-elevated: rgba(24, 24, 27, .02);--bg-glass: rgba(255, 255, 255, .75);--bg-glass-nav: rgba(255, 255, 255, .85);--fg-primary: #09090b;--fg-secondary: #52525b;--fg-muted: #71717a;--fg-faint: #a1a1aa;--fg-inverse: #ffffff;--accent-cyan: #005bb5;--accent-cyan-bright: #0071e3;--accent-cyan-dim: #004488;--accent-cyan-glow: rgba(0, 91, 181, .04);--accent-cyan-glow-strong: rgba(0, 91, 181, .12);--accent-blue: #005bb5;--accent-blue-bright: #0071e3;--accent-blue-dim: #004488;--accent-blue-glow: rgba(0, 91, 181, .04);--accent-blue-glow-strong: rgba(0, 91, 181, .12);--accent-green: #228B22;--accent-green-bright: #2e9e2e;--accent-green-dim: #145c14;--accent-green-glow: rgba(34, 139, 34, .04);--accent-green-glow-strong: rgba(34, 139, 34, .12);--accent-purple: #005bb5;--accent-purple-bright: #0071e3;--accent-purple-dim: #004488;--accent-purple-glow: rgba(0, 91, 181, .04);--accent-purple-glow-strong: rgba(0, 91, 181, .12);--border-subtle: rgba(24, 24, 27, .05);--border-default: rgba(24, 24, 27, .08);--border-hover: rgba(24, 24, 27, .14);--border-active: rgba(9, 9, 11, .4);--status-success: #228B22;--status-warning: #d97706;--status-error: #dc2626;--status-info: #005bb5;--hero-grid-line: rgba(9, 9, 11, .02);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs: clamp(.6875rem, .66rem + .12vw, .75rem);--text-sm: clamp(.8125rem, .78rem + .14vw, .875rem);--text-base: clamp(.875rem, .83rem + .19vw, 1rem);--text-lg: clamp(1rem, .93rem + .28vw, 1.125rem);--text-xl: clamp(1.125rem, 1.03rem + .38vw, 1.25rem);--text-2xl: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--text-3xl: clamp(1.5rem, 1.26rem + .96vw, 1.875rem);--text-4xl: clamp(1.875rem, 1.53rem + 1.4vw, 2.25rem);--text-5xl: clamp(2.25rem, 1.77rem + 1.9vw, 3rem);--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.55;--leading-relaxed: 1.7;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(9, 9, 11, .02), 0 1px 2px rgba(9, 9, 11, .03);--shadow-md: 0 4px 16px rgba(9, 9, 11, .03), 0 1px 4px rgba(9, 9, 11, .02);--shadow-lg: 0 10px 30px rgba(9, 9, 11, .04), 0 2px 8px rgba(9, 9, 11, .02);--shadow-xl: 0 20px 50px rgba(9, 9, 11, .06), 0 4px 16px rgba(9, 9, 11, .03);--shadow-glow-blue: 0 0 20px rgba(24, 119, 242, .04), 0 0 60px rgba(24, 119, 242, .01);--shadow-glow-cyan: 0 0 20px rgba(24, 119, 242, .04), 0 0 60px rgba(24, 119, 242, .01);--shadow-glow-green: 0 0 20px rgba(34, 139, 34, .04), 0 0 60px rgba(34, 139, 34, .01);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .12s;--duration-base: .2s;--duration-slow: .35s;--z-base: 0;--z-dropdown: 10;--z-sticky: 50;--z-overlay: 100;--z-modal: 200;--container-max: 1200px;--container-narrow: 800px;--nav-height: 56px;--section-padding: clamp(3rem, 2rem + 4vw, 6rem)}:root{--bg-root: #ffffff;--bg-primary: #f6f8fa;--bg-secondary: #eaeef2;--bg-tertiary: #d8dee4;--bg-surface: #f6f8fa;--bg-surface-hover: #eaeef2;--bg-elevated: #ffffff;--bg-glass: #ffffff;--bg-glass-nav: #ffffff;--fg-primary: #1f2328;--fg-secondary: #454c54;--fg-muted: #59636e;--fg-faint: #818b98;--fg-inverse: #ffffff;--accent-cyan: #0969da;--accent-cyan-bright: #0550ae;--accent-blue: #0969da;--accent-blue-bright: #0550ae;--accent-purple: #0969da;--accent-green: #59636e;--accent-green-bright: #1f2328;--accent-cyan-glow: rgba(9,105,218,.05);--accent-blue-glow: rgba(9,105,218,.05);--accent-purple-glow: rgba(9,105,218,.05);--accent-green-glow: rgba(89,99,110,.04);--border-subtle: #d1d9e080;--border-default: #d1d9e0;--border-hover: #9198a1;--border-active: #0969da}:root[data-theme=dark]{color-scheme:dark;--bg-root: #0d1117;--bg-primary: #151b23;--bg-secondary: #212830;--bg-tertiary: #2a313c;--bg-surface: #151b23;--bg-surface-hover: #212830;--bg-elevated: #151b23;--bg-glass: #0d1117;--bg-glass-nav: #0d1117;--fg-primary: #f0f6fc;--fg-secondary: #c9d1d9;--fg-muted: #9198a1;--fg-faint: #656c76;--fg-inverse: #0d1117;--accent-cyan: #4493f8;--accent-cyan-bright: #79b8ff;--accent-blue: #4493f8;--accent-blue-bright: #79b8ff;--accent-purple: #4493f8;--accent-green: #9198a1;--accent-green-bright: #c9d1d9;--accent-cyan-glow: rgba(68,147,248,.08);--accent-blue-glow: rgba(68,147,248,.08);--accent-green-glow: rgba(145,152,161,.06);--accent-purple-glow: rgba(68,147,248,.08);--border-subtle: #3d444db3;--border-default: #3d444d;--border-hover: #656c76;--border-active: #4493f8}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,SF Mono,Fira Code,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mt-2{margin-top:.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-2\.5{height:.625rem}.h-\[320px\]{height:320px}.h-\[380px\]{height:380px}.h-full{height:100%}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-2\.5{width:.625rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-4xl{max-width:56rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-y-16{row-gap:4rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-\[\#21262d\]{--tw-border-opacity: 1;border-color:rgb(33 38 45 / var(--tw-border-opacity, 1))}.border-\[\#30363d\]{--tw-border-opacity: 1;border-color:rgb(48 54 61 / var(--tw-border-opacity, 1))}.border-\[\#484f58\]{--tw-border-opacity: 1;border-color:rgb(72 79 88 / var(--tw-border-opacity, 1))}.border-\[var\(--border-default\)\]{border-color:var(--border-default)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-emerald-700{--tw-border-opacity: 1;border-color:rgb(4 120 87 / var(--tw-border-opacity, 1))}.border-emerald-800\/60{border-color:#065f4699}.border-emerald-800\/70{border-color:#065f46b3}.border-red-800{--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.bg-\[\#090d13\]{--tw-bg-opacity: 1;background-color:rgb(9 13 19 / var(--tw-bg-opacity, 1))}.bg-\[\#0d1117\]{--tw-bg-opacity: 1;background-color:rgb(13 17 23 / var(--tw-bg-opacity, 1))}.bg-\[\#161b22\]{--tw-bg-opacity: 1;background-color:rgb(22 27 34 / var(--tw-bg-opacity, 1))}.bg-\[\#161b22\]\/40{background-color:#161b2266}.bg-\[\#161b22\]\/70{background-color:#161b22b3}.bg-\[\#21262d\]{--tw-bg-opacity: 1;background-color:rgb(33 38 45 / var(--tw-bg-opacity, 1))}.bg-\[\#27c93f\]{--tw-bg-opacity: 1;background-color:rgb(39 201 63 / var(--tw-bg-opacity, 1))}.bg-\[\#30363d\]{--tw-bg-opacity: 1;background-color:rgb(48 54 61 / var(--tw-bg-opacity, 1))}.bg-\[\#ff5f56\]{--tw-bg-opacity: 1;background-color:rgb(255 95 86 / var(--tw-bg-opacity, 1))}.bg-\[\#ffbd2e\]{--tw-bg-opacity: 1;background-color:rgb(255 189 46 / var(--tw-bg-opacity, 1))}.bg-\[var\(--bg-glass-nav\)\]{background-color:var(--bg-glass-nav)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--bg-root\)\]{background-color:var(--bg-root)}.bg-\[var\(--bg-surface\)\]{background-color:var(--bg-surface)}.bg-\[var\(--fg-primary\)\]{background-color:var(--fg-primary)}.bg-emerald-950{--tw-bg-opacity: 1;background-color:rgb(2 44 34 / var(--tw-bg-opacity, 1))}.bg-emerald-950\/60{background-color:#022c2299}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-red-950\/60{background-color:#450a0a99}.bg-transparent{background-color:transparent}.p-0\.5{padding:.125rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.font-mono{font-family:JetBrains Mono,SF Mono,Fira Code,ui-monospace,monospace}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[\#484f58\]{--tw-text-opacity: 1;color:rgb(72 79 88 / var(--tw-text-opacity, 1))}.text-\[\#e6edf3\]{--tw-text-opacity: 1;color:rgb(230 237 243 / var(--tw-text-opacity, 1))}.text-\[var\(--accent-cyan\)\]{color:var(--accent-cyan)}.text-\[var\(--bg-primary\)\]{color:var(--bg-primary)}.text-\[var\(--border-default\)\]{color:var(--border-default)}.text-\[var\(--fg-muted\)\]{color:var(--fg-muted)}.text-\[var\(--fg-primary\)\]{color:var(--fg-primary)}.text-\[var\(--fg-secondary\)\]{color:var(--fg-secondary)}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-400\/80{color:#34d399cc}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.caret-emerald-400{caret-color:#34d399}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.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-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;scroll-padding-top:calc(var(--nav-height) + 1rem);color-scheme:light;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-feature-settings:"cv02","cv03","cv04","cv11","ss01";font-optical-sizing:auto}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--fg-primary);background-color:var(--bg-root);-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11","ss01";font-optical-sizing:auto;letter-spacing:-.011em;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--accent-cyan);text-decoration:none;transition:color .2s cubic-bezier(.16,1,.3,1)}a:hover{color:var(--accent-cyan-bright)}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;background:none;color:inherit;-webkit-tap-highlight-color:transparent}button:focus{outline:none}button:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px;border-radius:var(--radius-md)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:var(--leading-snug);letter-spacing:-.028em;color:var(--fg-primary);font-feature-settings:"cv02","cv03","cv04","cv11","ss01"}p{line-height:var(--leading-relaxed);color:var(--fg-secondary);letter-spacing:-.011em}code,pre,.font-mono{font-family:var(--font-mono);font-feature-settings:"calt" 1,"zero" 1;letter-spacing:-.015em}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(min-width:640px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}.section{padding-top:var(--section-padding);padding-bottom:var(--section-padding);position:relative}.card{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .14s ease-out,box-shadow .14s ease-out,transform .14s ease-out}.card:hover{border-color:var(--border-hover);box-shadow:0 12px 30px #09090b0a,0 2px 8px #09090b05;transform:none}.card-elevated{background:var(--bg-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);transition:border-color .14s ease-out,box-shadow .14s ease-out,transform .14s ease-out}.card-elevated:hover{border-color:var(--border-hover);box-shadow:0 20px 40px #09090b14,0 4px 12px #09090b08;transform:none}.card-glass{background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}@media(max-width:639px){.hide-on-mobile{display:none!important}}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--fg-secondary);transition:border-color .14s ease-out,background-color .14s ease-out,color .14s ease-out;white-space:nowrap}.tag:hover{border-color:var(--border-hover);background:var(--bg-surface-hover)}.tag-cyan{color:var(--accent-cyan);border-color:#0a66c226;background:var(--accent-cyan-glow)}.tag-blue{color:var(--accent-blue);border-color:#0a66c226;background:var(--accent-blue-glow)}.tag-green{color:var(--accent-green);border-color:#34c75926;background:var(--accent-green-glow)}.tag-purple{color:var(--accent-purple);border-color:#0a66c226;background:var(--accent-purple-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-full);transition:border-color .14s ease-out,background-color .14s ease-out,box-shadow .14s ease-out,transform .14s ease-out;min-height:40px;touch-action:manipulation;white-space:nowrap}.btn:active{transform:none}.btn-primary{background:var(--fg-primary);color:var(--bg-primary);border:1px solid var(--fg-primary);box-shadow:0 4px 10px #09090b0a}.btn-primary:hover{background:#18181b;border-color:#18181b;box-shadow:0 8px 20px #09090b14;transform:none}.btn-secondary{background:var(--bg-primary);border:1px solid var(--border-default);color:var(--fg-primary);box-shadow:0 1px 3px #09090b03}.btn-secondary:hover{border-color:var(--border-hover);background:var(--bg-secondary);box-shadow:0 4px 12px #09090b08;transform:none}.btn-ghost{background:transparent;color:var(--fg-secondary)}.btn-ghost:hover{color:var(--fg-primary);background:var(--bg-surface-hover)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);min-height:36px}.btn-lg{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);min-height:44px}@media(min-width:640px){.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base);min-height:48px}}.nav-bar{position:sticky;top:0;z-index:9999;background:#fffffff5;border-bottom:1px solid var(--border-subtle);height:var(--nav-height)}.safari-native .nav-bar{background:var(--bg-glass-nav);backdrop-filter:blur(16px) saturate(1.8);-webkit-backdrop-filter:blur(16px) saturate(1.8)}.nav-link{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;color:var(--fg-muted);transition:color .14s ease-out,background-color .14s ease-out}.nav-link:hover{color:var(--fg-primary);background:var(--bg-surface-hover)}.nav-link-active{color:var(--bg-primary)!important;background:var(--fg-primary)!important;box-shadow:0 4px 10px #09090b1a}.hero{position:relative;overflow:hidden;background:var(--bg-primary)}.hero-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(10,102,194,.05) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 100%,rgba(52,199,89,.04) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 20% 80%,rgba(10,102,194,.03) 0%,transparent 50%);pointer-events:none;transform:translateZ(0);backface-visibility:hidden}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--hero-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid-line) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 20%,transparent 70%);pointer-events:none;transform:translateZ(0);backface-visibility:hidden}.avatar{width:96px;height:96px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent-cyan-glow),var(--accent-green-glow));border:2px solid var(--border-default);display:flex;align-items:center;justify-content:center;font-size:var(--text-3xl);font-weight:700;color:var(--accent-cyan);font-family:var(--font-mono)}@media(min-width:640px){.avatar{width:112px;height:112px}}.mono{font-family:var(--font-mono)}.section-alt{background:var(--bg-secondary)}.section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-subtle),transparent)}.scroll-reveal{opacity:1;transform:none}.js-enabled .scroll-reveal{opacity:0;transform:translate3d(0,4px,0);transition:opacity .35s cubic-bezier(.215,.61,.355,1),transform .35s cubic-bezier(.215,.61,.355,1);will-change:opacity,transform}.js-enabled .scroll-reveal.is-visible{opacity:1;transform:translateZ(0)}.stagger-children>.scroll-reveal:nth-child(1){transition-delay:0ms}.stagger-children>.scroll-reveal:nth-child(2){transition-delay:60ms}.stagger-children>.scroll-reveal:nth-child(3){transition-delay:.12s}.stagger-children>.scroll-reveal:nth-child(4){transition-delay:.18s}.stagger-children>.scroll-reveal:nth-child(5){transition-delay:.24s}.stagger-children>.scroll-reveal:nth-child(6){transition-delay:.3s}.accent-left-cyan,.accent-left-blue{border-left:3px solid var(--accent-blue)}.accent-left-green{border-left:3px solid var(--accent-green)}.mobile-menu-overlay{position:fixed;top:var(--nav-height);left:0;right:0;bottom:0;z-index:9998;background:#0f172a40;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in var(--duration-fast) var(--ease-out)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.mobile-menu-panel{position:absolute;top:100%;left:0;right:0;z-index:9999;background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-md);animation:slide-down var(--duration-base) var(--ease-out)}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.glow-blue:hover,.glow-cyan:hover{box-shadow:var(--shadow-glow-blue);border-color:#0a66c240}.glow-green:hover{box-shadow:var(--shadow-glow-green);border-color:#34c75940}.skill-tag{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--fg-secondary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;transition:border-color .14s ease-out,background-color .14s ease-out,color .14s ease-out,box-shadow .14s ease-out}.skill-tag:hover{color:var(--accent-cyan);border-color:#0a66c240;background:var(--accent-cyan-glow);box-shadow:0 4px 12px #0a66c214}.text-gradient{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-heading{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.03em;text-align:center;margin-bottom:var(--space-2)}.section-subheading{font-size:var(--text-base);color:var(--fg-muted);text-align:center;max-width:640px;margin:0 auto var(--space-12);line-height:var(--leading-relaxed)}.input{width:100%;padding:var(--space-2) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--fg-primary);font-size:var(--text-sm);font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);min-height:40px}.input::-moz-placeholder{color:var(--fg-faint)}.input::placeholder{color:var(--fg-faint)}.input:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--accent-cyan-glow)}.skeleton{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--fg-faint);font-size:var(--text-sm)}.skeleton-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scroll-reveal{opacity:1!important;transform:none!important}}@media(prefers-contrast:high){:root{--border-subtle: rgba(15, 23, 42, .25);--border-default: rgba(15, 23, 42, .4);--fg-secondary: #1e293b;--fg-muted: #334155}.card{border-width:2px}}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-root)}::-webkit-scrollbar-thumb{background:var(--fg-faint);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--fg-muted)}*{scrollbar-width:thin;scrollbar-color:var(--fg-faint) var(--bg-root)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .25s cubic-bezier(.16,1,.3,1) forwards}.dark-scrollbar::-webkit-scrollbar{width:8px;height:8px}.dark-scrollbar::-webkit-scrollbar-track{background:#090d13}.dark-scrollbar::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.dark-scrollbar::-webkit-scrollbar-thumb:hover{background:#484f58}.dark-scrollbar{scrollbar-width:thin;scrollbar-color:#30363d #090d13}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.theme-switch{display:inline-flex;margin-left:auto;padding:3px;border:1px solid var(--border-default);border-radius:6px;flex-shrink:0}.theme-switch button{padding:6px 9px;min-height:32px;color:var(--fg-muted);font-size:11px;border-radius:3px}.theme-switch button[aria-pressed=true]{background:var(--bg-secondary);color:var(--fg-primary)}nav,.card-glass{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}nav{background:var(--bg-root)!important}.card:hover,.card-elevated:hover,.btn:hover{box-shadow:none}:root[data-theme=dark] .btn{background:#212830;color:#f0f6fc;border:1px solid #3d444d;box-shadow:none}:root[data-theme=dark] .btn:hover{background:#2a313c;border-color:#656c76;color:#f0f6fc}:root[data-theme=dark] .card,:root[data-theme=dark] .card-elevated{background:var(--bg-primary);box-shadow:none}:root[data-theme=dark] .skill-tag{color:var(--fg-secondary);background:var(--bg-surface);border-color:var(--border-default)}:root[data-theme=dark] nav a[aria-current=location]{background:#212830;color:#f0f6fc}a:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px}@media(max-width:639px){nav>div{flex-wrap:wrap}nav .theme-switch{order:2}nav>div>div:nth-child(2){order:3}}.btn{border-radius:6px;min-height:36px;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out}.card,.card-elevated,.skill-tag,.tag{transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out}.skill-tag:hover{box-shadow:none;border-color:var(--border-hover);background:var(--bg-surface-hover);color:var(--fg-primary)}.theme-switch button,nav a{transition:background-color .12s ease-out,color .12s ease-out}.theme-switch button:hover{background:var(--bg-surface-hover);color:var(--fg-primary)}nav a{min-height:32px;display:inline-flex;align-items:center}#experience>div:not(:first-child){padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}#experience>div:last-child{border-bottom:none;padding-bottom:0}:root[data-theme=dark] #about .grid>div,:root[data-theme=dark] #projects .grid>div{background:var(--bg-primary);border-color:var(--border-default)}:root[data-theme=dark] #projects .grid>div:hover{border-color:var(--border-hover)}:root[data-theme=dark] ::-moz-selection{background:#264f78;color:#f0f6fc}:root[data-theme=dark] ::selection{background:#264f78;color:#f0f6fc}:root[data-theme=dark] .tag-green,:root[data-theme=dark] .tag-purple{color:var(--fg-secondary);background:var(--bg-surface);border-color:var(--border-default)}@media(max-width:639px){nav>div{display:grid;grid-template-columns:1fr auto;gap:.5rem}nav>div>div:nth-child(2){grid-column:1 / -1;grid-row:2}nav .theme-switch{grid-column:2;grid-row:1}}@media(prefers-reduced-motion:reduce){.btn,.card,.card-elevated,.skill-tag,.tag,.theme-switch button,nav a{transition:none}}:root:not([data-theme=dark]) .btn{background:#f6f8fa;color:#25292e;border:1px solid #d1d9e0;box-shadow:none}:root:not([data-theme=dark]) .btn:hover{background:#eaeef2;border-color:#9198a1;color:#1f2328}:root:not([data-theme=dark]) nav a[aria-current=location]{background:#eaeef2;color:#1f2328}:root:not([data-theme=dark]) #about .grid>div,:root:not([data-theme=dark]) #projects .grid>div{background:var(--bg-primary);border-color:var(--border-default)}:root:not([data-theme=dark]) .skill-tag,:root:not([data-theme=dark]) .tag-green,:root:not([data-theme=dark]) .tag-purple{background:var(--bg-surface);color:var(--fg-secondary);border-color:var(--border-default)}.interactive-demo{box-shadow:none}.interactive-demo button,.interactive-demo select{min-height:32px;border-radius:4px;transition:background-color .12s ease-out,border-color .12s ease-out}.interactive-demo button:disabled{cursor:wait;opacity:.5}.interactive-demo button:focus-visible,.interactive-demo select:focus-visible,.interactive-demo input:focus-visible{outline:2px solid #34d399;outline-offset:2px}.interactive-demo input{min-height:32px}.interactive-demo .syntax-comment{color:#8b949e}.interactive-demo .syntax-number{color:#fff}.interactive-demo .syntax-keyword{color:#569cd6}.interactive-demo .syntax-variable{color:#9cdcfe}.interactive-demo .syntax-function{color:#c586c0}.interactive-demo .syntax-punctuation{color:#d4d4d4}@media(max-width:639px){.interactive-demo button,.interactive-demo select{min-height:36px}.interactive-demo select{max-width:100%}}@media(prefers-reduced-motion:reduce){.interactive-demo button,.interactive-demo select{transition:none}}.block-legend{display:flex;flex-wrap:wrap;gap:10px 18px;color:#b1bac4;font-size:11px}.block-legend>span{display:inline-flex;align-items:center;gap:6px}.block-dot{width:8px;height:8px;border-radius:2px;background:#21262d;border:1px solid #484f58}.block-dot.data_dir{background:#34d399}.block-dot.data_file{background:#9ca3af}.block-dot.allocated{background:#a78bfa}.block-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}.interactive-demo .block-cell{min-height:36px;padding:0;border:1px solid #30363d;background:#111820;color:#8b949e;font:12px var(--font-mono);border-radius:4px}.interactive-demo .block-cell.data_dir{border-color:#3c8066;color:#6ee7b7;background:#142820}.interactive-demo .block-cell.data_file{border-color:#737d8a;color:#e6edf3;background:#252c35}.interactive-demo .block-cell.allocated{border-color:#75618e;color:#d0bce8;background:#25202d}.interactive-demo .block-cell:hover{border-color:#e6edf3}.interactive-demo .block-cell[aria-pressed=true]{outline:2px solid #e6edf3;outline-offset:1px}.block-detail{color:#c9d1d9;font-size:11px;min-height:30px;line-height:1.7;padding-bottom:6px}@media(max-width:639px){.block-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}.interactive-demo button,.interactive-demo select{min-height:34px;padding:6px 10px;border-radius:4px;font-size:12px;line-height:18px;font-weight:500}.interactive-demo button:not(.block-cell){background:#21262d;color:#c9d1d9;border:1px solid #30363d}.interactive-demo button:not(.block-cell):hover:not(:disabled){background:#30363d;color:#f0f6fc;border-color:#484f58}.interactive-demo button[aria-pressed=true]:not(.block-cell){background:#30363d;color:#fff;border-color:#656c76}.interactive-demo .demo-program-controls{gap:12px}.interactive-demo select{margin:0;background:#21262d;color:#e6edf3;border:1px solid #30363d}.inode-table-wrap{overflow-x:auto;border:1px solid #30363d;border-radius:5px}.inode-table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;color:#c9d1d9}.inode-table th,.inode-table td{padding:9px 12px;white-space:nowrap;border-bottom:1px solid #21262d;font-weight:400}.inode-table thead{background:#161b22;color:#a9b1bc}.inode-table tbody th{color:#e6edf3}.inode-table tbody tr:last-child>*{border-bottom:0}.inode-table tbody tr:hover{background:#161b22}@media(max-width:639px){.interactive-demo button,.interactive-demo select{min-height:36px}}.llfpl-ide-layout{display:grid;grid-template-columns:180px minmax(0,1fr)}.llfpl-explorer{background:#161b22;border-right:1px solid #30363d;min-width:0}.llfpl-explorer-heading{display:flex;justify-content:space-between;padding:14px 12px;color:#c9d1d9;font-size:10px}.llfpl-explorer-heading span{color:#8b949e}.interactive-demo .llfpl-file-list button{display:flex;align-items:center;gap:7px;width:100%;text-align:left;font:11px var(--font-mono);border:0;border-radius:0;background:transparent;padding:9px 12px;overflow-wrap:anywhere}.interactive-demo .llfpl-file-list button[aria-current=true]{background:#30363d;color:#fff;box-shadow:inset 2px 0 #8b949e}.llfpl-new-file{padding:16px 12px;display:grid;gap:8px;border-top:1px solid #30363d;margin-top:12px}.llfpl-new-file label{font-size:11px;color:#c9d1d9}.llfpl-new-file input{width:100%;min-width:0;background:#0d1117;border:1px solid #484f58;border-radius:4px;color:#e6edf3;padding:6px;font:11px var(--font-mono)}.llfpl-new-file p{color:#ffa198;font-size:11px}@media(max-width:639px){.llfpl-ide-layout{grid-template-columns:minmax(0,1fr)}.llfpl-explorer{border-right:0;border-bottom:1px solid #30363d}.llfpl-file-list{display:flex;overflow-x:auto}.interactive-demo .llfpl-file-list button{width:auto;flex-shrink:0}.llfpl-new-file{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:0;padding:10px 12px}.llfpl-new-file label,.llfpl-new-file p{grid-column:1 / -1}}.llfpl-filename{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(max-width:639px){nav .portfolio-nav{display:flex;flex-direction:column;align-items:stretch;gap:8px}nav .portfolio-nav>div:first-child{order:0;width:100%;flex:auto}nav .portfolio-nav .theme-switch{order:1;align-self:flex-end;margin-left:0}}header a,#contact a{text-underline-offset:3px}#contact a:hover{text-decoration:underline}.interactive-demo .llfpl-file-list button{line-height:1.5}header h1,main h2,main h3,main h4{text-wrap:balance}header p,main p,main li{text-wrap:pretty}header .hero-copy{max-width:100%}header .hero-copy>p{line-height:1.75}header .hero-copy>p+p{margin-top:1rem}header .hero-copy>p:last-child{font-size:.8125rem;line-height:1.65;color:var(--fg-muted);padding-top:.25rem}#experience>div>p,#publications p{max-width:74ch;line-height:1.75}#about .grid>div{padding:1.25rem}#about .grid p,#projects .grid p{line-height:1.7}#projects .grid>div{gap:1rem}#projects .grid>div>div:first-child>div:first-child{align-items:flex-start}#projects .grid h4{line-height:1.4}#projects .grid li{line-height:1.65}#education h3,#experience h3{line-height:1.4}#education span,#experience span{font-variant-numeric:tabular-nums}.interactive-demo p,.interactive-demo li,.interactive-demo h4{text-wrap:wrap}.interactive-demo pre,.interactive-demo textarea{text-wrap:nowrap}@media(max-width:639px){header .hero-copy>p,#experience>div>p,#publications p{line-height:1.7}header .hero-copy>p+p{margin-top:.875rem}}header .hero-copy>p{text-wrap:pretty}header .hero-copy>p:first-child{text-wrap:balance}@media(min-width:900px){header .hero-copy>p:first-child{white-space:normal;text-wrap:pretty}}.hero-disciplines{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .4em}@media(max-width:639px){.hero-disciplines{display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.6}.hero-disciplines .discipline-separator{display:none}nav .portfolio-nav{display:flex;flex-direction:column;gap:6px;padding-top:2px}nav .portfolio-nav>div:first-child{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}nav .portfolio-nav .theme-switch{align-self:flex-start;margin-left:0}nav a{padding-left:8px;padding-right:8px;flex-shrink:0}#contact .contact-links{flex-direction:column;align-items:flex-start;gap:4px}#contact footer{align-items:flex-start;text-align:left;gap:6px;padding-top:24px}.interactive-demo>div:first-child{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.interactive-demo>div:first-child>div{min-width:0;flex-wrap:wrap}.interactive-demo>div:first-child>div:last-child{display:flex}.interactive-demo>div:first-child>div:last-child button{flex:1}.interactive-demo{font-size:12px}.interactive-demo input,.interactive-demo textarea,.interactive-demo select,.interactive-demo pre{font-size:16px}.interactive-demo button{min-height:40px}.interactive-demo .block-cell{min-height:36px;font-size:11px}.llfpl-explorer-heading{padding:10px 12px}.llfpl-new-file label{margin:0}.llfpl-new-file input{font-size:16px}.inode-table th,.inode-table td{padding:8px}.interactive-demo textarea,.interactive-demo pre,.interactive-demo [class*=w-10][class*=select-none]{font-size:16px;line-height:1.7}}@media(max-width:639px){header{padding-top:32px!important;padding-bottom:28px!important}header>div{padding-left:20px;padding-right:20px}header h1{font-size:34px;line-height:1.15}.hero-disciplines{display:grid;grid-template-columns:1fr;gap:2px;margin-top:10px;color:var(--fg-muted);font-size:13px}header .hero-copy{font-size:15px}header .hero-copy>p{line-height:1.65}header .hero-copy>p:first-child{color:var(--fg-primary)}header .hero-copy>p:last-child{line-height:1.8}nav .portfolio-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:0 16px}nav .portfolio-nav>div:first-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;width:100%;gap:2px;padding:0}nav .portfolio-nav a{justify-content:center;padding:6px 2px;font-size:11px;min-height:32px}nav .portfolio-nav .theme-switch{justify-self:end;align-self:auto;padding:1px}nav .theme-switch button{min-height:26px;padding:4px 9px;font-size:10px}main{padding-top:28px!important}main h2{font-size:21px}#experience h3{font-size:16px}#experience>div>p{font-size:15px;line-height:1.65}#projects .grid>div{padding:16px}#projects .grid p{font-size:15px}.interactive-demo{margin-left:-8px;margin-right:-8px;border-radius:6px}.interactive-demo>div:first-child{padding:12px}.interactive-demo>div:first-child>div:first-child{gap:8px}.interactive-demo>div:first-child>div:first-child>div:first-child{display:none}.interactive-demo>div:nth-child(2){padding:10px 12px;gap:8px}.interactive-demo>div:nth-child(2) button{min-height:36px;padding:5px 9px;font-size:11px}.interactive-demo>div:first-child>div:last-child{width:100%}.interactive-demo>div:first-child>div:last-child button{flex:1}.llfpl-explorer{border-bottom:1px solid #30363d}.llfpl-file-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 6px 6px;gap:2px}.interactive-demo .llfpl-file-list button{min-width:0;width:100%;padding:8px 6px;min-height:36px;font-size:10px}.llfpl-new-file{gap:7px;padding:10px}.llfpl-new-file label{font-size:10px}.llfpl-new-file input{min-height:36px}.interactive-demo textarea,.interactive-demo pre{font-size:16px;line-height:1.6}.interactive-demo [class*=w-10][class*=select-none]{font-size:16px;line-height:1.6;width:32px}.block-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.block-legend{gap:8px 12px;font-size:10px}#volunteering h3{font-size:14px}#volunteering p{line-height:1.65}#contact .contact-links{gap:8px}#contact .contact-links a{width:100%;padding:10px 0;min-height:40px;border-bottom:1px solid var(--border-subtle)}#contact .contact-links a:last-child{border-bottom:0}#contact footer{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px}}.discipline-row{display:inline-flex;align-items:baseline;gap:.4em}@media(max-width:639px){.hero-disciplines{display:flex;flex-direction:column;gap:4px;font-size:clamp(11px,3.05vw,13px)}.hero-disciplines .discipline-row{display:inline-flex;gap:.4em;white-space:nowrap}.hero-disciplines .discipline-row-separator{display:none}nav .portfolio-nav .theme-switch{width:100%;justify-self:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}nav .theme-switch button{width:100%;min-height:30px;text-align:center}.interactive-demo .mimfs-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.interactive-demo .mimfs-presets>span{grid-column:1 / -1}.interactive-demo .mimfs-presets button{width:100%;white-space:normal;padding:6px;font-size:10px}.interactive-demo .mimfs-presets button:last-child{grid-column:span 2}.interactive-demo textarea,.interactive-demo pre,.interactive-demo [class*=w-10][class*=select-none]{font-size:13px;line-height:1.7}}nav .portfolio-nav .theme-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;gap:0;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-surface);min-width:156px}.theme-slider{position:absolute;left:3px;top:3px;bottom:3px;width:calc((100% - 6px) / 3);z-index:-1;border:1px solid var(--border-hover);border-radius:4px;background:var(--bg-secondary);transform:translate(0);transition:transform 80ms ease-out;pointer-events:none}.theme-switch[data-mode=light] .theme-slider{transform:translate(100%)}.theme-switch[data-mode=dark] .theme-slider{transform:translate(200%)}nav .theme-switch button{position:relative;width:100%;min-height:30px;padding:5px 9px;margin:0;border:0;border-radius:4px;color:var(--fg-muted);background:transparent;font-size:11px;line-height:18px;font-weight:500;transition:color .12s ease-out}nav .theme-switch button[aria-pressed=true],nav .theme-switch button:hover{color:var(--fg-primary);background:transparent}@media(max-width:639px){nav .portfolio-nav .theme-switch{width:100%;min-width:0}nav .theme-switch button{min-height:34px;font-size:12px}}@media(prefers-reduced-motion:reduce){.theme-slider,nav .theme-switch button{transition:none}}nav .portfolio-nav .theme-switch{border-color:transparent;background:transparent}nav .theme-switch .theme-slider{border:0;background:var(--bg-secondary);border-radius:6px}.nav-theme-divider{display:block;width:1px;height:24px;flex-shrink:0;background:var(--border-default)}nav .portfolio-nav a,nav .portfolio-nav .theme-switch button{font-family:var(--font-sans);font-size:12px;font-weight:500;line-height:18px}@media(max-width:639px){nav .portfolio-nav .nav-theme-divider{order:1;width:100%;height:1px;margin:2px 0}nav .portfolio-nav .theme-switch{order:2}nav .portfolio-nav a,nav .portfolio-nav .theme-switch button{font-size:11px}}nav .portfolio-nav{display:grid;grid-template-columns:minmax(0,1fr) 1px auto;align-items:center;gap:12px}nav .portfolio-nav .nav-section-links{display:flex;flex-wrap:wrap;gap:2px;width:auto;min-width:0;overflow:visible;order:0;padding:0}nav .portfolio-nav .nav-section-links a{padding:5px 7px;white-space:nowrap}nav .portfolio-nav .nav-theme-divider{grid-column:2;grid-row:1;width:1px;height:24px;margin:0;order:0}nav .portfolio-nav .theme-switch{grid-column:3;grid-row:1;min-width:144px;width:144px;margin:0;order:0}@media(max-width:639px){nav .portfolio-nav{grid-template-columns:minmax(0,1fr);gap:6px}nav .portfolio-nav .nav-section-links{grid-column:1;grid-row:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}nav .portfolio-nav .nav-section-links a{padding:6px 1px;justify-content:center}nav .portfolio-nav .nav-theme-divider{grid-column:1;grid-row:2;width:100%;height:1px;margin:2px 0}nav .portfolio-nav .theme-switch{grid-column:1;grid-row:3;width:100%;min-width:0;justify-self:stretch}}nav .portfolio-nav{position:relative;display:block;padding-right:54px}nav .portfolio-nav .nav-section-links{display:flex;flex-wrap:wrap}.theme-pull{position:absolute;top:-10px;right:18px;width:28px;height:56px;padding:0;display:flex;flex-direction:column;align-items:center;touch-action:manipulation}.theme-cord{display:block;width:1px;height:31px;background:var(--fg-faint);transition:height 90ms ease-out}.theme-handle{display:block;width:12px;height:16px;border-radius:5px;border:1px solid var(--border-hover);background:linear-gradient(100deg,var(--bg-tertiary),var(--bg-primary) 55%,var(--bg-secondary));box-shadow:1px 2px 2px #00000026}.theme-pull:hover .theme-handle{border-color:var(--fg-muted)}.theme-pull:active .theme-cord{height:39px}.theme-pull:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}@media(max-width:639px){nav .portfolio-nav{display:block;padding-right:48px}nav .portfolio-nav .nav-section-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.theme-pull{right:10px;height:64px}.theme-cord{height:36px}}@media(prefers-reduced-motion:reduce){.theme-cord{transition:none}}.theme-pull{touch-action:none}.theme-pull .theme-cord{height:calc(31px + var(--pull,0px))}@media(max-width:639px){.theme-pull .theme-cord{height:calc(36px + var(--pull,0px))}}.hero-theme-position{position:absolute;top:14px;right:max(20px,calc((100vw - 896px)/2 + 32px))}.theme-on-off{display:flex;align-items:center;width:44px;height:26px;padding:3px;border:1px solid var(--border-hover);border-radius:20px;background:var(--bg-secondary)}.theme-on-off-knob{width:18px;height:18px;border-radius:50%;background:var(--fg-muted);transform:translate(0);transition:transform 80ms ease-out}.theme-on-off[aria-checked=true] .theme-on-off-knob{transform:translate(18px);background:var(--fg-primary)}nav .portfolio-nav{padding-right:32px}@media(max-width:639px){nav .portfolio-nav{padding-right:16px}.hero-theme-position{right:20px;top:10px}}@media(prefers-reduced-motion:reduce){.theme-on-off-knob{transition:none}}header .hero-theme-position{top:20px;right:max(32px,calc((100% - 896px)/2 + 32px));width:44px;height:40px;display:flex;justify-content:flex-end;align-items:center}.theme-on-off{width:36px;height:20px;padding:2px;border:1px solid var(--border-default);background:var(--bg-surface);box-shadow:none;border-radius:12px;transition:border-color .1s ease-out,background-color .1s ease-out}.theme-on-off:hover{border-color:var(--fg-muted);background:var(--bg-surface-hover)}.theme-on-off-knob{width:14px;height:14px;background:var(--fg-muted)}.theme-on-off[aria-checked=true] .theme-on-off-knob{transform:translate(16px);background:var(--fg-secondary)}@media(max-width:639px){header{padding-top:64px!important}header .hero-theme-position{top:12px;right:20px}}@media(prefers-reduced-motion:reduce){.theme-on-off{transition:none}}.theme-on-off{position:relative}.theme-on-off:after{content:"";position:absolute;inset:-10px -4px}header .hero-theme-position{width:112px}.appearance-toggle{position:relative;display:grid;grid-template-columns:1fr 1fr;isolation:isolate;width:108px;height:32px;padding:3px;border:1px solid var(--border-default);border-radius:7px;background:var(--bg-surface);color:var(--fg-muted);font:500 11px/24px var(--font-sans)}.appearance-selection{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/2);background:var(--bg-secondary);border-radius:4px;z-index:-1;transform:translate(0);transition:transform 80ms ease-out}.appearance-toggle[aria-checked=true] .appearance-selection{transform:translate(100%)}.appearance-toggle[aria-checked=false] .appearance-option:nth-last-child(2),.appearance-toggle[aria-checked=true] .appearance-option:last-child{color:var(--fg-primary)}.appearance-toggle:hover{border-color:var(--border-hover)}@media(prefers-reduced-motion:reduce){.appearance-selection{transition:none}}.hero-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}header .hero-title-row .hero-theme-position{position:static;width:auto;height:auto;flex-shrink:0;display:block}@media(max-width:639px){header{padding-top:32px!important}.hero-title-row{gap:10px}.hero-title-row h1{font-size:clamp(25px,7.5vw,34px)}.hero-title-row .appearance-toggle{width:78px;height:26px;padding:2px;font-size:10px;line-height:20px;border-radius:5px}.hero-title-row .appearance-selection{top:2px;bottom:2px;left:2px;width:calc((100% - 4px)/2);border-radius:3px}}@media(max-width:639px){.hero-disciplines{font-size:clamp(12px,3.65vw,16px);line-height:1.55;font-weight:600;color:var(--fg-primary);gap:5px}header .hero-copy>p:first-child{color:var(--fg-secondary)}.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hero-actions>a{width:100%;min-width:0;justify-content:center;padding-left:8px;padding-right:8px}.hero-location{display:flex;flex-direction:column;gap:3px}.hero-location .location-separator{display:none}}.interactive-demo .mimfs-presets{align-items:stretch;grid-auto-rows:auto}.interactive-demo .mimfs-presets button{height:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;line-height:16px}.interactive-demo .llfpl-new-file input,.interactive-demo .llfpl-new-file button{box-sizing:border-box;width:100%;height:36px;min-height:36px;max-height:36px;padding:6px 8px;margin:0;font-size:12px;line-height:20px}.interactive-demo .llfpl-new-file input::-moz-placeholder{font-size:12px;color:#8b949e;opacity:1}.interactive-demo .llfpl-new-file input::placeholder{font-size:12px;color:#8b949e;opacity:1}.interactive-demo{border-radius:8px;font-family:var(--font-mono);font-size:12px;line-height:1.6}.interactive-demo button,.interactive-demo select,.interactive-demo .llfpl-new-file input{box-sizing:border-box;min-height:36px;border-radius:4px;font-family:var(--font-mono);font-size:12px;line-height:20px;font-weight:500;padding:6px 10px}.interactive-demo button svg{flex-shrink:0}.interactive-demo input,.interactive-demo textarea,.interactive-demo pre{font-family:var(--font-mono)}.interactive-demo textarea,.interactive-demo pre,.interactive-demo [class*=w-10][class*=select-none]{font-size:13px;line-height:1.7}.interactive-demo .llfpl-file-list button{border-radius:0;font-size:11px;line-height:18px}.interactive-demo .block-cell{padding:0;min-height:36px;border-radius:4px;font-size:11px;line-height:18px}.interactive-demo .llfpl-new-file input,.interactive-demo .llfpl-new-file button{height:36px}.interactive-demo .llfpl-new-file input::-moz-placeholder{font:inherit}.interactive-demo .llfpl-new-file input::placeholder{font:inherit}.interactive-demo .inode-table{font-size:11px;line-height:18px}.interactive-demo .inode-table-wrap{border-radius:4px}@media(max-width:639px){.interactive-demo button,.interactive-demo select{font-size:12px}.interactive-demo .llfpl-file-list button,.interactive-demo .block-cell{font-size:11px}.interactive-demo .mimfs-presets button{padding:6px 4px;font-size:11px}}.interactive-demo .mimfs-presets.mimfs-presets button,.interactive-demo .demo-program-controls.demo-program-controls button{font-size:12px}.interactive-demo input[aria-label="MIMFS command"]{font-size:13px;line-height:1.7;font-family:var(--font-mono)}.interactive-demo input[aria-label="MIMFS command"]::-moz-placeholder{font:inherit}.interactive-demo input[aria-label="MIMFS command"]::placeholder{font:inherit}@media(max-width:639px){header .hero-copy,header .hero-copy>p,header .hero-copy>p:first-child{width:100%;max-width:none;text-wrap:wrap;text-align:left;word-break:normal;overflow-wrap:normal;hyphens:none}}header .hero-copy>p{text-align:left;-moz-text-align-last:auto;text-align-last:auto;text-wrap:pretty;word-spacing:normal;letter-spacing:normal;hyphens:none;-webkit-hyphens:none;word-break:normal}header .hero-copy>p,header .hero-copy>p:first-child,header .hero-copy>p:not(:last-child){text-align:left;-moz-text-align-last:auto;text-align-last:auto;text-wrap:wrap;word-spacing:normal;letter-spacing:normal;hyphens:none;-webkit-hyphens:none}@supports (text-wrap: pretty){header .hero-copy>p,header .hero-copy>p:first-child,header .hero-copy>p:not(:last-child),main p:not(.interactive-demo p),#experience p,#volunteering p{text-wrap:pretty}}@supports (text-wrap: balance){header h1,main h2,main h3,main h4{text-wrap:balance}}.interactive-demo p,.interactive-demo h4{text-wrap:wrap}header .hero-copy{padding-right:16px}@media(max-width:639px){header .hero-copy{padding-right:8px}}.selection\:bg-\[var\(--fg-primary\)\] *::-moz-selection{background-color:var(--fg-primary)}.selection\:bg-\[var\(--fg-primary\)\] *::selection{background-color:var(--fg-primary)}.selection\:text-\[var\(--bg-primary\)\] *::-moz-selection{color:var(--bg-primary)}.selection\:text-\[var\(--bg-primary\)\] *::selection{color:var(--bg-primary)}.selection\:bg-\[var\(--fg-primary\)\]::-moz-selection{background-color:var(--fg-primary)}.selection\:bg-\[var\(--fg-primary\)\]::selection{background-color:var(--fg-primary)}.selection\:text-\[var\(--bg-primary\)\]::-moz-selection{color:var(--bg-primary)}.selection\:text-\[var\(--bg-primary\)\]::selection{color:var(--bg-primary)}.placeholder\:text-gray-600::-moz-placeholder{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.placeholder\:text-gray-600::placeholder{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.last\:border-0:last-child{border-width:0px}.hover\:border-\[var\(--accent-cyan\)\]:hover{border-color:var(--accent-cyan)}.hover\:bg-\[\#30363d\]:hover{--tw-bg-opacity: 1;background-color:rgb(48 54 61 / var(--tw-bg-opacity, 1))}.hover\:bg-\[var\(--bg-surface\)\]:hover{background-color:var(--bg-surface)}.hover\:text-\[var\(--accent-cyan\)\]:hover{color:var(--accent-cyan)}.hover\:text-\[var\(--fg-primary\)\]:hover{color:var(--fg-primary)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media(min-width:640px){.sm\:h-\[350px\]{height:350px}.sm\:h-\[440px\]{height:440px}.sm\:w-44{width:11rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:gap-4{gap:1rem}.sm\:gap-y-20{row-gap:5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:pt-0{padding-top:0}.sm\:pt-16{padding-top:4rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-\[13px\]{font-size:13px}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:h-\[400px\]{height:400px}.lg\:h-\[480px\]{height:480px}.lg\:px-8{padding-left:2rem;padding-right:2rem}}
