/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--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-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--radius-sm:.25rem;--blur-xl:24px;--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)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.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-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-screen{min-height:100vh}.w-fit{width:fit-content}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.shrink-0{flex-shrink:0}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}: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)))}.overflow-x-auto{overflow-x:auto}.rounded-sm{border-radius:var(--radius-sm)}.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-\[\#52f4df\]\/20{border-color:oklab(87.8563% -.135977 -.00659621/.2)}.border-\[\#52f4df\]\/25{border-color:oklab(87.8563% -.135977 -.00659621/.25)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\/12{border-color:color-mix(in oklab,var(--color-white)12%,transparent)}}.border-white\/18{border-color:#ffffff2e}@supports (color:color-mix(in lab,red,red)){.border-white\/18{border-color:color-mix(in oklab,var(--color-white)18%,transparent)}}.bg-\[\#0b1222\]\/88{background-color:oklab(18.4541% -.00287152 -.0345594/.88)}.bg-\[\#52f4df\]{background-color:#52f4df}.bg-\[\#080d19\]{background-color:#080d19}.bg-\[\#101d30\]{background-color:#101d30}.bg-\[\#e8ff77\]{background-color:#e8ff77}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-10{padding-block:calc(var(--spacing)*10)}.py-14{padding-block:calc(var(--spacing)*14)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.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)}.text-\[\#52f4df\]{color:#52f4df}.text-\[\#06111a\]{color:#06111a}.text-\[var\(--body-text\)\]{color:var(--body-text)}.text-\[var\(--foreground\)\]{color:var(--foreground)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/86{color:#ffffffdb}@supports (color:color-mix(in lab,red,red)){.text-white\/86{color:color-mix(in oklab,var(--color-white)86%,transparent)}}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:border-\[\#52f4df\]\/35:hover{border-color:oklab(87.8563% -.135977 -.00659621/.35)}.hover\:border-\[\#52f4df\]\/50:hover{border-color:oklab(87.8563% -.135977 -.00659621/.5)}.hover\:border-white\/40:hover{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/40:hover{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.hover\:bg-\[\#9cfff0\]:hover{background-color:#9cfff0}.hover\:bg-\[\#52f4df\]\/10:hover{background-color:oklab(87.8563% -.135977 -.00659621/.1)}.hover\:text-\[\#52f4df\]:hover{color:#52f4df}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}@media (min-width:40rem){.sm\:block{display:block}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:px-3{padding-inline:calc(var(--spacing)*3)}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (min-width:48rem){.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (min-width:64rem){.lg\:inline{display:inline}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2)format("woff2"),url(/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff)format("woff"),url(/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2)format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff)format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2)format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff)format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2)format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff)format("woff"),url(/_next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2)format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff)format("woff"),url(/_next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-Bold.d181c465.woff)format("woff"),url(/_next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff)format("woff"),url(/_next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Italic.8916142b.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-Italic.9024d815.woff)format("woff"),url(/_next/static/media/KaTeX_Main-Italic.47373d1e.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Regular.0462f03b.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff)format("woff"),url(/_next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2)format("woff2"),url(/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff)format("woff"),url(/_next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Math-Italic.f28c23ac.woff2)format("woff2"),url(/_next/static/media/KaTeX_Math-Italic.5295ba48.woff)format("woff"),url(/_next/static/media/KaTeX_Math-Italic.939bc644.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2)format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff)format("woff"),url(/_next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2)format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff)format("woff"),url(/_next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2)format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff)format("woff"),url(/_next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Script-Regular.03e9641d.woff2)format("woff2"),url(/_next/static/media/KaTeX_Script-Regular.07505710.woff)format("woff"),url(/_next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size1-Regular.eae34984.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff)format("woff"),url(/_next/static/media/KaTeX_Size1-Regular.fabc004a.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size2-Regular.5916a24f.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size2-Regular.57727022.woff)format("woff"),url(/_next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff)format("woff"),url(/_next/static/media/KaTeX_Size3-Regular.a144ef58.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff)format("woff"),url(/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2)format("woff2"),url(/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff)format("woff"),url(/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.6"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo)")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo)")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}:root{color-scheme:dark;--background:#070b14;--foreground:#edf6ff;--body-text:#bdcadc;--muted:#96a8c0;--line:#243247;--teal:#52f4df;--teal-dark:#103d43;--amber:#e8ff77;--coral:#ff70ce;--paper:#0b1222;--surface:#101a2b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 95% 10%,#17213e 0,transparent 45%),var(--background);color:var(--foreground);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body>footer,body>header,body>main{position:relative}body>footer,body>main{z-index:1}.ambient-background{z-index:0;pointer-events:none;isolation:isolate;position:fixed;inset:0;overflow:hidden}.ambient-grid{transform-origin:50% 45%;background-image:linear-gradient(#52f4df1a 1px,#0000 0),linear-gradient(90deg,#52f4df1a 1px,#0000 0);background-size:58px 58px;position:absolute;inset:-28%;transform:perspective(900px)rotateX(61deg)rotate(-8deg)translateY(-5%);-webkit-mask-image:radial-gradient(72% 70% at 50% 46%,#000 20%,#0000 78%);mask-image:radial-gradient(72% 70% at 50% 46%,#000 20%,#0000 78%)}.ambient-orb{aspect-ratio:1;filter:blur(22px);opacity:.12;border-radius:999px;width:min(42rem,78vw);position:absolute}.ambient-orb-teal{background:radial-gradient(circle,#52f4dfb8,#52f4df00 68%);top:7%;right:-18rem}.ambient-orb-amber{background:radial-gradient(circle,#ff70ce9e,#ff70ce00 68%);bottom:4%;left:-19rem}.ambient-noise{opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes section-reveal{0%{opacity:.58;transform:translateY(22px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@supports (animation-timeline:view()){main>section:not(:first-child){animation:section-reveal linear both;animation-timeline:view();animation-range:entry 4% cover 24%}}@media (max-width:640px){.ambient-grid{opacity:.72;background-size:46px 46px;inset:-20% -62%}.ambient-orb{opacity:.09}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ambient-grid,.ambient-orb,main>section:not(:first-child){transform:none;animation:none!important}}::selection{background:#ff70ce4d}.article-body{color:var(--body-text);font-size:1.04rem;line-height:1.85}.article-body h2,.article-body h3{color:var(--foreground);margin-top:2rem;margin-bottom:.75rem;font-weight:750}.article-body h2{font-size:1.45rem}.article-body h3{font-size:1.2rem}.article-body ol,.article-body p,.article-body ul{margin-bottom:1rem}.article-body ol,.article-body ul{padding-left:1.35rem}.article-body li{margin-bottom:.35rem}.article-body code{color:var(--teal);background:#52f4df17;border-radius:.35rem;padding:.1rem .35rem}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:5px}section[id]{scroll-margin-top:6rem}h1,h2,h3{text-wrap:balance}h2{letter-spacing:-.025em;line-height:1.3}p{text-wrap:pretty}.site-header{box-shadow:0 1px 24px #52f4df08}.site-header nav a[aria-current=page]{color:var(--teal);box-shadow:inset 0 -2px var(--teal);background:#52f4df0c}.focus-pill,.signal-strip p:first-child,.site-header nav,main p.uppercase{font-family:var(--font-mono);letter-spacing:.055em}main p.uppercase:before{content:"// ";opacity:.65}.cyber-hero{border-bottom:1px solid #52f4df40}.hero-image{filter:hue-rotate(135deg)saturate(.85)brightness(.65)}.hero-shade{background:linear-gradient(90deg,#070b14,#070b14f2 30%,#070b14a6 57%,#070b1430),linear-gradient(#0000 60%,#070b14)}.cyber-hero:after{content:"";z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#52f4df06 3px 4px);position:absolute;inset:0}.hero-copy{padding:1.5rem 0;position:relative}.hero-title{letter-spacing:-.055em;text-shadow:3px 2px #ff70ce60,-2px -1px #52f4df65,0 0 50px #52f4df1f;font-size:clamp(3.5rem,8vw,7rem)}.focus-pill{border-left:3px solid var(--teal);background:#0d2027cc}.hero-actions a{clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);border-radius:0;min-height:3.25rem;transition:background .18s,box-shadow .18s,transform .18s}.hero-actions a:hover{transform:translateY(-3px)}.hero-actions a:focus-visible{clip-path:none}.signal-strip{background:linear-gradient(90deg,#0c1724,#0e1223)}.signal-strip>div>div{border-left-color:#52f4df60}main a.border.rounded-sm,main article.border,main div.border.rounded-sm{background-image:linear-gradient(130deg,#52f4df05,#0000 55%,#ff70ce04);box-shadow:inset 0 1px #ffffff03,0 8px 30px #00000012}main a.border:hover{border-color:#52f4df70;box-shadow:0 0 24px #52f4df0c}#contact{border-top:1px solid #52f4df30}.article-body a{color:var(--teal);text-underline-offset:4px;text-decoration:underline}.article-body pre{border:1px solid var(--line);background:#0b1222;border-radius:4px;margin-bottom:1.5rem;padding:1.25rem;overflow-x:auto}.article-body pre code{background:0 0;padding:0}.article-body blockquote{border-left:2px solid var(--coral);padding-left:1rem}.article-body .katex-display{background:#0b1222cc;border:1px solid #52f4df38;margin:1.5rem 0;padding:.9rem 1.1rem;overflow:auto hidden}.article-body .katex{color:#e4f9f5;font-size:1.08em}@media (max-width:640px){.cyber-hero{min-height:72svh}.hero-shade{background:linear-gradient(90deg,#070b14f5,#070b14c9),linear-gradient(#0000,#070b14)}.focus-pill{letter-spacing:0;font-size:.75rem}.hero-copy{padding:0}.site-header>div{gap:.5rem;padding-inline:.75rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important}.hero-actions a:hover{transform:none}}.discipline-line{color:#d6e6ff;letter-spacing:.035em;font-size:clamp(1rem,2.1vw,1.35rem);font-weight:500}.discipline-cross{color:var(--coral);font-size:1.35em;font-weight:400}.project-spotlight{background:linear-gradient(110deg,#52f4df05,#0000 55%,#ff70ce05);border-block:1px solid #52f4df1c;position:relative}.project-spotlight article.border,.project-spotlight div.border{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0d182be8;border-color:#52f4df29}.entrance-sequence{z-index:100;pointer-events:none;color:var(--foreground);font-family:var(--font-mono);background:radial-gradient(at 50% 45%,#142339 0,#070b14 65%);place-items:center;animation:entrance-depart .65s cubic-bezier(.65,0,.25,1) 1.45s both;display:grid;position:fixed;inset:0;overflow:hidden}.entrance-grid{background-image:linear-gradient(#52f4df0c 1px,#0000 0),linear-gradient(90deg,#52f4df0c 1px,#0000 0);background-size:64px 64px;position:absolute;inset:-50%;transform:perspective(700px)rotateX(50deg);-webkit-mask-image:radial-gradient(#000 8%,#0000 60%);mask-image:radial-gradient(#000 8%,#0000 60%)}.entrance-scan{opacity:0;background:linear-gradient(90deg,#0000,#52f4dfb3,#0000);width:100%;height:1px;animation:entrance-scan 1.2s ease-in-out .1s both;position:absolute;top:0;left:0;box-shadow:0 0 32px 2px #52f4df28}.entrance-stage{aspect-ratio:1;place-items:center;width:min(32rem,82vw,74svh);display:grid;position:relative}.entrance-orbit,.entrance-orbits{position:absolute;inset:0}.entrance-orbit{border:1px solid #52f4df33;border-radius:50%;animation:entrance-orbit 1.7s cubic-bezier(.16,1,.3,1) both}.entrance-orbit-one{border-top-color:#52f4dfb3;border-right-color:#52f4df80;box-shadow:inset 0 0 35px #52f4df04,0 0 35px #52f4df07}.entrance-orbit-two{border-style:dashed;border-color:#526d8766;animation-direction:reverse;inset:9%}.entrance-orbit-three{border-left-color:#ff70ce99;border-right-color:#ff70ce99;inset:21%}.entrance-formula{color:#a9c1d9;background:#0c1523;padding:.4rem .6rem;font-size:.875rem;animation:entrance-materialize .6s ease-out .18s both;position:absolute}.entrance-formula-one{color:var(--teal);top:4%;left:18%}.entrance-formula-two{top:49%;right:-4%}.entrance-formula-three{color:var(--coral);bottom:3%;left:18%}.entrance-identity{flex-direction:column;align-items:center;animation:entrance-materialize .65s cubic-bezier(.16,1,.3,1) 80ms both;display:flex;position:relative}.entrance-prompt{color:var(--teal);letter-spacing:.06em;font-size:.75rem}.entrance-monogram{letter-spacing:-.1em;text-shadow:3px 0 #ff70ce65,-3px 0 #52f4df65,0 0 50px #52f4df26;margin-block:.4rem;font-size:clamp(4rem,13vw,7.5rem);font-weight:700;line-height:1.1;display:block}.entrance-monogram>span{color:var(--teal)}.entrance-monogram>i{color:var(--coral);font-size:.55em;font-style:normal}.entrance-name{letter-spacing:.32em;padding-left:.32em;font-size:.875rem}.entrance-disciplines{color:#a9c1d9;letter-spacing:.09em;margin-top:1.5rem;font-size:.75rem;animation:entrance-materialize .5s ease-out .4s both}.entrance-disciplines b{color:var(--coral);padding-inline:.3rem}.entrance-coordinate{color:#8cabc3;letter-spacing:.1em;font-size:.75rem;position:absolute;inset-inline:1.25rem}.entrance-coordinate-top{top:max(1.5rem,env(safe-area-inset-top))}.entrance-coordinate-bottom{bottom:max(1.5rem,env(safe-area-inset-bottom));text-align:center;line-height:1.8}@keyframes entrance-materialize{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes entrance-orbit{0%{opacity:0;transform:rotate(-65deg)scale(.88)}to{opacity:1;transform:rotate(25deg)scale(1)}}@keyframes entrance-scan{0%{opacity:0;transform:translateY(10svh)}20%,70%{opacity:.7}to{opacity:0;transform:translateY(90svh)}}@keyframes entrance-depart{0%{opacity:1;clip-path:inset(0)}70%{opacity:.4}to{opacity:0;clip-path:inset(48% 0);visibility:hidden}}body:has(a:focus-visible,button:focus-visible) .entrance-sequence{display:none}@media (max-width:480px){.entrance-formula{padding:.25rem;font-size:.75rem}.entrance-formula-two{top:38%;right:-2%}.entrance-disciplines{letter-spacing:.01em;margin-top:1rem}}@media (max-height:480px){.entrance-stage{width:min(19rem,75svh)}.entrance-monogram{font-size:3.5rem}.entrance-disciplines,.entrance-formula{display:none}}@media (prefers-reduced-motion:reduce){.entrance-sequence{animation:none;display:none}.entrance-sequence *{animation:none}}@media print{.ambient-background,.entrance-sequence{display:none}}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-semibold.ttf)format("truetype");font-weight:600;font-display:swap}:root{--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}body>header.site-header{background:#070d17e8;position:sticky}.site-header>div{min-height:80px}.site-header nav{letter-spacing:0}.site-header nav a{border-radius:0;position:relative}.page-shell{width:min(1280px,100% - 96px);margin-inline:auto}.portfolio-home h1,.portfolio-home h2,.portfolio-home h3{font-weight:600}.portfolio-home svg{flex-shrink:0}.portfolio-home{overflow:clip}.hero-v2{background:radial-gradient(at 74% 45%,#153b472d,#0000 52%),linear-gradient(#070b14db,#070b1450);position:relative}.hero-layout{grid-template-columns:1.05fr 1fr;align-items:center;gap:32px;min-height:670px;padding-block:68px 54px;display:grid}.hero-kicker{font:12px/1.8 var(--font-mono);letter-spacing:.075em;color:#b7cdc9;align-items:center;gap:10px;margin-bottom:30px;display:flex}.field-heading i,.panel-topline i,.status-light{background:var(--teal);border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 12px #52f4df55}.display-name{letter-spacing:-.065em;font-size:clamp(76px,8.7vw,120px);line-height:.91}.display-name-zh{letter-spacing:.015em;font-size:clamp(76px,7.4vw,104px);line-height:1.1}.name-period{color:var(--teal)}.name-romanized{font:13px/1.8 var(--font-mono);letter-spacing:.23em;color:#a9bfd2;margin-top:18px}.name-romanized span{color:#4e6579;padding-inline:14px}.hero-intersections{color:#dce6ef;letter-spacing:.015em;flex-wrap:wrap;gap:8px;margin-top:30px;font-size:18px;display:flex}.hero-intersections span{align-items:center;gap:8px;display:flex}.hero-intersections b{color:var(--teal);font-weight:400}.hero-description{max-width:480px;color:var(--muted);margin-top:18px;font-size:16px;line-height:1.95}.hero-links{flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px;display:flex}.button-outline,.button-primary,.icon-link{justify-content:center;align-items:center;gap:18px;min-height:49px;padding:12px 21px;font-size:14px;font-weight:600;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.button-primary{color:#071514;background:var(--teal);clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}.button-primary:hover{background:#a3ffed;transform:translateY(-2px)}.button-primary:focus-visible{clip-path:none}.button-outline{border:1px solid #596d7b80}.button-outline:hover{border-color:var(--teal);color:var(--teal);transform:translateY(-2px)}.icon-link{color:var(--muted);padding-inline:13px}.icon-link:hover{color:var(--teal)}.hero-location{color:#8ba0b6;font:12px/1.8 var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px;margin-top:32px;display:flex}.hero-location i{background:#506478;width:1px;height:12px;margin-inline:8px}.hero-location>span:last-child{letter-spacing:.07em;font-size:12px}.hero-baseline{font:12px/1.7 var(--font-mono);color:#8096ac;letter-spacing:.09em;border-top:1px solid #bed3e115;justify-content:space-between;align-items:center;padding-block:20px;display:flex}.hero-baseline a{color:#bdd0d9;align-items:center;gap:12px;display:flex}.research-field{min-width:0;margin:0;position:relative}.field-heading,.panel-topline{font:12px/1.5 var(--font-mono);letter-spacing:.1em;color:#91adbe;justify-content:space-between;align-items:center;display:flex}.field-heading>span,.panel-topline>span{align-items:center;gap:8px;display:flex}.field-toggle{color:#a1b7c5;font:12px/1 var(--font-mono);cursor:pointer;border:1px solid #799caf2b;align-items:center;gap:6px;padding:12px;display:flex}.field-toggle:hover{color:var(--teal);border-color:#52f4df70}.field-toggle:disabled{cursor:default}.field-canvas-wrap{height:420px;position:relative}.field-canvas-wrap canvas{width:100%;height:100%;display:block}.field-equation{font:12px/1.8 var(--font-mono);bottom:10px;left:0}.field-axis,.field-equation{color:#8cabbc;position:absolute}.field-axis{font:italic 13px var(--font-mono)}.field-axis-y{top:18px;left:50%}.field-axis-x{bottom:50px;right:8px}.field-caption{border-top:1px solid #8ca5b82b;justify-content:space-between;gap:20px;padding-top:18px;display:flex}.field-caption>div{flex-direction:column;gap:6px;display:flex}.field-index{font:12px/1.5 var(--font-mono);color:var(--teal);letter-spacing:.12em}.field-caption strong{font-size:16px;font-weight:400}.field-caption>span{text-align:right;color:#93aabb;font:12px/1.9 var(--font-mono)}.focus-ribbon{background:#101a2580;border-block:1px solid #748d9f21}.focus-ribbon-grid{grid-template-columns:repeat(3,1fr);display:grid}.focus-ribbon-grid>div{border-left:1px solid #748d9f21;gap:16px;padding:26px 25px;display:flex}.focus-ribbon-grid>div:first-child{border:0;padding-left:0}.focus-ribbon-grid>div:last-child{padding-right:0}.ribbon-number{color:#6e899b;font:12px/1.8 var(--font-mono)}.focus-ribbon-grid p{color:var(--teal);margin-bottom:7px;font-size:12px}.focus-ribbon-grid div>span:not(.ribbon-number){color:#b2c0cf;font-size:13px;line-height:1.7}.portfolio-section{padding-block:96px}.section-heading{margin-bottom:44px}.section-eyebrow{color:#b5c7d3;font:12px/1.8 var(--font-mono);letter-spacing:.09em;align-items:center;gap:14px;margin-bottom:17px;display:flex}.section-eyebrow>span{color:var(--teal);border-right:1px solid #53697c80;padding-right:14px}.section-heading h2{letter-spacing:-.025em;font-size:clamp(28px,3.1vw,42px);line-height:1.4}.spotlight-layout{grid-template-columns:1.1fr 1fr;align-items:center;gap:70px;display:grid}.project-category{color:var(--teal);font:12px/1.8 var(--font-mono);align-items:center;gap:10px;display:flex}.spotlight-story h3{letter-spacing:-.05em;margin-top:25px;font-size:64px;line-height:1.1}.spotlight-story h3>span:first-child{color:var(--teal)}.spotlight-story h3 .project-name-sub{letter-spacing:.015em;color:#e0eaf3;margin-top:15px;font-size:20px;font-weight:400;line-height:1.5;display:block}.project-role{color:#98b0c2;font:12px/1.8 var(--font-mono);margin-top:20px}.project-role span{color:#50687a;margin-inline:8px}.project-summary{color:var(--body-text);margin-top:20px;font-size:15px;line-height:1.9}.project-numbers{border-block:1px solid #91b6c325;grid-template-columns:1fr 1.15fr .8fr;margin-top:30px;padding-block:20px;display:grid}.project-numbers>div{flex-direction:column;gap:6px;display:flex}.project-numbers strong{letter-spacing:-.04em;font:600 48px/1.2 Space Grotesk,sans-serif}.project-numbers div>span{color:#9db4c1;font-size:12px}.project-numbers .project-year{color:#98b1bf;border-left:1px solid #91b6c325;justify-content:space-between;padding-left:28px}.project-year>span{font:13px/1.6 var(--font-mono)}.project-stack{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.project-stack span{font:12px/1.6 var(--font-mono);color:#b1c9d1;border:1px solid #6b8b9a38;padding:5px 10px}.retrieval-panel{background:linear-gradient(145deg,#142c3066,#0a1323c9);border:1px solid #6ca39b45;padding:28px;box-shadow:0 30px 80px #0002}.retrieval-question{color:#d4e7e8;margin-top:26px;font-size:17px}.pipeline{margin-top:25px;padding:0;list-style:none}.pipeline li{border-top:1px solid #6ca39b26;align-items:center;gap:18px;padding-block:21px;display:flex}.pipeline li>span{color:var(--teal);font:12px var(--font-mono)}.pipeline h4{font-size:16px;font-weight:500}.pipeline p{font:12px/1.7 var(--font-mono);color:#91aebb;margin-top:5px}.pipeline svg{color:#567c87;margin-left:auto}.pipeline li:last-child svg{color:var(--teal);transform:rotate(-90deg)}.pipeline-caption{color:var(--teal);font:12px/1.7 var(--font-mono);border-top:1px solid #6ca39b26;justify-content:space-between;gap:15px;padding-top:19px;display:flex}.pipeline-caption span{color:#8eaab6;font-size:12px}.selected-projects{background:#0c14228a;border-bottom:1px solid #637e9026}.project-archive{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.archive-card{background:linear-gradient(145deg,#1623328a,#0b132280);border:1px solid #68829135;flex-direction:column;min-width:0;padding:28px;transition:border-color .25s,transform .25s;display:flex;position:relative}.archive-card:hover{border-color:#52f4df60;transform:translateY(-5px)}.archive-card-top{color:#8eacbd;font:12px/1.8 var(--font-mono);letter-spacing:.06em;justify-content:space-between;align-items:center;display:flex}.archive-card-top svg{color:#80becc}.archive-symbol{color:var(--teal);font-size:29px;line-height:1}.archive-date{font:12px/1.8 var(--font-mono);color:#93aebe;margin-top:30px}.archive-card h3{margin-top:10px;font-size:19px;line-height:1.6}.archive-card h3 a{display:inline}.archive-card h3 svg{vertical-align:middle;color:var(--teal);margin-left:8px;display:inline}.archive-card h3 a:hover{color:var(--teal)}.archive-summary{color:#aabccc;margin-block:18px 28px;font-size:14px;line-height:1.9}.archive-foot{color:#87a2b6;border-top:1px solid #657e9035;flex-direction:column;gap:6px;margin-top:auto;padding-top:18px;font-size:12px;display:flex}.archive-foot span:last-child{color:#bad0d9}.experience-layout{grid-template-columns:.9fr 1.3fr;gap:90px;display:grid}.experience-layout .section-heading{margin-bottom:25px}.text-link{color:var(--teal);align-items:center;gap:12px;padding-block:8px;font-size:14px;display:inline-flex}.text-link:hover svg{transform:translate(2px,-2px)}.text-link svg{transition:transform .2s}.experience-row{grid-template-columns:32px 1fr;gap:22px;padding-bottom:35px;display:grid;position:relative}.experience-row:not(:last-child):before{content:"";background:#48677666;width:1px;position:absolute;top:32px;bottom:0;left:13px}.experience-marker{width:28px;height:28px;font:12px var(--font-mono);color:var(--teal);background:#0b1c24;border:1px solid #52f4df40;border-radius:50%;place-items:center;display:grid}.experience-date{font:12px/1.8 var(--font-mono);color:#91b2c0}.experience-row h3{margin-top:8px;font-size:21px}.experience-row h3 svg{color:var(--teal);margin-left:8px;display:inline}.experience-role{color:#b1c3cd;margin-top:8px;font-size:13px}.experience-role span{color:#637e90;margin-inline:6px}.experience-description{color:#93a8bb;margin-top:14px;font-size:14px;line-height:1.9}.education-section{background:#0c16216b;border-block:1px solid #6a829524}.education-track{grid-template-columns:repeat(3,1fr);display:grid}.education-stop{padding-right:40px;position:relative}.education-index{font:12px var(--font-mono);color:#91aab9;letter-spacing:.1em}.education-node{width:42px;height:42px;color:var(--teal);background:#0a1823;border:1px solid #52f4df50;border-radius:50%;place-items:center;margin-block:23px;display:grid;position:relative}.education-stop:before{content:"";background:#668c9b45;height:1px;position:absolute;top:62px;left:42px;right:0}.education-stop:last-child:before{right:25%}.education-period{color:#9ab8c5;font:12px/1.8 var(--font-mono)}.education-stop h3{margin-top:12px;font-size:21px}.education-stop>p:not(.education-period){color:#b2c3d0;margin-top:8px;font-size:14px;line-height:1.8}.education-location{color:#91a6b8;margin-top:8px;font-size:12px;display:block}.education-stop>p.education-detail{color:#8fa7ba;font-size:12px}.toolbox-layout{grid-template-columns:1.45fr 1fr;gap:55px;display:grid}.toolbox-group{border-top:1px solid #6a829530;grid-template-columns:145px 1fr;gap:20px;padding-block:22px;display:grid}.toolbox-group h3{font-size:14px}.toolbox-group h3>span{color:#6e94a9;font:12px var(--font-mono);margin-bottom:9px;display:block}.toolbox-group>div{flex-wrap:wrap;align-content:start;gap:8px;display:flex}.skill-token{color:#b9ccd6;border:1px solid #738e9d30;padding:5px 10px;font-size:12px;transition:border-color .2s,color .2s}.skill-token:hover{color:var(--teal);border-color:#52f4df70}.honors-panel{background:linear-gradient(145deg,#c9d6810c,#1d243412);border:1px solid #b9c27b30;padding:28px}.honors-panel>svg{color:#d5e59e;margin-bottom:20px}.honors-panel h3{font-size:20px}.honors-panel ul{margin-top:20px;list-style:none}.honors-panel li{color:#b7c2bc;border-top:1px solid #b9c27b24;gap:13px;padding-block:16px;font-size:13px;line-height:1.8;display:flex}.honors-panel li>span{font:12px/1.8 var(--font-mono);color:#c6d99b}.heading-with-link{justify-content:space-between;align-items:end;gap:20px;margin-bottom:38px;display:flex}.heading-with-link .section-heading{margin:0}.heading-with-link .text-link{flex-shrink:0}.journal-row{border-top:1px solid #718d9e40;grid-template-columns:52px 1fr 36px;gap:22px;padding-block:30px;transition:background .2s;display:grid}.journal-row:last-child{border-bottom:1px solid #718d9e40}.journal-index{font:14px/1.7 var(--font-mono);color:#68899f}.journal-meta{color:#8daabc;font:12px/1.8 var(--font-mono);flex-wrap:wrap;gap:25px;display:flex}.journal-meta span{color:#a8c1c3}.journal-row h3{margin-top:10px;font-size:26px}.journal-row>div>p:last-child{color:#91a6b8;margin-top:10px;font-size:14px;line-height:1.8}.journal-arrow{color:#9bbcc7;margin-top:5px;transition:transform .2s,color .2s}.journal-row:hover .journal-arrow{color:var(--teal);transform:translate(4px,-4px)}.journal-row:hover h3{color:var(--teal)}.contact-v2{background:radial-gradient(at 0 80%,#16484340,#0000 65%),#09121c;border-top:1px solid #52f4df40;padding-top:80px}.contact-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:50px;margin-block:35px 65px;display:grid}.contact-layout h2{white-space:pre-line;letter-spacing:-.02em;font-size:clamp(32px,4.1vw,54px);line-height:1.45}.contact-email{color:var(--teal);overflow-wrap:anywhere;border-bottom:1px solid #688e9e70;align-items:center;gap:16px;padding-bottom:16px;font-size:clamp(16px,1.75vw,23px);display:flex}.contact-email svg{margin-left:auto}.contact-layout>div>p{font:12px/1.9 var(--font-mono);color:#89a4b4;margin-top:16px}.contact-phone{color:#a8bfcd;font:12px var(--font-mono);align-items:center;gap:10px;margin-top:20px;display:inline-flex}.contact-end{color:#8facbd;font:12px var(--font-mono);border-top:1px solid #617e902a;justify-content:space-between;padding-block:22px;display:flex}.contact-end>span{color:#b6d9c8;letter-spacing:.15em}.contact-end a{align-items:center;gap:8px;display:flex}.page-intro{padding-top:26px;position:relative}.page-intro:before{content:"";background:var(--teal);width:56px;height:3px;margin-bottom:28px;display:block}.page-intro h1{letter-spacing:-.035em;font-size:clamp(38px,6vw,70px);line-height:1.15}.article-body{font-size:1.05rem;line-height:1.95}.article-body h2{border-top:1px solid #59788c35;padding-top:22px}.article-body pre{margin-block:24px;font-size:.85rem}.article-body table{border-collapse:collapse;margin-block:24px;display:block;overflow-x:auto}.article-body td,.article-body th{border:1px solid #57748755;padding:8px 14px}.article-body th{color:#d9edf2;background:#13232f}.article-body hr{border-color:#57748755;margin-block:28px}@media (max-width:1100px){.page-shell{width:calc(100% - 64px)}.hero-layout{gap:20px;min-height:620px}.field-canvas-wrap{height:370px}.spotlight-layout{gap:40px}.experience-layout{gap:45px}.archive-card{padding:22px}.toolbox-layout{gap:30px}.toolbox-group{grid-template-columns:120px 1fr}.hero-location>i,.hero-location>span:last-child{display:none}}@media (max-width:800px){.hero-layout{grid-template-columns:1fr;gap:50px;padding-top:50px}.hero-editorial{max-width:650px}.display-name:not(.display-name-zh) br{display:none}.display-name:not(.display-name-zh){font-size:clamp(70px,12vw,100px)}.display-name:not(.display-name-zh) br:after{content:" "}.research-field{width:100%;max-width:620px;margin-inline:auto}.field-canvas-wrap{height:390px}.hero-baseline>span{display:none}.hero-baseline{justify-content:flex-end}.focus-ribbon-grid{grid-template-columns:1fr;padding-block:10px}.focus-ribbon-grid>div{border:0;padding:12px 0}.focus-ribbon-grid p{margin-bottom:3px}.portfolio-section{padding-block:70px}.experience-layout,.spotlight-layout,.toolbox-layout{grid-template-columns:1fr;gap:35px}.project-archive{grid-template-columns:1fr}.archive-card{padding:26px}.archive-card-top{margin-bottom:0}.archive-date{margin-top:20px}.education-track{gap:25px}.education-stop{padding-right:0}.education-stop h3{font-size:18px}.education-stop:before{right:-25px}.education-stop:last-child:before{display:none}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-email{font-size:22px}.project-summary{max-width:620px}.toolbox-group{grid-template-columns:140px 1fr}}@media (max-width:520px){.page-shell{width:calc(100% - 40px)}.site-header>div{min-height:66px}.hero-kicker{margin-bottom:24px;font-size:12px}.hero-layout{gap:32px;padding-block:38px 30px}.display-name-zh{font-size:74px}.display-name:not(.display-name-zh){letter-spacing:-.06em;font-size:67px}.display-name:not(.display-name-zh) br{display:block}.name-romanized{letter-spacing:.16em;font-size:12px}.hero-intersections{margin-top:25px;font-size:16px}.hero-description{font-size:14px;line-height:1.95}.hero-links{gap:8px;margin-top:26px}.button-outline,.button-primary{gap:13px;padding-inline:16px;font-size:13px}.icon-link{padding-inline:8px}.hero-location{margin-top:22px}.field-heading{font-size:12px}.field-canvas-wrap{height:300px}.field-equation{font-size:12px}.field-caption strong{font-size:14px}.field-caption>span{font-size:12px}.field-caption{gap:10px}.hero-baseline{padding-block:14px}.portfolio-section{padding-block:55px}.section-heading{margin-bottom:30px}.section-eyebrow{letter-spacing:.06em;margin-bottom:12px;font-size:12px}.section-heading h2{font-size:28px;line-height:1.5}.project-category{font-size:12px}.spotlight-story h3{font-size:54px}.spotlight-story h3 .project-name-sub{font-size:18px}.project-summary{font-size:14px}.retrieval-panel{padding:22px}.panel-topline{font-size:12px}.pipeline-caption{flex-wrap:wrap}.project-numbers strong{font-size:43px}.project-numbers .project-year{padding-left:15px}.education-track{grid-template-columns:1fr;gap:32px}.education-stop{padding-left:65px}.education-node{margin:0;position:absolute;top:0;left:0}.education-stop:before{width:1px;height:auto;inset:42px auto -32px 20px}.education-period{margin-top:10px}.toolbox-group{grid-template-columns:1fr;gap:14px}.toolbox-group h3>span{margin-right:10px;display:inline}.honors-panel{padding:24px}.journal-row{grid-template-columns:24px 1fr 20px;gap:12px;padding-block:25px}.journal-row h3{font-size:21px}.journal-meta{gap:6px 18px;font-size:12px}.journal-arrow{width:20px}.journal-row>div>p:last-child{font-size:13px}.heading-with-link{flex-direction:column;align-items:start;gap:12px;margin-bottom:25px}.contact-v2{padding-top:55px}.contact-layout{margin-bottom:40px}.contact-layout h2{font-size:34px}.contact-email{font-size:17px}.contact-end{font-size:12px}.contact-end>span{letter-spacing:.07em}}@media (prefers-reduced-motion:reduce){.archive-card:hover,.button-outline:hover,.button-primary:hover,.journal-row:hover .journal-arrow{transform:none}}.archive-summary,.experience-description,.hero-description,.project-summary{font-size:16px}@media (max-width:520px){.hero-kicker{letter-spacing:0}.field-caption{flex-direction:column;gap:12px}.field-caption>span{text-align:left}.button-outline,.button-primary{font-size:14px}.hero-location{font-size:12px}.site-header nav a{padding-inline:8px}.site-header>div>a>span:first-child{width:32px;height:32px}.site-header nav{font-size:13px}}@supports (animation-timeline:view()){.portfolio-section>.page-shell>.section-heading{animation:section-reveal linear both;animation-timeline:view();animation-range:entry cover 18%}}@media (prefers-reduced-motion:reduce){.portfolio-section>.page-shell>.section-heading{animation:none}}@font-face{font-family:Noto Sans SC;src:url(/fonts/noto-sans-sc-regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/fonts/noto-sans-sc-semibold.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Noto Serif SC;src:url(/fonts/noto-serif-sc-semibold.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}:root{--font-body:"Space Grotesk","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--font-display:"Space Grotesk","Noto Serif SC","Songti SC","STSong",serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono","Noto Sans SC",monospace}body{font-family:var(--font-body)}h1,h2,h3{font-family:var(--font-display)}.portfolio-home .display-name-zh{letter-spacing:.06em;font-weight:600;line-height:1.2}.article-body,.contact-layout h2,.section-heading h2{letter-spacing:.015em}@media (max-width:520px){.portfolio-home .display-name-zh{letter-spacing:.045em;font-size:clamp(62px,17vw,74px)}}.pipeline h4,.toolbox-group h3{font-family:var(--font-body)}.spotlight-story h3 .project-name-sub{font-weight:600}@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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}