@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-noto-sans-sc),"PingFang SC","Microsoft YaHei",sans-serif;--default-mono-font-family:var(--font-ibm-plex-mono),"SFMono-Regular",Consolas,monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}html{scroll-behavior:smooth;scroll-padding-top:6.5rem}body{background-color:var(--background);color:var(--foreground);--type-display:var(--font-ibm-plex-mono),var(--font-noto-sans-sc),"PingFang SC",sans-serif;--type-mono:var(--font-ibm-plex-mono),"SFMono-Regular",Consolas,monospace;font-kerning:normal;background-image:linear-gradient(var(--foreground)1px,transparent 1px),linear-gradient(90deg,var(--foreground)1px,transparent 1px);min-width:320px;overflow-x:hidden}@supports (color:color-mix(in lab, red, red)){body{background-image:linear-gradient(color-mix(in oklch,var(--foreground)3%,transparent)1px,transparent 1px),linear-gradient(90deg,color-mix(in oklch,var(--foreground)3%,transparent)1px,transparent 1px)}}body{background-size:48px 48px}::selection{color:var(--primary-foreground);background:var(--primary)}:focus-visible{outline:3px solid var(--ring);outline-offset:4px}h1,h2,h3{font-family:var(--type-display);font-variant-numeric:tabular-nums slashed-zero;text-wrap:balance}p{text-wrap:pretty}img{max-width:100%;height:auto;display:block}a{text-underline-offset:.2em}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.top-3{top:calc(var(--spacing)*3)}.top-13{top:calc(var(--spacing)*13)}.right-3{right:calc(var(--spacing)*3)}.z-50{z-index:50}.m-0\!{margin:calc(var(--spacing)*0)!important}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing)*6)}.my-10{margin-block:calc(var(--spacing)*10)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#364153;--tw-prose-headings:#101828;--tw-prose-lead:#4a5565;--tw-prose-links:#101828;--tw-prose-bold:#101828;--tw-prose-counters:#6a7282;--tw-prose-bullets:#d1d5dc;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#101828;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6a7282;--tw-prose-kbd:#101828;--tw-prose-kbd-shadows:#1018281a;--tw-prose-code:#101828;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1e2939;--tw-prose-th-borders:#d1d5dc;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5dc;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#99a1af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#99a1af;--tw-prose-invert-bullets:#4a5565;--tw-prose-invert-hr:#364153;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#364153;--tw-prose-invert-captions:#99a1af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5dc;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4a5565;--tw-prose-invert-td-borders:#364153;font-size:1rem;line-height:1.75}@supports (color:lab(0% 0 0)){.prose{--tw-prose-body:lab(27.1134% -.956401 -12.3224);--tw-prose-headings:lab(8.11897% .811279 -12.254);--tw-prose-lead:lab(35.6337% -1.58697 -10.8425);--tw-prose-links:lab(8.11897% .811279 -12.254);--tw-prose-bold:lab(8.11897% .811279 -12.254);--tw-prose-counters:lab(47.7841% -.393182 -10.0268);--tw-prose-bullets:lab(85.1236% -.612259 -3.7138);--tw-prose-hr:lab(91.6229% -.159115 -2.26791);--tw-prose-quotes:lab(8.11897% .811279 -12.254);--tw-prose-quote-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-captions:lab(47.7841% -.393182 -10.0268);--tw-prose-kbd:lab(8.11897% .811279 -12.254);--tw-prose-kbd-shadows:lab(8.11897% .811279 -12.254/.1);--tw-prose-code:lab(8.11897% .811279 -12.254);--tw-prose-pre-code:lab(91.6229% -.159115 -2.26791);--tw-prose-pre-bg:lab(16.1051% -1.18239 -11.7533);--tw-prose-th-borders:lab(85.1236% -.612259 -3.7138);--tw-prose-td-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-invert-body:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-lead:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-counters:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-bullets:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-hr:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-quotes:lab(96.1596% -.0823438 -1.13575);--tw-prose-invert-quote-borders:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-captions:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-pre-code:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-th-borders:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-td-borders:lab(27.1134% -.956401 -12.3224)}}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-\[1px\]{height:1px}.h-\[300px\]{height:300px}.h-full{height:100%}.h-px{height:1px}.max-h-full{max-height:100%}.min-h-dvh{min-height:100dvh}.w-9{width:calc(var(--spacing)*9)}.w-\[1px\]{width:1px}.w-full{width:100%}.w-max{width:max-content}.max-w-full{max-width:100%}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:calc(var(--spacing)*0);--tw-border-spacing-y:calc(var(--spacing)*0);border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.cursor-pointer{cursor:pointer}.resize{resize:both}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.75rem}.rounded-md{border-radius:.5rem}.rounded-xl{border-radius:1rem}.rounded-t-xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-destructive{background-color:var(--destructive)}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/60{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.fill-primary{fill:var(--primary)}.object-cover{object-fit:cover}.object-center{object-position:center}.p-0\!{padding:calc(var(--spacing)*0)!important}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.font-mono{font-family:var(--font-ibm-plex-mono),"SFMono-Regular",Consolas,monospace}.font-sans{font-family:var(--font-noto-sans-sc),"PingFang SC","Microsoft YaHei",sans-serif}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-foreground,.text-foreground\/90{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/90{color:color-mix(in oklab,var(--foreground)90%,transparent)}}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-muted{--tw-ring-color:var(--muted)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.\!transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}@media (hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}@media (prefers-reduced-motion:reduce){.motion-reduce\:transform-none{transform:none}}@media (min-width:64rem){.lg\:opacity-0{opacity:0}@media (hover:hover){.lg\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:bg-muted\/40:where(.dark,.dark *){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--muted)40%,transparent)}}.dark\:prose-invert:where(.dark,.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:#f0ede4;--foreground:#171813;--card:#faf9f5;--card-foreground:#171813;--popover:#faf9f5;--popover-foreground:#171813;--primary:#dde134;--primary-foreground:#121209;--secondary:#dddbd3;--secondary-foreground:#22221d;--muted:#dddbd3;--muted-foreground:#595851;--accent:#dde134;--accent-foreground:#121209;--destructive:#db2c2b;--border:#b7b4ac;--input:#b7b4ac;--ring:#9da000;--graphite:#12120d;--paper:#f0ede4}@supports (color:lab(0% 0 0)){:root{--background:lab(93.8022% -.145108 4.59099);--foreground:lab(7.85513% -.869572 3.02094);--card:lab(97.9458% -.0836551 2.28801);--card-foreground:lab(7.85513% -.869572 3.02094);--popover:lab(97.9458% -.0836551 2.28801);--popover-foreground:lab(7.85513% -.869572 3.02094);--primary:lab(87.2823% -15.3183 76.4125);--primary-foreground:lab(5.37003% -1.17623 4.34036);--secondary:lab(87.3007% -.134051 4.20772);--secondary-foreground:lab(13.0831% -.994988 3.67941);--muted:lab(87.3007% -.134051 4.20772);--muted-foreground:lab(37.4508% -.882581 4.49695);--accent:lab(87.2823% -15.3183 76.4125);--accent-foreground:lab(5.37003% -1.17623 4.34036);--destructive:lab(49.1862% 66.0919 46.2066);--border:lab(73.3908% -.277817 4.58776);--input:lab(73.3908% -.277817 4.58776);--ring:lab(63.853% -12.3295 65.9068);--graphite:lab(5.3294% -.725567 2.55048);--paper:lab(93.8022% -.145108 4.59099)}}.dark{--background:#10100b;--foreground:#e9e6dd;--card:#171813;--card-foreground:#e9e6dd;--popover:#171813;--popover-foreground:#e9e6dd;--primary:#d6da3e;--primary-foreground:#10100a;--secondary:#23231e;--secondary-foreground:#e9e6dd;--muted:#23231e;--muted-foreground:#9b9890;--accent:#d6da3e;--accent-foreground:#10100a;--destructive:#e85854;--border:#383833;--input:#383833;--ring:#b6b933;--graphite:#070805;--paper:#e9e6dd}@supports (color:lab(0% 0 0)){.dark{--background:lab(4.48739% -.585929 2.05417);--foreground:lab(91.3661% -.144154 4.59167);--card:lab(7.85513% -.869572 3.02094);--card-foreground:lab(91.3661% -.144154 4.59167);--popover:lab(7.85513% -.869572 3.02094);--popover-foreground:lab(91.3661% -.144154 4.59167);--primary:lab(84.9096% -14.6806 71.2593);--primary-foreground:lab(4.50186% -.750199 2.67894);--secondary:lab(13.6554% -.904635 3.30319);--secondary-foreground:lab(91.3661% -.144154 4.59167);--muted:lab(13.6554% -.904635 3.30319);--muted-foreground:lab(62.9452% -.128448 4.60275);--accent:lab(84.9096% -14.6806 71.2593);--accent-foreground:lab(4.50186% -.750199 2.67894);--destructive:lab(57.6104% 56.6725 33.4484);--border:lab(23.5247% -1.01802 3.65911);--input:lab(23.5247% -1.01802 3.65911);--ring:lab(73.175% -12.9619 62.842);--graphite:lab(2.00988% -.298634 1.05632);--paper:lab(91.3661% -.144154 4.59167)}}.skip-link{z-index:80;background:var(--primary);color:var(--primary-foreground);padding:.8rem 1rem;font-size:.82rem;font-weight:700;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;isolation:isolate;border-bottom:1px solid var(--paper);position:sticky;top:0;overflow:clip}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in oklch,var(--paper)42%,var(--border))}}.site-header{background:linear-gradient(108deg,var(--paper),transparent 45%,var(--primary)),var(--background)}@supports (color:color-mix(in lab, red, red)){.site-header{background:linear-gradient(108deg,color-mix(in oklch,var(--paper)34%,transparent),transparent 45%,color-mix(in oklch,var(--primary)8%,transparent)),color-mix(in oklch,var(--background)62%,transparent)}}.site-header{box-shadow:0 1px 0 var(--paper),0 .85rem 2.6rem var(--foreground)}@supports (color:color-mix(in lab, red, red)){.site-header{box-shadow:0 1px 0 color-mix(in oklch,var(--paper)32%,transparent),0 .85rem 2.6rem color-mix(in oklch,var(--foreground)9%,transparent)}}.site-header{-webkit-backdrop-filter:blur(24px)saturate(145%)contrast(104%)}.site-header:before{z-index:0;background:linear-gradient(100deg,var(--paper),transparent 38%,var(--primary)100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.site-header:before{background:linear-gradient(100deg,color-mix(in oklch,var(--paper)24%,transparent),transparent 38%,color-mix(in oklch,var(--primary)6%,transparent)100%)}}.site-header:before{content:"";opacity:.72;pointer-events:none}.page-progress{z-index:55;transform-origin:0;background:var(--primary);opacity:0;pointer-events:none;height:3px;transition:opacity .18s;position:fixed;top:4.68rem;left:0;right:0}.page-progress[data-scrollable=true]{opacity:1}.site-header-inner{z-index:1;grid-template-columns:1fr auto 1fr;align-items:center;width:min(100% - 2rem,80rem);min-height:5.15rem;margin-inline:auto;display:grid;position:relative}.wordmark{align-items:center;gap:.85rem;width:fit-content;text-decoration:none;display:inline-flex}.wordmark span{aspect-ratio:1;border:1px solid var(--foreground);width:2.2rem;font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:-.05em;border-radius:50%;place-items:center;font-size:.58rem;font-weight:700;display:grid}.wordmark strong{font-family:var(--font-noto-sans-sc),"PingFang SC",sans-serif;letter-spacing:.035em;font-size:.94rem;font-weight:700}.primary-nav{align-items:center;gap:clamp(1.6rem,3.2vw,3.35rem);display:flex}.primary-nav a{isolation:isolate;color:var(--foreground);font-family:var(--font-noto-sans-sc),"PingFang SC",sans-serif;letter-spacing:.075em;grid-template-columns:auto auto;align-items:baseline;gap:.46rem;font-size:clamp(.9rem,.84vw,1rem);font-weight:700;line-height:1;text-decoration:none;display:grid;position:relative}.primary-nav a:before{z-index:-1;border:1px solid var(--paper);position:absolute;inset:-.62rem -.72rem}@supports (color:color-mix(in lab, red, red)){.primary-nav a:before{border:1px solid color-mix(in oklch,var(--paper)36%,transparent)}}.primary-nav a:before{background:linear-gradient(120deg,var(--paper),var(--primary)),var(--background);border-radius:.55rem}@supports (color:color-mix(in lab, red, red)){.primary-nav a:before{background:linear-gradient(120deg,color-mix(in oklch,var(--paper)28%,transparent),color-mix(in oklch,var(--primary)8%,transparent)),color-mix(in oklch,var(--background)44%,transparent)}}.primary-nav a:before{box-shadow:0 .7rem 1.3rem var(--foreground)}@supports (color:color-mix(in lab, red, red)){.primary-nav a:before{box-shadow:0 .7rem 1.3rem color-mix(in oklch,var(--foreground)9%,transparent)}}.primary-nav a:before{content:"";opacity:0;transition:opacity .22s,transform .22s cubic-bezier(.22,1,.36,1);transform:translateY(-.15rem)scale(.96)}.primary-nav a:hover:before,.primary-nav a[data-active=true]:before{opacity:1;transform:translateY(0)scale(1)}.primary-nav a:after{transform-origin:100%;background:var(--primary);content:"";height:1px;transition:transform .26s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-.72rem;left:1.18rem;right:0;transform:scaleX(0)}.primary-nav a:hover:after,.primary-nav a[data-active=true]:after{transform-origin:0;transform:scaleX(1)}.primary-nav a:hover .nav-index,.primary-nav a[data-active=true] .nav-index{color:var(--primary)}.nav-index{color:var(--muted-foreground);font-family:var(--font-ibm-plex-mono),monospace;font-variant-numeric:tabular-nums;letter-spacing:.09em;font-size:.6rem;font-weight:600}.nav-label{font-kerning:normal}.header-actions{justify-self:end;gap:.5rem;display:flex}.header-locale{border:1px solid var(--border);place-items:center;min-width:2.5rem;height:2.5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.header-locale{border:1px solid color-mix(in oklch,var(--border)75%,transparent)}}.header-locale{color:var(--foreground);font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.06em;border-radius:50%;font-size:.65rem;font-weight:700;text-decoration:none;transition:background .18s,color .18s,border-color .18s}.header-locale:hover{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.header-icon{cursor:pointer;width:2.5rem;height:2.5rem;color:var(--foreground);background:0 0;border:0;border-radius:50%;place-items:center;transition:background .18s,color .18s;display:grid}.header-icon:hover{background:var(--primary);color:var(--primary-foreground)}.header-icon svg{width:1.05rem;height:1.05rem}.page-shell{width:min(100% - 2rem,80rem);margin-inline:auto}.portfolio-main{padding-bottom:2.5rem}#top,#work,#writing{scroll-margin-top:6.5rem}.hero-section{grid-template-columns:minmax(0,.96fr) minmax(22rem,.84fr);align-items:center;gap:clamp(2rem,5vw,6rem);min-height:calc(100svh - 4.75rem);padding-block:clamp(3rem,7vw,6rem);display:grid;position:relative}.hero-copy{z-index:2;position:relative}.role-kicker{align-items:center;gap:.75rem;margin-bottom:1.6rem;display:flex}.role-kicker>span{background:var(--primary);width:2.8rem;height:2px}.role-kicker p{font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:600}.kinetic-title{letter-spacing:-.065em;width:max-content;max-width:100%;font-size:clamp(3.65rem,6.4vw,6.6rem);font-weight:700;line-height:.94}.kinetic-title>span{white-space:nowrap;padding-bottom:.08em;display:block;overflow:hidden}.kinetic-character{transform-origin:50% 100%;display:inline-block}.kinetic-title .accent-line{color:var(--primary);text-shadow:.018em .018em 0 var(--foreground)}.portfolio-main[lang=en] .kinetic-title{letter-spacing:-.075em;font-size:clamp(2.4rem,3.8vw,3.55rem)}.light .kinetic-title .accent-line{color:var(--foreground);text-shadow:.035em .035em 0 var(--primary)}.dark .kinetic-title .accent-line{text-shadow:.018em .018em 0 var(--graphite)}.hero-description{max-width:31rem;margin-top:2.35rem;font-size:clamp(1.04rem,1.55vw,1.22rem);line-height:1.9}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.magnetic-link{will-change:transform;justify-content:center;align-items:center;gap:.65rem;min-height:3.2rem;padding-inline:1.25rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.magnetic-link svg{width:1rem;height:1rem}.primary-action{background:var(--primary);color:var(--primary-foreground)}.secondary-action{border:1px solid var(--border);background:var(--background)}@supports (color:color-mix(in lab, red, red)){.secondary-action{background:color-mix(in oklch,var(--background)82%,transparent)}}.secondary-action{color:var(--foreground)}.primary-action,.secondary-action{transition:box-shadow .22s,border-color .22s}.primary-action:hover{box-shadow:7px 7px 0 var(--foreground)}.secondary-action:hover{border-color:var(--foreground)}.hero-art{perspective:1000px}.hero-visual{width:min(100%,35rem);transform-style:preserve-3d;margin-left:auto;position:relative}.hero-visual:before{z-index:-2;border:1px solid var(--foreground);content:"";position:absolute;inset:6% -4% -5% 8%;transform:translateZ(-15px)rotate(2.5deg)}.hero-visual:after{z-index:-1;background:var(--primary);content:"";position:absolute;inset:1rem -1rem -1rem 1rem;transform:translateZ(-8px)}.hero-visual img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.72)contrast(1.06);width:100%}.hero-visual figcaption{z-index:1;background:var(--primary);color:var(--primary-foreground);font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.05em;margin-top:0;padding:.65rem .9rem;font-size:.62rem;position:relative}.hero-orbit{z-index:2;aspect-ratio:1;border:1px solid var(--foreground);background:var(--primary);border-radius:50%;width:clamp(5.5rem,9vw,8rem);position:absolute;top:-3rem;right:-2rem}@supports (color:color-mix(in lab, red, red)){.hero-orbit{background:color-mix(in oklch,var(--primary)82%,transparent)}}.hero-orbit{opacity:.9}.hero-index{z-index:3;background:var(--graphite);color:var(--paper);font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.08em;padding:.55rem .7rem;font-size:.58rem;position:absolute;top:1rem;left:-1rem}.hero-status{font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.08em;align-items:center;gap:.6rem;font-size:.6rem;display:flex;position:absolute;bottom:1.2rem;left:0}.hero-status span{aspect-ratio:1;background:var(--primary);width:.5rem;box-shadow:0 0 0 4px var(--primary);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.hero-status span{box-shadow:0 0 0 4px color-mix(in oklch,var(--primary)22%,transparent)}}.hero-status span{animation:2.2s ease-in-out infinite status-pulse}.evidence-ribbon{border-block:1px solid var(--foreground);grid-template-columns:minmax(15rem,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(2rem,6vw,7rem);padding-block:clamp(2rem,4vw,3.4rem);display:grid}.evidence-ribbon>.editorial-copy{max-width:28rem;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.9}.evidence-facts{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.evidence-facts>div{border-left:1px solid var(--border);align-content:space-between;min-height:7.5rem;padding-left:clamp(1rem,2.5vw,2rem);display:grid}.evidence-facts span,.section-number{font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.08em;font-size:.64rem;font-weight:600}.section-number{align-items:center;gap:.75rem;width:fit-content;display:inline-flex}.section-number:before{background:var(--primary);content:"";width:1.8rem;height:2px}.evidence-facts strong{font-family:var(--type-display);letter-spacing:-.035em;font-size:clamp(1.5rem,2.6vw,2.15rem)}.evidence-facts small{color:var(--muted-foreground);font-size:.68rem}.work-section,.path-section,.experiment-section,.writing-section{padding-block:clamp(6rem,12vw,11rem)}.section-heading{grid-template-columns:minmax(10rem,.42fr) minmax(0,1fr);gap:2rem;margin-bottom:clamp(3rem,7vw,6rem);display:grid}.section-heading h2,.path-intro h2,.experiment-copy h2,.writing-intro h2{letter-spacing:-.04em;max-width:13ch;font-size:clamp(2.7rem,5.25vw,5.15rem);font-weight:700;line-height:1.02}.section-heading .editorial-copy,.path-intro .editorial-copy,.experiment-copy>.editorial-copy,.writing-intro>.editorial-copy{max-width:34rem;margin-top:1.65rem;font-size:clamp(1.04rem,1.45vw,1.2rem);line-height:1.9}.editorial-copy{letter-spacing:.018em;text-wrap:pretty}.editorial-copy>strong,.editorial-copy>span{display:block}.editorial-copy>strong{color:var(--foreground);font-family:var(--type-display);letter-spacing:-.012em;font-size:1.08em;font-weight:600;line-height:1.65}.editorial-copy>span{color:var(--muted-foreground);margin-top:.72rem}.editorial-copy>span:only-child{margin-top:0}.project-stack{gap:7rem;display:grid}.sticky-project{border:1px solid var(--foreground);background:var(--card);min-height:min(46rem,100svh - 8rem);box-shadow:0 28px 80px var(--foreground);position:sticky;top:6.5rem;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.sticky-project{box-shadow:0 28px 80px color-mix(in oklch,var(--foreground)12%,transparent)}}.sticky-project{transform-origin:top}.project-progress{z-index:3;transform-origin:0;background:var(--primary);pointer-events:none;height:4px;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.project-workflow{background:var(--graphite);color:var(--paper)}.project-topline{min-height:4rem;font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.08em;border-bottom:1px solid;justify-content:space-between;align-items:center;padding-inline:clamp(1.2rem,3vw,2.2rem);font-size:.66rem;display:flex}.project-topline a{color:inherit;align-items:center;gap:.45rem;font-weight:700;text-decoration:none;display:inline-flex}.project-topline svg{width:.9rem;height:.9rem;transition:transform .18s}.project-topline a:hover svg{transform:translate(.2rem,-.2rem)}.project-layout{min-height:calc(min(46rem,100svh - 8rem) - 4rem);display:grid}.project-layout-media{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr)}.project-layout-workflow{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr)}.project-copy{flex-direction:column;padding:clamp(2rem,4vw,4rem);display:flex}.project-copy h3{letter-spacing:-.045em;font-size:clamp(2.5rem,5vw,5rem);font-weight:700;line-height:1}.project-role{color:var(--primary);font-family:var(--type-mono);letter-spacing:.015em;margin-top:.85rem;font-size:.9rem;font-weight:600;line-height:1.55}.project-description{max-width:31rem;margin-top:1.8rem;font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.9}.project-workflow .editorial-copy>strong,.project-workflow .editorial-copy>span{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.project-workflow .editorial-copy>span{color:color-mix(in oklch,var(--paper)68%,transparent)}}.project-fact,.tag-group{border-top:1px solid;margin-top:1.6rem}@supports (color:color-mix(in lab, red, red)){.project-fact,.tag-group{border-top:1px solid color-mix(in oklch,currentColor 25%,transparent)}}.project-fact,.tag-group{padding-top:1rem}.project-fact p,.tag-group>p{color:var(--muted-foreground);font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem}.project-workflow .project-fact p,.project-workflow .tag-group>p{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.project-workflow .project-fact p,.project-workflow .tag-group>p{color:color-mix(in oklch,var(--paper)55%,transparent)}}.project-fact strong{max-width:38ch;margin-top:.55rem;font-size:.84rem;font-weight:550;line-height:1.75;display:block}.tag-group>div{flex-wrap:wrap;gap:.3rem 0;margin-top:.65rem;display:flex}.tag-group span{color:var(--muted-foreground);font-family:var(--font-ibm-plex-mono),monospace;white-space:nowrap;align-items:center;font-size:.68rem;line-height:1.7;display:inline-flex}.tag-group span:not(:last-child):after{color:currentColor;margin-inline:.7rem}@supports (color:color-mix(in lab, red, red)){.tag-group span:not(:last-child):after{color:color-mix(in oklch,currentColor 38%,transparent)}}.tag-group span:not(:last-child):after{content:"/"}.project-workflow .tag-group span{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.project-workflow .tag-group span{color:color-mix(in oklch,var(--paper)72%,transparent)}}.project-figure{border-left:1px solid var(--foreground);background:var(--secondary);flex-direction:column;justify-content:center;padding:clamp(1.2rem,3.5vw,3rem);display:flex;overflow:hidden}.project-figure img{border:1px solid var(--foreground);width:112%;max-width:none}@supports (color:color-mix(in lab, red, red)){.project-figure img{border:1px solid color-mix(in oklch,var(--foreground)40%,transparent)}}.project-figure img{box-shadow:0 24px 50px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.project-figure img{box-shadow:0 24px 50px color-mix(in oklch,var(--foreground)18%,transparent)}}.project-figure figcaption,.experiment-visual figcaption{color:var(--muted-foreground);font-family:var(--font-ibm-plex-mono),monospace;margin-top:.8rem;font-size:.62rem;line-height:1.5}.workflow-signal{border-right:1px solid var(--paper);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@supports (color:color-mix(in lab, red, red)){.workflow-signal{border-right:1px solid color-mix(in oklch,var(--paper)35%,transparent)}}.workflow-signal{background:radial-gradient(circle at 48% 48%,var(--primary),transparent 38%),var(--graphite)}@supports (color:color-mix(in lab, red, red)){.workflow-signal{background:radial-gradient(circle at 48% 48%,color-mix(in oklch,var(--primary)15%,transparent),transparent 38%),var(--graphite)}}.workflow-signal{padding:clamp(1.5rem,4vw,3.5rem)}.workflow-signal>div{border:1px solid var(--paper);flex-direction:column;justify-content:space-between;min-height:7rem;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.workflow-signal>div{border:1px solid color-mix(in oklch,var(--paper)22%,transparent)}}.workflow-signal>div{padding:1rem;transition:background .22s,color .22s,transform .22s}.workflow-signal>div:hover{z-index:2;background:var(--primary);color:var(--primary-foreground);transform:scale(1.03)}.workflow-signal span{font-family:var(--font-ibm-plex-mono),monospace;font-size:.58rem}.workflow-signal strong{font-size:.88rem}.capability-section{background:var(--graphite);width:100vw;color:var(--paper);margin-left:calc(50% - 50vw);padding:clamp(6rem,12vw,11rem) max(1rem,50vw - 40rem)}.section-heading-light p{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.section-heading-light p{color:color-mix(in oklch,var(--paper)62%,transparent)}}.section-heading-light .editorial-copy>strong,.section-heading-light .editorial-copy>span{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.section-heading-light .editorial-copy>span{color:color-mix(in oklch,var(--paper)68%,transparent)}}.capability-index{border-top:1px solid var(--paper);display:grid}@supports (color:color-mix(in lab, red, red)){.capability-index{border-top:1px solid color-mix(in oklch,var(--paper)28%,transparent)}}.spotlight-card{--spotlight-x:50%;--spotlight-y:50%;border-bottom:1px solid var(--paper);grid-template-columns:4rem minmax(12rem,.55fr) minmax(18rem,1fr) minmax(12rem,.55fr);align-items:start;gap:clamp(1rem,3vw,3rem);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.spotlight-card{border-bottom:1px solid color-mix(in oklch,var(--paper)28%,transparent)}}.spotlight-card{padding-block:clamp(2rem,5vw,3.5rem)}.spotlight-card:before{pointer-events:none;background:radial-gradient(24rem circle at var(--spotlight-x)var(--spotlight-y),var(--primary),transparent 58%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.spotlight-card:before{background:radial-gradient(24rem circle at var(--spotlight-x)var(--spotlight-y),color-mix(in oklch,var(--primary)20%,transparent),transparent 58%)}}.spotlight-card:before{content:"";opacity:0;transition:opacity .22s}.spotlight-card:hover:before{opacity:1}.spotlight-card>*{z-index:1;position:relative}.capability-number{color:var(--primary);font-family:var(--font-ibm-plex-mono),monospace;font-size:.68rem}.spotlight-card h3{letter-spacing:-.03em;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.12}.spotlight-card p{max-width:42ch;color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.spotlight-card p{color:color-mix(in oklch,var(--paper)62%,transparent)}}.spotlight-card p{letter-spacing:.015em;font-size:clamp(.96rem,1.25vw,1.06rem);line-height:1.9}.spotlight-card strong{border-left:2px solid var(--primary);padding-left:1rem;font-size:.84rem;font-weight:600;line-height:1.75}.path-section{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(3rem,8vw,8rem);display:grid}.path-intro{align-self:start}.path-intro h2{margin-top:1.5rem}.career-track{margin:0;padding:0;list-style:none}.career-track li{border-bottom:1px solid var(--border);grid-template-columns:3rem 5rem 1fr;align-items:baseline;gap:1rem;padding-block:clamp(1.4rem,3vw,2.2rem);display:grid}.career-track span{color:var(--primary);font-family:var(--font-ibm-plex-mono),monospace;font-size:.62rem}.career-track small{color:var(--muted-foreground);font-size:.68rem}.career-track strong{font-family:var(--type-display);letter-spacing:-.018em;font-size:clamp(1.05rem,2vw,1.45rem);font-weight:600}.experiment-section{border-top:1px solid var(--foreground);grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.experiment-visual{width:min(100%,31rem);position:relative}.experiment-visual figure{z-index:1;position:relative}.experiment-visual img{aspect-ratio:3/4;object-fit:cover;filter:saturate(.78)contrast(1.05);width:100%}.experiment-visual:before{border:1px solid var(--foreground);content:"";position:absolute;inset:1.25rem -1.25rem -1.25rem 1.25rem}.experiment-stamp{z-index:2;aspect-ratio:1;background:var(--primary);width:5.7rem;color:var(--primary-foreground);font-family:var(--font-ibm-plex-mono),monospace;border-radius:50%;place-items:center;font-size:.62rem;font-weight:700;display:grid;position:absolute;top:-1.1rem;right:-1.1rem;transform:rotate(9deg)}.experiment-copy h2{margin-top:1.5rem}.experiment-metrics{border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2.5rem;display:grid}.experiment-metrics>div{border-right:1px solid var(--border);min-height:7rem;padding:1.2rem}.experiment-metrics>div:last-child{border-right:0}.experiment-metrics strong,.experiment-metrics span{display:block}.experiment-metrics strong{font-family:var(--type-display);letter-spacing:-.03em;font-size:clamp(1.15rem,2.3vw,1.8rem)}.experiment-metrics span{color:var(--muted-foreground);margin-top:.65rem;font-size:.68rem}.inline-text-link{border-bottom:1px solid var(--foreground);width:fit-content;margin-top:2rem;padding:0 0 .45rem}.writing-section{border-top:1px solid var(--foreground);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.writing-intro h2{margin-top:1.5rem}.featured-article{border:1px solid var(--foreground);background:var(--card);min-height:19rem;color:var(--foreground);align-content:end;padding:clamp(1.5rem,4vw,3rem);text-decoration:none;transition:color .28s,background .28s,transform .28s;display:grid;position:relative;overflow:hidden}.featured-article:before{aspect-ratio:1;background:var(--primary);content:"";border-radius:50%;width:13rem;transition:transform .42s cubic-bezier(.22,1,.36,1);position:absolute;top:-4rem;right:-3rem}.featured-article:hover{background:var(--primary);color:var(--primary-foreground);transform:translateY(-.5rem)}.featured-article:hover:before{transform:scale(3.8)}.featured-article>*{z-index:1;position:relative}.featured-article>span{font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.08em;font-size:.6rem;font-weight:700}.featured-article>strong{max-width:17ch;font-family:var(--type-display);letter-spacing:-.03em;margin-top:1.2rem;font-size:clamp(1.65rem,3.3vw,2.8rem);line-height:1.15}.featured-article>small{color:var(--muted-foreground);margin-top:.8rem;font-size:.8rem}.featured-article:hover>small{color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.featured-article:hover>small{color:color-mix(in oklch,var(--primary-foreground)65%,transparent)}}.featured-article>svg{width:1.5rem;height:1.5rem;position:absolute;top:1.5rem;right:1.5rem}.contact-section{background:var(--primary);width:100vw;color:var(--primary-foreground);margin-left:calc(50% - 50vw);padding:clamp(6rem,12vw,10rem) max(1rem,50vw - 40rem)}.contact-section h2{letter-spacing:-.045em;max-width:12ch;margin-top:1.5rem;font-size:clamp(3rem,7vw,7rem);font-weight:700;line-height:.98}.contact-section .editorial-copy{max-width:34rem;margin-top:2.1rem;font-size:clamp(1.04rem,1.5vw,1.2rem);line-height:1.9}.contact-section .editorial-copy>strong,.contact-section .editorial-copy>span{color:var(--primary-foreground)}.contact-section .editorial-copy>span{opacity:.76}.contact-action{border:1px solid var(--primary-foreground);background:var(--primary-foreground);width:fit-content;color:var(--primary);margin-top:2.4rem}.contact-action:hover{box-shadow:7px 7px 0 var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.contact-action:hover{box-shadow:7px 7px 0 color-mix(in oklch,var(--primary-foreground)38%,transparent)}}.site-footer{border-top:1px solid var(--foreground);color:var(--muted-foreground);font-family:var(--font-ibm-plex-mono),monospace;letter-spacing:.05em;justify-content:space-between;gap:1rem;padding-block:2rem;font-size:.64rem;line-height:1.65;display:flex}.writing-page,.article-page{min-height:calc(100dvh - 5rem);padding-block:clamp(4.5rem,8vw,8rem) clamp(7rem,12vw,11rem)}.writing-masthead{grid-template-columns:minmax(8rem,.34fr) minmax(0,1fr);grid-template-areas:"kicker title"".intro";align-items:end;gap:.85rem clamp(2rem,5vw,6rem);display:grid}.page-kicker,.article-kicker{color:var(--muted-foreground);font-family:var(--type-mono);letter-spacing:.11em;font-size:.64rem;font-weight:600}.writing-masthead .page-kicker{grid-area:kicker;padding-bottom:.7rem}.section-title{letter-spacing:-.065em;grid-area:title;max-width:9ch;font-size:clamp(3.4rem,8vw,7.4rem);font-weight:700;line-height:.9}.section-intro{max-width:36rem;color:var(--muted-foreground);grid-area:intro;margin-top:.75rem;font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.85}.writing-index-list{border-top:1px solid var(--foreground);margin-top:clamp(4rem,8vw,7rem);display:grid}.writing-index-item{border-bottom:1px solid var(--foreground);color:var(--foreground);grid-template-columns:minmax(8rem,.34fr) minmax(0,1fr) auto;align-items:start;gap:clamp(1rem,3vw,3rem);padding:clamp(2rem,3.5vw,3.5rem) 0;text-decoration:none;transition:padding .26s cubic-bezier(.22,1,.36,1),background .26s;display:grid}.writing-index-item:hover{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.writing-index-item:hover{background:color-mix(in oklch,var(--primary)14%,transparent)}}.writing-index-item:hover{padding-inline:1rem}.writing-index-item time{color:var(--muted-foreground);font-family:var(--type-mono);letter-spacing:.035em;padding-top:.45rem;font-size:.66rem;font-weight:500}.writing-index-item strong{font-family:var(--type-display);letter-spacing:-.035em;font-size:clamp(1.55rem,3vw,2.8rem);font-weight:600;line-height:1.25;display:block}.writing-index-item small{max-width:42ch;color:var(--muted-foreground);margin-top:.85rem;font-size:.9rem;line-height:1.75;display:block}.writing-index-item svg{width:1.35rem;height:1.35rem;color:var(--primary);margin-top:.45rem;transition:transform .18s}.writing-index-item:hover svg{transform:translate(.25rem,-.25rem)}.article-page{position:relative}.article-back{border-bottom:1px solid var(--border);color:var(--muted-foreground);font-family:var(--type-mono);letter-spacing:.04em;align-items:center;gap:.45rem;padding-block:.35rem;font-size:.68rem;font-weight:600;text-decoration:none;transition:border-color .18s,color .18s;display:inline-flex}.article-back:hover{border-color:var(--primary);color:var(--foreground)}.article-back svg{width:.9rem;height:.9rem}.article-shell{width:min(100%,59rem);margin:clamp(3.5rem,8vw,7rem) auto 0}.article-header{border-bottom:1px solid var(--foreground);padding-bottom:clamp(2.4rem,5vw,4rem);display:grid}.article-kicker{margin-bottom:1.6rem}.article-title{letter-spacing:-.06em;max-width:15ch;font-size:clamp(2.75rem,6.7vw,6.2rem);font-weight:600;line-height:1.04}.article-title>span{display:block}.article-deck{max-width:34rem;color:var(--muted-foreground);margin-top:1.75rem;font-size:clamp(1.08rem,1.8vw,1.32rem);line-height:1.8}.article-meta{color:var(--muted-foreground);font-family:var(--type-mono);letter-spacing:.055em;flex-wrap:wrap;gap:.65rem 1.6rem;margin-top:2.2rem;font-size:.64rem;font-weight:500;display:flex}.article-meta>:not(:last-child):after{color:var(--border);content:"/";margin-left:1.6rem}.prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-links:var(--foreground);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--primary);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--primary)}.article-body{width:min(100%,45rem);margin:clamp(3.25rem,6vw,5rem) auto 0;font-size:clamp(1.02rem,1.3vw,1.1rem);line-height:2}.article-body>:first-child{margin-top:0;font-size:clamp(1.18rem,1.8vw,1.38rem);font-weight:500;line-height:1.9}.article-body p{margin-block:1.5em}.article-body h2,.article-body h3{max-width:20ch;font-family:var(--type-display);letter-spacing:-.035em;margin-top:2.5em;margin-bottom:.85em;font-weight:600;line-height:1.22}.article-body h2{font-size:clamp(1.8rem,3.4vw,2.65rem)}.article-body h3{font-size:clamp(1.4rem,2.5vw,1.8rem)}.article-body a{-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary);text-decoration-thickness:.16em}.article-body strong{font-weight:650}.article-body li{margin-block:.55rem;padding-left:.4rem}.article-body blockquote{border-left-width:3px;padding-left:1.5rem;font-size:1.08em;font-style:normal}.article-body code:not(pre code){border:1px solid var(--border);border-radius:0}.not-found-page{place-items:center;min-height:calc(100dvh - 4.75rem);padding:4rem 1rem 7rem;display:grid;position:relative;overflow:hidden}.not-found-code{color:#0000;font-family:var(--type-display);letter-spacing:-.12em;-webkit-text-stroke:1px var(--foreground);font-size:clamp(10rem,32vw,28rem);font-weight:700;line-height:.8;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-55%)}@supports (color:color-mix(in lab, red, red)){.not-found-code{-webkit-text-stroke:1px color-mix(in oklch,var(--foreground)18%,transparent)}}.not-found-code{-webkit-user-select:none;user-select:none}.not-found-copy{z-index:1;border:1px solid var(--foreground);background:var(--background);width:min(100%,38rem);position:relative}@supports (color:color-mix(in lab, red, red)){.not-found-copy{background:color-mix(in oklch,var(--background)91%,transparent)}}.not-found-copy{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:clamp(2rem,6vw,4.5rem)}.not-found-copy h1{letter-spacing:-.055em;max-width:8ch;margin-top:1.5rem;font-size:clamp(2.6rem,7vw,5.4rem);font-weight:650;line-height:1.02}.not-found-copy p{max-width:29rem;color:var(--muted-foreground);margin-top:1.35rem;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.8}.not-found-action{border-radius:0;min-height:3.15rem;margin-top:2.4rem;padding-inline:1.15rem;font-size:.8rem;font-weight:700}.not-found-action svg{width:1rem;height:1rem}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.78)}}@media (max-width:1320px){.hero-orbit,.hero-visual:before,.hero-visual:after{right:0}}@media (max-width:1100px){.hero-orbit{right:0}.hero-visual:before,.hero-visual:after{inset:0}.project-layout-media,.project-layout-workflow{grid-template-columns:1fr}.project-figure{border-top:1px solid var(--foreground);border-left:0;min-height:26rem}.project-figure img{width:100%}.workflow-signal{border-right:0;border-bottom:1px solid var(--paper);min-height:28rem}@supports (color:color-mix(in lab, red, red)){.workflow-signal{border-bottom:1px solid color-mix(in oklch,var(--paper)35%,transparent)}}.sticky-project{position:relative;top:auto}.spotlight-card{grid-template-columns:3rem minmax(10rem,.7fr) minmax(15rem,1.3fr)}.spotlight-card strong{grid-column:2/-1}}@media (max-width:900px){.hero-section{grid-template-columns:1fr;min-height:auto;padding-block:4rem 6rem}.hero-copy{max-width:42rem}.hero-art{width:min(92%,38rem);margin-inline:auto}.hero-status{bottom:1.4rem}}@media (max-width:720px){.site-header{background:linear-gradient(108deg,var(--paper),transparent 56%,var(--primary)),var(--background)}@supports (color:color-mix(in lab, red, red)){.site-header{background:linear-gradient(108deg,color-mix(in oklch,var(--paper)26%,transparent),transparent 56%,color-mix(in oklch,var(--primary)6%,transparent)),color-mix(in oklch,var(--background)72%,transparent)}}.site-header{-webkit-backdrop-filter:blur(20px)saturate(135%)}.site-header-inner{grid-template-columns:1fr auto;min-height:4.2rem}.page-progress{top:4.2rem}.primary-nav{right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));z-index:60;border:1px solid var(--paper);justify-content:center;gap:0;position:fixed;left:1rem}@supports (color:color-mix(in lab, red, red)){.primary-nav{border:1px solid color-mix(in oklch,var(--paper)36%,var(--border))}}.primary-nav{background:linear-gradient(115deg,var(--paper),transparent 48%,var(--primary)),var(--background)}@supports (color:color-mix(in lab, red, red)){.primary-nav{background:linear-gradient(115deg,color-mix(in oklch,var(--paper)30%,transparent),transparent 48%,color-mix(in oklch,var(--primary)8%,transparent)),color-mix(in oklch,var(--background)66%,transparent)}}.primary-nav{box-shadow:0 1px 0 var(--paper)inset,0 1rem 3.1rem var(--foreground)}@supports (color:color-mix(in lab, red, red)){.primary-nav{box-shadow:0 1px 0 color-mix(in oklch,var(--paper)30%,transparent)inset,0 1rem 3.1rem color-mix(in oklch,var(--foreground)16%,transparent)}}.primary-nav{-webkit-backdrop-filter:blur(22px)saturate(140%)}.primary-nav a{text-align:center;flex:1;justify-content:center;align-items:center;padding:.9rem .6rem;display:flex}.primary-nav a:after,.primary-nav a:before,.primary-nav .nav-index{display:none}.primary-nav .nav-label{letter-spacing:.07em;font-size:.86rem;font-weight:700}.primary-nav a[data-active=true]{background:var(--primary);color:var(--primary-foreground)}.page-shell,.site-header-inner{width:min(100% - 1.25rem,80rem)}.hero-section{gap:2.5rem;padding-top:2.4rem;padding-bottom:5rem}.kinetic-title{font-size:clamp(2.9rem,12.4vw,3.75rem)}.portfolio-main[lang=en] .kinetic-title{letter-spacing:-.075em;font-size:clamp(2.3rem,9vw,3.25rem)}.hero-visual{width:calc(94% - 1rem)}.hero-orbit{right:-.8rem}.hero-status{display:none}.hero-index{left:-.6rem}.evidence-ribbon,.section-heading,.path-section,.experiment-section,.writing-section{grid-template-columns:1fr}.evidence-ribbon{gap:2rem}.evidence-facts{gap:1rem}.evidence-facts>div{min-height:6.5rem;padding-left:.8rem}.evidence-facts strong{font-size:1.2rem}.evidence-facts small{font-size:.6rem;line-height:1.4}.project-stack{gap:2rem}.project-copy{padding:1.5rem}.project-figure{min-height:auto;padding:1rem}.project-figure img{width:100%}.workflow-signal{min-height:24rem;padding:1rem}.workflow-signal>div{min-height:6.5rem}.spotlight-card{grid-template-columns:2.5rem 1fr;gap:.75rem 1rem}.spotlight-card p,.spotlight-card strong{grid-column:2}.career-track li{grid-template-columns:2rem 4rem 1fr}.experiment-visual{width:calc(100% - 1rem)}.experiment-metrics{grid-template-columns:1fr}.experiment-metrics>div{border-right:0;border-bottom:1px solid var(--border);min-height:0}.experiment-metrics>div:last-child{border-bottom:0}.site-footer{padding-bottom:calc(6rem + env(safe-area-inset-bottom));flex-direction:column}.writing-page,.article-page{padding-block:3.5rem calc(7rem + env(safe-area-inset-bottom))}.writing-masthead{grid-template-columns:1fr;grid-template-areas:"kicker""title""intro";gap:.8rem}.writing-masthead .page-kicker{padding-bottom:.15rem}.section-title{font-size:clamp(3.7rem,19vw,5.2rem)}.section-intro{max-width:27rem;margin-top:.5rem;font-size:1.05rem}.writing-index-item{grid-template-columns:1fr auto;gap:1rem;padding-block:2rem}.writing-index-item time{grid-column:1/-1;padding-top:0}.writing-index-item strong{font-size:clamp(1.45rem,7vw,2rem)}.writing-index-item small{max-width:34ch;font-size:.86rem}.writing-index-item:hover{padding-inline:.65rem}.article-shell{margin-top:3rem}.article-title{font-size:clamp(2.45rem,12vw,4rem);line-height:1.08}.article-deck{margin-top:1.4rem;font-size:1.05rem}.article-meta{gap:.55rem .8rem;margin-top:1.8rem}.article-meta>:not(:last-child):after{margin-left:.8rem}.article-body{margin-top:3rem;font-size:1rem;line-height:1.95}.article-body>:first-child{font-size:1.12rem}.not-found-page{min-height:calc(100dvh - 4.2rem);padding-inline:0}.not-found-copy{padding:2rem 1.4rem 2.4rem}}@media (hover:none),(pointer:coarse){.spotlight-card:before{display:none}.workflow-signal>div:hover,.featured-article:hover{transform:none}}@media (prefers-reduced-transparency:reduce){.site-header,.primary-nav{background:var(--background);-webkit-backdrop-filter:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.magnetic-link,.hero-visual,.sticky-project,.project-progress{transform:none!important}}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
body{background-image:none}.page-shell{z-index:1;width:min(100% - 5rem,75rem);position:relative}.site-header-inner{width:min(100% - 5rem,75rem)}.hero-section{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);min-height:min(740px,100svh - 4.75rem);padding-block:clamp(2.5rem,4vw,4rem) 4rem}.hero-copy{min-width:0}.hero-section .kinetic-title{font-family:var(--font-noto-sans-sc), "PingFang SC", sans-serif;letter-spacing:-.065em;font-size:clamp(2.9rem,4.8vw,4.8rem);line-height:1.16}.hero-section .kinetic-title .accent-line{color:var(--foreground);text-shadow:none}.portfolio-main[lang=en] .hero-section .kinetic-title{letter-spacing:-.06em;font-family:Helvetica Neue,Arial,sans-serif;font-size:clamp(2.7rem,4.5vw,4.5rem);line-height:1.08}.hero-section .role-kicker{margin-bottom:1.7rem}.hero-section .role-kicker>span{background:var(--foreground);width:1.5rem}.hero-description{max-width:29rem;margin-top:1.9rem;font-size:1rem;line-height:1.85}.hero-actions{margin-top:1.8rem}.hero-actions .magnetic-link{will-change:auto;min-height:3rem;transition:background .18s,transform .18s;transform:none!important}.hero-actions .primary-action{background:var(--foreground);color:var(--background)}.hero-actions .primary-action:hover{background:var(--primary);color:var(--primary-foreground);box-shadow:none}.hero-actions .magnetic-link:hover{transform:translateY(-2px)!important}.hero-actions .secondary-action{background:0 0;border-color:#0000}.hero-art{perspective:none;width:100%;margin:0}.hero-status{bottom:1.8rem}.hero-status span{width:.35rem;box-shadow:none;background:var(--muted-foreground);animation:none}.hero-portal{--portal-line:color-mix(in oklch, var(--foreground) 26%, var(--background));--portal-surface:color-mix(in oklch, var(--background) 80%, var(--card));width:min(100%,32rem);margin:0 0 0 auto;position:relative}.portal-heading{letter-spacing:-.03em;justify-content:space-between;align-items:center;padding-bottom:1rem;font-size:1.05rem;font-weight:700;display:flex}.portal-heading>svg{width:1.1rem;height:1.1rem}.portal-stage{background:var(--portal-surface);border-block:1px solid var(--border);padding-block:1rem .5rem;position:relative}.portal-labels{color:var(--muted-foreground);font-family:var(--type-mono);letter-spacing:.06em;justify-content:space-between;margin-bottom:.75rem;padding-inline:1rem;font-size:.625rem;display:flex}.portal-labels>span:last-child{align-items:center;gap:.5rem;display:inline-flex}.portal-labels>span:last-child:before{content:"";background:var(--primary);border-radius:50%;width:.35rem;height:.35rem}.portal-composition{aspect-ratio:8/5;width:100%;height:auto;display:block;overflow:hidden}.portal-surface{fill:var(--portal-surface)}.portal-wire{stroke:var(--portal-line)}.portal-seam{stroke:var(--primary)}.portal-mobile-image{display:none}.portal-viewport{isolation:isolate;-webkit-user-select:none;user-select:none;position:relative}.portal-runtime{pointer-events:none;opacity:0;transition:opacity .45s;position:absolute;inset:0}.portal-runtime[data-phase=ready]{opacity:1}.portal-runtime canvas{width:100%;height:100%;display:block}.portal-runtime-global{z-index:100;mix-blend-mode:difference;contain:strict;position:fixed;inset:0}.portal-caption{padding-top:1.25rem}.portal-caption strong{font-size:.875rem;font-weight:600;display:block}.portal-caption p{color:var(--muted-foreground);max-width:29rem;margin-top:.5rem;font-size:.75rem;line-height:1.7}.portal-caption a{align-items:center;gap:.75rem;min-height:44px;margin-top:.35rem;font-size:.75rem;font-weight:600;display:inline-flex}.portal-caption a:hover{text-decoration:underline}.portal-caption a svg{width:.8rem;height:.8rem}@media (min-width:721px) and (max-width:1100px){.page-shell,.site-header-inner{width:calc(100% - 4rem)}.hero-section{gap:1.5rem}.hero-section .kinetic-title{font-size:clamp(2rem,4.6vw,3.15rem)}.portfolio-main[lang=en] .hero-section .kinetic-title{font-size:clamp(1.75rem,4.05vw,2.85rem)}.hero-section .role-kicker{gap:.5rem;margin-bottom:1.4rem}.hero-section .role-kicker p{letter-spacing:.06em;font-size:.65rem}.hero-description{margin-top:1.5rem;font-size:.9rem}.hero-actions{gap:.4rem;margin-top:1.5rem}.hero-actions .magnetic-link{padding-inline:.7rem;font-size:.75rem}}@media (max-width:720px){.hero-section{grid-template-columns:1fr;gap:3rem;min-height:auto;padding-block:3rem 5rem}.hero-copy{max-width:42rem}.hero-art{width:min(100%,38rem)}.hero-portal{width:100%;margin:0}.portal-composition,.portal-viewport,.portal-labels{display:none}.portal-stage{border:1px solid var(--border);padding:0}.portal-mobile-image{aspect-ratio:8/5;object-fit:cover;object-position:top;width:100%;height:auto;display:block}.site-header{-webkit-backdrop-filter:none;overflow:visible}.site-header:before{-webkit-backdrop-filter:blur(20px)saturate(135%)}.page-shell,.site-header-inner{width:calc(100% - 2rem)}.hero-section{gap:2.8rem;padding-block:2.75rem 3rem}.hero-section .kinetic-title{font-size:clamp(2.15rem,8.8vw,3.8rem)}.portfolio-main[lang=en] .hero-section .kinetic-title{font-size:clamp(1.95rem,8.4vw,3.6rem)}.hero-section .role-kicker{margin-bottom:1.4rem}.hero-section .role-kicker p{letter-spacing:.06em;font-size:.65rem}.hero-description{margin-top:1.5rem}.hero-actions{gap:.4rem}.hero-actions .magnetic-link{padding-inline:.8rem;font-size:.75rem}.portal-caption p{font-size:.75rem}}@media (prefers-reduced-motion:reduce){.portal-runtime{display:none}.hero-actions .magnetic-link{transition:none}.hero-actions .magnetic-link:hover{transform:none!important}}
