/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans:"JetBrains Mono","Noto Sans SC","Microsoft YaHei","PingFang SC","Hiragino Sans GB","Source Han Sans CN","WenQuanYi Micro Hei",sans-serif;--font-mono:"JetBrains Mono","Noto Sans SC","Cascadia Code",Consolas,"Microsoft YaHei","Courier New",monospace;--font-weight-bold:700;--ease-out:cubic-bezier(0,0,0.2,1);--default-transition-duration:150ms;--default-transition-timing-function:cubic-bezier(0.4,0,0.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--animate-fade-in-up:fade-in-up 0.5s ease-out forwards}}@layer base{*,::after,::before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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,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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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)){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,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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"]),::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 utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%;@media (width >= 480px){max-width:480px}@media (width >= 768px){max-width:768px}@media (width >= 64rem){max-width:64rem}@media (width >= 80rem){max-width:80rem}@media (width >= 96rem){max-width:96rem}}.prose{color:var(--tw-prose-body);max-width:65ch;:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:1.25em;margin-bottom:1.25em}:where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-bold);font-weight:600}:where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit}:where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit}:where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit}:where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}:where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:upper-alpha}:where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:lower-alpha}:where(ol[type="A"s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:upper-alpha}:where(ol[type="a"s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:lower-alpha}:where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:upper-roman}:where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:lower-roman}:where(ol[type="I"s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:upper-roman}:where(ol[type="i"s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:lower-roman}:where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:decimal}:where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}:where(ol>li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}:where(ul>li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{color:var(--tw-prose-bullets)}:where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}: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}:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:0.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}:where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{content:open-quote}:where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{content:close-quote}:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111}:where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){font-weight:900;color:inherit}:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}:where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){font-weight:800;color:inherit}:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6}:where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){font-weight:700;color:inherit}:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5}:where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){font-weight:700;color:inherit}:where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}:where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)){display:block;margin-top:2em;margin-bottom:2em}:where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}:where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:0.875em;border-radius:0.3125rem;padding-top:0.1875em;padding-inline-end:0.375em;padding-bottom:0.1875em;padding-inline-start:0.375em}:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-code);font-weight:600;font-size:0.875em}:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{content:"`"}:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{content:"`"}:where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit}:where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit}:where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit;font-size:0.875em}:where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit;font-size:0.9em}:where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit}:where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit}:where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:inherit}:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-inline-end:1.1428571em;padding-bottom:0.8571429em;padding-inline-start:1.1428571em}:where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}:where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{content:none}:where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{content:none}:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857}:where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}:where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:0.5714286em;padding-bottom:0.5714286em;padding-inline-start:0.5714286em}:where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}:where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){border-bottom-width:0}:where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)){vertical-align:baseline}:where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}:where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){vertical-align:top}:where(th,td):not(:where([class~="not-prose"],[class~="not-prose"] *)){text-align:start}:where(figure>*):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0;margin-bottom:0}:where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){color:var(--tw-prose-captions);font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em}--tw-prose-body:rgb(var(--ref-color-on-background));--tw-prose-headings:rgb(var(--ref-color-on-background));--tw-prose-lead:oklch(44.6% 0.03 256.802);--tw-prose-links:rgb(var(--ref-color-primary));--tw-prose-bold:rgb(var(--ref-color-on-background));--tw-prose-counters:rgb(var(--ref-color-on-surface-variant));--tw-prose-bullets:rgb(var(--ref-color-on-surface-variant));--tw-prose-hr:rgb(var(--ref-color-outline));--tw-prose-quotes:rgb(var(--ref-color-on-background));--tw-prose-quote-borders:rgb(var(--ref-color-primary));--tw-prose-captions:rgb(var(--ref-color-on-surface-variant));--tw-prose-kbd:oklch(21% 0.034 264.665);--tw-prose-kbd-shadows:color-mix(in oklab,oklch(21% 0.034 264.665) 10%,transparent);--tw-prose-code:rgb(var(--ref-color-on-surface-variant));--tw-prose-pre-code:rgb(var(--ref-color-on-surface));--tw-prose-pre-bg:rgb(var(--ref-color-surface-variant));--tw-prose-th-borders:oklch(87.2% 0.01 258.338);--tw-prose-td-borders:oklch(92.8% 0.006 264.531);--tw-prose-invert-body:rgb(var(--ref-color-on-background));--tw-prose-invert-headings:rgb(var(--ref-color-on-background));--tw-prose-invert-lead:oklch(70.7% 0.022 261.325);--tw-prose-invert-links:rgb(var(--ref-color-primary));--tw-prose-invert-bold:rgb(var(--ref-color-on-background));--tw-prose-invert-counters:rgb(var(--ref-color-on-surface-variant));--tw-prose-invert-bullets:rgb(var(--ref-color-on-surface-variant));--tw-prose-invert-hr:rgb(var(--ref-color-outline));--tw-prose-invert-quotes:rgb(var(--ref-color-on-background));--tw-prose-invert-quote-borders:rgb(var(--ref-color-primary));--tw-prose-invert-captions:rgb(var(--ref-color-on-surface-variant));--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:rgb(255 255 255/10%);--tw-prose-invert-code:rgb(var(--ref-color-on-surface-variant));--tw-prose-invert-pre-code:rgb(var(--ref-color-on-surface));--tw-prose-invert-pre-bg:rgb(var(--ref-color-surface-variant));--tw-prose-invert-th-borders:oklch(44.6% 0.03 256.802);--tw-prose-invert-td-borders:oklch(37.3% 0.034 259.733);font-size:1rem;line-height:1.75;:where(picture>img):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0;margin-bottom:0}:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0.5em;margin-bottom:0.5em}:where(ol>li):not(:where([class~="not-prose"],[class~="not-prose"] *)){padding-inline-start:0.375em}:where(ul>li):not(:where([class~="not-prose"],[class~="not-prose"] *)){padding-inline-start:0.375em}:where(.prose>ul>li p):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0.75em;margin-bottom:0.75em}:where(.prose>ul>li>p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:1.25em}:where(.prose>ul>li>p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-bottom:1.25em}:where(.prose>ol>li>p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:1.25em}:where(.prose>ol>li>p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-bottom:1.25em}:where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0.75em;margin-bottom:0.75em}:where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:1.25em;margin-bottom:1.25em}:where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0.5em;padding-inline-start:1.625em}:where(hr+*):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0}:where(h2+*):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0}:where(h3+*):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0}:where(h4+*):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0}:where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){padding-inline-start:0}:where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){padding-inline-end:0}:where(tbody td,tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){padding-top:0.5714286em;padding-inline-end:0.5714286em;padding-bottom:0.5714286em;padding-inline-start:0.5714286em}:where(tbody td:first-child,tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){padding-inline-start:0}:where(tbody td:last-child,tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){padding-inline-end:0}:where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}:where(.prose>:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-top:0}:where(.prose>:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){margin-bottom:0}}.block{display:block}.contents{display:contents}.grid{display:grid}.table{display:table}.animate-fade-in-up{animation:var(--animate-fade-in-up)}.resize{resize:both}.lowercase{text-transform:lowercase}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-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))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}@layer base{:root{--material-source-color:#466cae}}@keyframes fade-in-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes overlay-fade-in{from{opacity:0}to{opacity:1}}@keyframes overlay-fade-out{from{opacity:1}to{opacity:0}}@keyframes slide-in-from-right{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-to-right{from{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes search-dialog-in{from{opacity:0;transform:translateY(-12px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes search-dialog-out{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(0.98)}}@keyframes dropdown-show{from{opacity:0;transform:translateY(-10px) scaleY(0.8)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes dropdown-hide{from{opacity:1;transform:translateY(0) scaleY(1)}to{opacity:0;transform:translateY(-10px) scaleY(0.8)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.animate-fade-in-up{animation:fade-in-up 500ms ease-out forwards}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:0.001ms !important}.page-content{opacity:1}}@layer base{:root{color-scheme:dark;--fallback-background:20,18,23;--fallback-on-background:236,229,236;--fallback-surface:25,22,28;--fallback-on-surface:236,229,236;--fallback-on-surface-variant:201,192,202;--fallback-outline:77,71,79;--fallback-primary:215,187,255;--fallback-on-primary:59,29,88;--fallback-primary-container:84,52,116;--fallback-on-primary-container:239,221,255;--fallback-secondary:206,194,210;--fallback-on-secondary:48,43,51;--fallback-secondary-container:79,70,85;--fallback-on-secondary-container:238,224,242;--fallback-tertiary:255,181,193;--fallback-error:255,180,171;--fallback-on-error:105,0,5;--page-width:1060px;--reading-width:720px;--toc-width:220px;--article-gap:68px;--article-frame:calc(var(--reading-width) + var(--toc-width) + var(--article-gap));--site-wallpaper:none;--site-wallpaper-position:50% 50%;--bg-image-opacity:0.48;--bg-image-filter:saturate(0.78) contrast(0.92) brightness(0.84);--scrim-top:rgb(var(--ref-color-background,var(--fallback-background)));@supports (color:color-mix(in lab,red,red)){--scrim-top:color-mix(in srgb,rgb(var(--ref-color-background,var(--fallback-background))) 21%,transparent)}--scrim-mid:rgb(var(--ref-color-background,var(--fallback-background)));@supports (color:color-mix(in lab,red,red)){--scrim-mid:color-mix(in srgb,rgb(var(--ref-color-background,var(--fallback-background))) 56%,transparent)}--scrim-bottom:rgb(var(--ref-color-background,var(--fallback-background)));@supports (color:color-mix(in lab,red,red)){--scrim-bottom:color-mix(in srgb,rgb(var(--ref-color-background,var(--fallback-background))) 84%,transparent)}--header-bg:rgb(var(--ref-color-background,var(--fallback-background)));@supports (color:color-mix(in lab,red,red)){--header-bg:color-mix(in srgb,rgb(var(--ref-color-background,var(--fallback-background))) 50%,transparent)}--font-display:Iowan Old Style,"Palatino Linotype","Book Antiqua","Noto Serif SC",Georgia,serif;--font-body:"Noto Sans SC",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}html[data-theme="light"]{color-scheme:light;--bg-image-opacity:0.46;--bg-image-filter:saturate(0.6) contrast(0.86) brightness(1.06);--scrim-top:color-mix(in srgb,white 24%,transparent);--scrim-mid:rgb(var(--ref-color-background,247,243,248));@supports (color:color-mix(in lab,red,red)){--scrim-mid:color-mix(in srgb,rgb(var(--ref-color-background,247,243,248)) 49%,transparent)}--scrim-bottom:rgb(var(--ref-color-background,247,243,248));@supports (color:color-mix(in lab,red,red)){--scrim-bottom:color-mix(in srgb,rgb(var(--ref-color-background,247,243,248)) 75%,transparent)}--header-bg:rgb(var(--ref-color-background,247,243,248));@supports (color:color-mix(in lab,red,red)){--header-bg:color-mix(in srgb,rgb(var(--ref-color-background,247,243,248)) 48%,transparent)}}body.dark{--scrim-top:rgb(var(--ref-color-background,var(--fallback-background)));@supports (color:color-mix(in lab,red,red)){--scrim-top:color-mix(in srgb,rgb(var(--ref-color-background,var(--fallback-background))) 21%,transparent)}--scrim-mid:rgb(var(--ref-color-background,var(--fallback-background)));@supports (color:color-mix(in lab,red,red)){--scrim-mid:color-mix(in srgb,rgb(var(--ref-color-background,var(--fallback-background))) 56%,transparent)}--scrim-bottom:rgb(var(--ref-color-background,var(--fallback-background)));@supports (color:color-mix(in lab,red,red)){--scrim-bottom:color-mix(in srgb,rgb(var(--ref-color-background,var(--fallback-background))) 84%,transparent)}--header-bg:rgb(var(--ref-color-background,var(--fallback-background)));@supports (color:color-mix(in lab,red,red)){--header-bg:color-mix(in srgb,rgb(var(--ref-color-background,var(--fallback-background))) 50%,transparent)}}*,*::before,*::after{box-sizing:border-box}html{font-size:100%;min-height:100%;scrollbar-gutter:stable;overflow-y:scroll;scroll-behavior:smooth;background:rgb(var(--ref-color-background,var(--fallback-background)));&::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}&::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}&::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}scrollbar-color:var(--scrollbar-thumb,initial) var(--scrollbar-track,initial);&::-webkit-scrollbar{display:block;width:8px;height:8px}scrollbar-width:thin;--tw-scrollbar-track:transparent;scrollbar-color:var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);--scrollbar-track:transparent}body{position:relative;isolation:isolate;min-height:100vh;margin:0;overflow-x:clip;color:rgb(var(--ref-color-on-background,var(--fallback-on-background)));background:rgb(var(--ref-color-background,var(--fallback-background)));font-family:var(--font-body);line-height:1.68;letter-spacing:-0.01em;transition:color 280ms ease,background-color 280ms ease}body::before,body::after{position:fixed;inset:0;pointer-events:none;content:""}body::before{z-index:0;background-image:var(--site-wallpaper);background-position:var(--site-wallpaper-position,center);background-size:cover;opacity:var(--bg-image-opacity);filter:var(--bg-image-filter);transform:scale(1.025);transition:opacity 280ms ease,filter 280ms ease}body::after{z-index:1;background:linear-gradient(to bottom,var(--scrim-top) 0%,var(--scrim-mid) 31%,var(--scrim-bottom) 78%,rgb(var(--ref-color-background,var(--fallback-background))) 100%);transition:background 280ms ease}body>*{position:relative;z-index:2}a{color:inherit;text-decoration:none}button,input{color:inherit;font:inherit}button{border:0}img{display:block;max-width:100%}::selection{color:rgb(var(--ref-color-on-primary,var(--fallback-on-primary)));background:rgb(var(--ref-color-primary,var(--fallback-primary)))}:focus-visible{outline:3px solid rgb(var(--ref-color-primary,var(--fallback-primary)));@supports (color:color-mix(in lab,red,red)){outline:3px solid color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 72%,white 12%)}outline-offset:3px}.no-transition *{transition-property:none !important;animation-duration:0.001ms !important}@media (max-width:700px){html{font-size:100%}}}@layer components{.app-layout{display:flex;min-height:100vh;flex-direction:column}.main-content{display:flex;flex:1 1 auto;flex-direction:column;padding:0}.page-container{width:100%;flex:1 1 auto;padding:0 0 80px}.shell,.article-frame{width:min(calc(100% - 42px),var(--page-width));margin-inline:auto}.article-frame{width:min(calc(100% - 42px),var(--article-frame))}.page-content{opacity:0}.muted{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant))) 82%,transparent)}}.kicker{color:rgb(var(--ref-color-primary,var(--fallback-primary)));font-family:var(--font-mono);font-size:0.76rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.markdown-heading-kicker{display:block;margin:2.5em 0 0.5em;color:rgb(var(--ref-color-primary,var(--fallback-primary)));font-family:var(--font-mono);font-size:0.76rem;font-weight:700;letter-spacing:0.08em;line-height:1.5;text-transform:uppercase}.markdown-body .markdown-heading-kicker+h2{margin-top:0.75rem}.markdown-body .markdown-heading-kicker+h3{margin-top:0.5rem}.display-title,.page-title,.article-title{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-weight:600;letter-spacing:-0.045em}.btn{display:inline-flex;min-height:43px;align-items:center;justify-content:center;gap:8px;padding:0 17px;border:1px solid transparent;border-radius:999px;font-weight:650;text-decoration:none;transition:transform 160ms ease,background-color 160ms ease,color 160ms ease,box-shadow 160ms ease}.btn:hover{box-shadow:0 10px 24px rgb(var(--ref-color-shadow,0,0,0));@supports (color:color-mix(in lab,red,red)){box-shadow:0 10px 24px color-mix(in srgb,rgb(var(--ref-color-shadow,0,0,0)) 16%,transparent)}transform:translateY(-1px)}.btn.btn-tonal{color:rgb(var(--ref-color-on-secondary-container,var(--fallback-on-secondary-container)));background:rgb(var(--ref-color-secondary-container,var(--fallback-secondary-container)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-secondary-container,var(--fallback-secondary-container))) 86%,transparent)}}.btn.btn-outlined{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));border-color:rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 70%,transparent)}background:rgb(var(--ref-color-surface,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface,var(--fallback-surface))) 22%,transparent)}}.markdown-container{min-width:0}.markdown-body{min-width:0;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))) 96%,transparent)}font-size:1.03rem;line-height:1.82}.markdown-body>:first-child{margin-top:0}.markdown-body p{margin:0 0 1.45em}.markdown-body>p:first-child{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:1.14rem}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-weight:600;line-height:1.22;scroll-margin-top:96px}.markdown-body h1{margin:0 0 1em;font-size:clamp(2rem,5vw,3.5rem)}.markdown-body h2{margin:2.5em 0 0.8em;font-size:1.95rem;letter-spacing:-0.03em}.markdown-body h3{margin:2em 0 0.75em;font-family:var(--font-body);font-size:1.2rem;letter-spacing:-0.02em}.markdown-body a{color:rgb(var(--ref-color-primary,var(--fallback-primary)));text-decoration:underline;text-decoration-color:rgb(var(--ref-color-primary,var(--fallback-primary)));@supports (color:color-mix(in lab,red,red)){text-decoration-color:color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 48%,transparent)}text-underline-offset:3px}.markdown-body a.btn{text-decoration:none}.markdown-body ul,.markdown-body ol{margin:0 0 1.5em;padding-left:1.3em}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body li{margin:0.38em 0}.markdown-body blockquote{margin:2em 0;padding:0.15em 0 0.15em 20px;border-left:2px solid rgb(var(--ref-color-primary,var(--fallback-primary)));@supports (color:color-mix(in lab,red,red)){border-left:2px solid color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 72%,transparent)}color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-family:var(--font-display);font-size:1.12rem}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body table{display:block;max-width:100%;margin:1.6em 0;overflow-x:auto;border-collapse:collapse}.markdown-body th,.markdown-body td{padding:0.65em 0.9em;border-bottom:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-bottom:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 45%,transparent)}text-align:left}.markdown-body th{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)))}.markdown-body code,.article-meta,.article-card-extra{font-family:var(--font-mono)}.markdown-body p code,.markdown-body li code{padding:0.12em 0.34em;border-radius:6px;background:rgb(var(--ref-color-surface-container-high,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))) 78%,transparent)}font-size:0.9em}.markdown-body pre{max-width:100%;margin:1.8em 0;padding:18px 20px;overflow:auto;border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 48%,transparent)}border-radius:14px;background:rgb(var(--ref-color-surface-container-high,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))) 78%,transparent)}font:0.9rem/1.65 var(--font-mono)}.markdown-body pre code{padding:0;background:transparent;color:inherit}.katex-display{max-width:100%;overflow-x:auto;padding:18px 0 8px}.katex,.katex *{box-sizing:border-box}@media (max-width:700px){.shell,.article-frame{width:calc(100% - 28px)}.page-container{padding-bottom:56px}}}@layer utilities{.hljs-comment,.hljs-quote{color:rgb(var(--ref-color-outline));font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst,.hljs-type,.hljs-class{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:rgb(var(--ref-color-primary))}.hljs-string,.hljs-regexp,.hljs-literal{color:rgb(var(--ref-color-tertiary))}.hljs-title,.hljs-section,.hljs-name{color:rgb(var(--ref-color-secondary))}.hljs-variable,.hljs-template-variable{color:rgb(var(--ref-color-on-surface-variant))}.hljs-attr,.hljs-attribute,.hljs-selector-id,.hljs-number{color:rgb(var(--ref-color-on-tertiary-container))}.hljs-symbol,.hljs-bullet{color:rgb(var(--ref-color-secondary-container))}.hljs-built_in,.hljs-builtin-name{color:rgb(var(--ref-color-tertiary))}.hljs-addition{background-color:rgb(var(--ref-color-primary-container))}.hljs-deletion{background-color:rgb(var(--ref-color-error))}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}}@layer theme{@font-face {font-family:'Material Symbols Outlined';font-style:normal;font-weight:400;src:url("/fonts/material-symbols-outlined-v251.woff2") format('woff2')}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}}@layer components{.site-header{position:sticky;top:0;z-index:70;border-bottom:1px solid transparent;background:transparent;transition:background-color 220ms ease,backdrop-filter 220ms ease,border-color 220ms ease,box-shadow 220ms ease}.site-header.scrolled{border-bottom-color:rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-bottom-color:color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 48%,transparent)}background:var(--header-bg);box-shadow:0 8px 22px rgb(0 0 0/8%);backdrop-filter:blur(15px) saturate(0.95);-webkit-backdrop-filter:blur(15px) saturate(0.95)}.site-header.scrolled::after{position:absolute;right:0;bottom:-8px;left:0;height:8px;background:linear-gradient(to bottom,rgb(255 255 255/3%),rgb(0 0 0/5%),transparent);content:"";filter:blur(2px);pointer-events:none}.nav{display:flex;min-height:68px;align-items:center;gap:8px}.brand{margin-right:auto;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-mono);font-weight:700;letter-spacing:-0.02em;transition:color 160ms ease,transform 160ms ease}.brand:hover{color:rgb(var(--ref-color-primary,var(--fallback-primary)));transform:translateY(-1px)}.navbar-brand-short{display:none}.navbar-desktop{display:flex;align-items:center;gap:4px}.nav-link,.icon-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border-radius:999px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant))) 88%,transparent)}background:transparent;cursor:pointer;transition:background-color 160ms ease,color 160ms ease,transform 160ms ease}.nav-link:hover,.icon-button:hover{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));background:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))) 8%,transparent)}}.nav-link-active{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)))}.nav-login-link{color:rgb(var(--ref-color-on-primary-container,var(--fallback-on-primary-container)));background:rgb(var(--ref-color-primary-container,var(--fallback-primary-container)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-primary-container,var(--fallback-primary-container))) 76%,transparent)}}.nav-login-link:hover{color:rgb(var(--ref-color-on-primary-container,var(--fallback-on-primary-container)));background:rgb(var(--ref-color-primary-container,var(--fallback-primary-container)))}.nav-link .material-symbols-outlined,.icon-button .material-symbols-outlined{font-size:19px}.navbar-mobile-button{display:none}.mobile-menu-overlay{position:fixed;z-index:80;inset:0;background:rgb(0 0 0/48%)}.mobile-menu-overlay-fade-in{animation:overlay-fade-in 180ms cubic-bezier(0.16,1,0.3,1) forwards}.mobile-menu-overlay-fade-out{animation:overlay-fade-out 180ms cubic-bezier(0.16,1,0.3,1) forwards}.mobile-menu-panel{position:fixed;z-index:90;top:0;right:0;bottom:0;display:flex;width:min(85vw,360px);flex-direction:column;border-left:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-left:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 42%,transparent)}background:rgb(var(--ref-color-surface,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface,var(--fallback-surface))) 94%,transparent)}box-shadow:-20px 0 60px rgb(0 0 0/18%);backdrop-filter:blur(18px)}.mobile-menu-panel-slide-in{animation:slide-in-from-right 180ms cubic-bezier(0.16,1,0.3,1) forwards}.mobile-menu-panel-slide-out{animation:slide-out-to-right 180ms cubic-bezier(0.16,1,0.3,1) forwards}.mobile-menu-header,.mobile-menu-footer{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-bottom:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 40%,transparent)}}.mobile-menu-footer{justify-content:flex-end;border-top:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-top:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 40%,transparent)}border-bottom:0}.mobile-menu-title{margin:0;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:1.4rem}.mobile-menu-close-button{width:40px;padding:0}.mobile-menu-links{display:flex;flex:1;flex-direction:column;gap:7px;padding:20px}.mobile-menu-links .nav-link{justify-content:flex-start;min-height:48px;border-radius:14px;font-size:1.05rem}.mobile-menu-links .nav-link-active{color:rgb(var(--ref-color-on-primary-container,var(--fallback-on-primary-container)));background:rgb(var(--ref-color-primary-container,var(--fallback-primary-container)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-primary-container,var(--fallback-primary-container))) 82%,transparent)}}@media (max-width:700px){.nav{min-height:62px}.navbar-desktop{display:none}.navbar-mobile-button{display:inline-flex;width:42px;padding:0}.navbar-brand-long{display:none}.navbar-brand-short{display:inline}}.theme-toggle-button{position:relative;display:inline-flex;width:52px;height:32px;align-items:center;padding:0;border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 50%,transparent)}border-radius:999px;background:rgb(var(--ref-color-surface-container-high,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))) 78%,transparent)}cursor:pointer;transition:background-color 300ms ease,border-color 300ms ease}.theme-toggle-button:hover{border-color:rgb(var(--ref-color-primary,var(--fallback-primary)));@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 72%,transparent)}}.theme-toggle-thumb{position:absolute;top:3px;left:3px;display:flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:rgb(var(--ref-color-secondary,var(--fallback-secondary)));box-shadow:0 3px 10px rgb(0 0 0/18%);transition:transform 300ms ease,background-color 300ms ease}.theme-toggle-thumb-light{transform:translateX(0)}.theme-toggle-thumb-dark{background:rgb(var(--ref-color-primary,var(--fallback-primary)));transform:translateX(20px)}.theme-toggle-icon-container{position:absolute;display:flex;width:100%;height:100%;align-items:center;justify-content:center;transition:opacity 300ms ease}.theme-toggle-icon-visible{opacity:1}.theme-toggle-icon-hidden{opacity:0}.theme-toggle-icon{color:rgb(var(--ref-color-on-secondary,var(--fallback-on-secondary)));font-size:15px}.theme-toggle-icon-dark{color:rgb(var(--ref-color-on-primary,var(--fallback-on-primary)))}.progress-bar-container{position:fixed;top:0;left:0;z-index:110;width:100%;height:3px;pointer-events:none}.progress-bar-active,.progress-bar-inactive,.progress-bar-reading{height:100%;background:rgb(var(--ref-color-primary,var(--fallback-primary)));transition:width 400ms ease-out}.progress-bar-active{width:100%}.progress-bar-inactive{width:0;transition-duration:100ms}.progress-bar-reading{width:0;transition:width 120ms linear}.error-page-container{display:grid;min-height:54vh;place-items:center;color:rgb(var(--ref-color-on-background,var(--fallback-on-background)))}.error-page-content{width:min(100% - 28px,520px);padding:54px 28px;border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 48%,transparent)}border-radius:22px;background:rgb(var(--ref-color-surface,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface,var(--fallback-surface))) 36%,transparent)}text-align:center}.error-page-icon-container{margin-bottom:18px}.error-page-icon{font-size:48px}.error-page-icon-404{color:rgb(var(--ref-color-secondary,var(--fallback-secondary)))}.error-page-icon-500,.error-page-icon-default{color:rgb(var(--ref-color-error,var(--fallback-error)))}.error-page-icon-network{color:rgb(var(--ref-color-tertiary,var(--fallback-tertiary)))}.error-page-title{margin:0 0 11px;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:clamp(2rem,7vw,3rem);line-height:1.05}.error-page-message{margin:0 auto;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)))}.error-page-details{margin:24px 0 0;padding:13px 15px;border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 40%,transparent)}border-radius:10px;text-align:left}.error-page-details-summary{color:rgb(var(--ref-color-primary,var(--fallback-primary)));cursor:pointer;font-size:0.86rem}.error-page-details-content{margin:12px 0 0;overflow-x:auto;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:0.75rem/1.6 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.error-page-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:29px}.error-page-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid transparent;border-radius:999px;cursor:pointer;font-weight:650;transition:transform 160ms ease,background-color 160ms ease,color 160ms ease}.error-page-button:hover{transform:translateY(-1px)}.error-page-button-primary{color:rgb(var(--ref-color-on-primary,var(--fallback-on-primary)));background:rgb(var(--ref-color-primary,var(--fallback-primary)))}.error-page-button-secondary{color:rgb(var(--ref-color-on-secondary-container,var(--fallback-on-secondary-container)));background:rgb(var(--ref-color-secondary-container,var(--fallback-secondary-container)))}.error-page-button-tertiary{color:rgb(var(--ref-color-on-tertiary-container,var(--fallback-on-secondary-container)));background:rgb(var(--ref-color-tertiary-container,var(--fallback-secondary-container)))}.error-page-button-icon{font-size:20px}.home-hero{display:flex;min-height:min(680px,72vh);align-items:center;padding:72px 0 84px}.home-hero-inner{max-width:790px}.home-hero .display-title{margin:12px 0 24px;font-size:clamp(3.6rem,9vw,7.5rem);line-height:0.98}.display-title-subtitle{display:block;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))) 76%,transparent)}}.home-copy{max-width:54ch;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:1.07rem}.home-copy p{margin:0}.hero-actions,.socials{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}.socials{margin-top:18px}.social-link{display:grid;width:40px;height:40px;place-items:center;border-radius:999px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));transition:color 160ms ease,background-color 160ms ease,transform 160ms ease}.social-link:hover{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));background:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))) 8%,transparent)}transform:translateY(-2px)}.layered-divider{position:relative;height:32px}.layered-divider::before{position:absolute;top:14px;right:0;left:0;height:1px;background:linear-gradient(to right,transparent,rgb(var(--ref-color-outline,var(--fallback-outline))) 10%,rgb(var(--ref-color-outline,var(--fallback-outline))) 50%,rgb(var(--ref-color-outline,var(--fallback-outline))) 90%,transparent);@supports (color:color-mix(in lab,red,red)){background:linear-gradient(to right,transparent,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 38%,transparent) 10%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 56%,transparent) 50%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 38%,transparent) 90%,transparent)}content:""}.layered-divider::after{position:absolute;top:15px;right:7%;left:7%;height:10px;background:linear-gradient(to bottom,rgb(255 255 255/3%),rgb(0 0 0/6%),transparent);content:"";filter:blur(6px)}.recent{padding:30px 0 94px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:10px}.section-head h2{margin:7px 0 0;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-size:1.42rem;font-weight:700;letter-spacing:-0.025em}.section-link{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.88rem;transition:color 160ms ease,transform 160ms ease}.section-link:hover{color:rgb(var(--ref-color-primary,var(--fallback-primary)));transform:translateX(2px)}.article-list-skeleton{display:grid;gap:18px;padding-top:20px}.article-list-skeleton span{display:block;height:112px;border-radius:14px;background:rgb(var(--ref-color-surface-container-high,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))) 58%,transparent)}}.article-load-note{margin-top:24px}@media (max-width:700px){.home-hero{min-height:58vh;padding:48px 0 64px}.home-hero .display-title{font-size:clamp(3.3rem,16vw,5.2rem)}.section-head{align-items:start;flex-direction:column;gap:8px}}.rich-markdown-home{width:min(calc(100% - 42px),var(--page-width));margin-inline:auto}.rich-markdown-home .markdown-fragment,.rich-markdown-article .markdown-fragment{display:contents}.rich-markdown-home>.markdown-fragment>.markdown-body{max-width:none;margin-inline:0}.directive{--directive-line:rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){--directive-line:color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 17%,transparent)}--directive-soft:rgb(var(--ref-color-surface-container,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){--directive-soft:color-mix(in srgb,rgb(var(--ref-color-surface-container,var(--fallback-surface))) 42%,transparent)}--directive-accent:rgb(var(--ref-color-primary,var(--fallback-primary)));min-width:0;margin:38px 0}.directive-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.directive-section-title{margin:8px 0 0;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.45rem);font-weight:600;letter-spacing:-0.04em;line-height:1.15}.directive-section-link{display:inline-flex;flex:0 0 auto;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.9rem;text-decoration:none;transition:color 160ms ease,transform 160ms ease;white-space:nowrap}.directive-section-link:hover{color:var(--directive-accent);transform:translateX(2px)}.directive-hero{position:relative;display:grid;min-height:min(680px,72vh);align-items:center;margin:0 0 76px;padding:76px 0 78px;background:transparent;border:0}.directive-hero::after{position:absolute;right:0;bottom:-16px;left:0;height:1px;background:linear-gradient(to right,transparent,rgb(var(--ref-color-outline,var(--fallback-outline))) 10%,rgb(var(--ref-color-outline,var(--fallback-outline))) 50%,rgb(var(--ref-color-outline,var(--fallback-outline))) 90%,transparent);@supports (color:color-mix(in lab,red,red)){background:linear-gradient(to right,transparent,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 16%,transparent) 10%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 30%,transparent) 50%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 16%,transparent) 90%,transparent)}content:""}.directive-hero-inner{width:min(100%,880px);margin-inline:0}.directive-hero-title{max-width:8ch;margin:12px 0 24px;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:clamp(2.8rem,5.5vw,4.6rem);font-weight:600;letter-spacing:-0.075em;line-height:1.08}.directive-hero-title span{display:block;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))) 78%,transparent)}}.directive-hero-subtitle{max-width:34rem;margin:0;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:clamp(1.12rem,2.4vw,1.7rem);line-height:1.4}.directive-hero-subtitle:empty{display:none}.directive-hero-body{max-width:min(100%,42rem);margin-top:27px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:1.02rem}.directive-hero-subtitle:empty+.directive-hero-body{margin-top:0}.directive-hero-body .markdown-body>p:first-child{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-family:var(--font-body);font-size:1.08rem;line-height:1.68}.directive-hero-body .markdown-body p{margin-bottom:0.8em}.directive-hero-body .markdown-body p:last-child{display:flex;gap:10px;margin:18px 0 0}.directive-hero-body .markdown-body p:last-child a{display:grid;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:999px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));background:transparent;text-decoration:none;place-items:center}.directive-hero-body .markdown-body p:last-child a:hover{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));background:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))) 7%,transparent)}}.repo-external{margin-left:3px;font-size:17px;opacity:0.68}.directive-grid-columns-1{grid-template-columns:1fr}.directive-grid-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.directive-grid-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.directive-grid-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.directive-grid-columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}.directive-grid-columns-6{grid-template-columns:repeat(6,minmax(0,1fr))}.directive-stats{margin-top:0}.directive-stat-grid{display:grid;border-block:1px solid var(--directive-line);background:transparent}.directive-stat{display:grid;align-content:center;gap:7px;min-width:0;padding:26px 17px 25px 0;background:transparent}.directive-stat+.directive-stat{padding-left:17px;border-left:1px solid var(--directive-line)}.directive-stat strong{color:var(--directive-accent);font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.65rem);font-weight:600;letter-spacing:-0.06em;line-height:1}.directive-stat span,.directive-caption,.directive-chart-subtitle{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:0.72rem/1.45 var(--font-mono);letter-spacing:0.025em}.directive-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.directive-fact{display:grid;gap:4px;padding:15px 0;border-top:1px solid var(--directive-line)}.directive-fact dt{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:0.7rem var(--font-mono)}.directive-fact dd{margin:0;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-size:1.02rem}.directive-labs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;border-block:1px solid var(--directive-line)}.directive-labs span{counter-increment:lab;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1px solid var(--directive-line);color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-size:0.84rem}.directive-labs span::before{align-self:start;padding-top:4px;color:var(--directive-accent);content:counter(lab,decimal-leading-zero);font:0.75rem var(--font-mono);line-height:1.68}.directive-labs span:nth-child(even){padding-left:30px;border-left:1px solid var(--directive-line)}.directive-labs{counter-reset:lab}.directive-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;border-top:1px solid var(--directive-line)}.directive-feature{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;padding:19px 0;border-bottom:1px solid var(--directive-line)}.directive-feature-key,.directive-step-number{color:var(--directive-accent);font:0.75rem var(--font-mono)}.directive-feature-key{align-self:start;padding-top:4px;line-height:1.68}.directive-step-number{align-self:start;padding-top:4px;line-height:1.68}.directive-feature strong,.directive-step-content strong{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-weight:700}.directive-feature p{margin:4px 0 0;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.9rem}.directive-link-list,.directive-disclaimer{padding:0;border:0;border-left:0;background:transparent}.directive-link-list-body .markdown-body,.directive-disclaimer .markdown-body,.directive-contributor-note .markdown-body{font-size:0.94rem}.directive-link-list-body .markdown-body ul,.directive-disclaimer .markdown-body p:last-child{margin-bottom:0}.directive-link-list-body .markdown-body ul{padding-left:0;list-style:none}.directive-link-list-body .markdown-body li{margin:0;padding:13px 0;border-top:1px solid var(--directive-line)}.directive-link-list-body .markdown-body a{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-weight:650;text-decoration:none;transition:color 160ms ease,transform 160ms ease}.directive-link-list-body .markdown-body a:hover{color:var(--directive-accent)}.directive-link-list-title{margin:0 0 15px;font-size:1.15rem;font-weight:700;letter-spacing:0;line-height:1.68}.related-sites .directive-link-list-body .markdown-body ul{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none}.related-sites .directive-link-list-body .markdown-body li{margin:0}.related-sites .directive-link-list-body .markdown-body a{display:block;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.83rem;line-height:1.68;white-space:nowrap}.related-sites .directive-link-list-title{margin-bottom:12px}.directive-utility-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;margin:38px 0;padding:34px 0}.directive-utility-grid::before,.directive-utility-grid::after{position:absolute;right:0;left:0;height:1px;background:linear-gradient(to right,transparent,rgb(var(--ref-color-outline,var(--fallback-outline))) 12%,rgb(var(--ref-color-outline,var(--fallback-outline))) 50%,rgb(var(--ref-color-outline,var(--fallback-outline))) 88%,transparent);@supports (color:color-mix(in lab,red,red)){background:linear-gradient(to right,transparent,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 13%,transparent) 12%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 26%,transparent) 50%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 13%,transparent) 88%,transparent)}content:""}.directive-utility-grid::before{top:0}.directive-utility-grid::after{bottom:0}.directive-utility-grid>.directive{min-width:0;margin:0}.directive-utility-grid .directive-pledge{align-self:start;display:block;border:0;padding:0}.directive-utility-title{margin:0 0 12px;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:0;line-height:1.68}.directive-pledge-row{display:flex;align-items:center;justify-content:flex-start;gap:12px}.directive-utility-grid .directive-pledge-label{display:none}.directive-utility-grid .directive-pledge p{margin:0;font-size:0.83rem;line-height:1.68}.directive-utility-grid .directive-pledge button{min-height:auto;padding:0;border:0;border-radius:0;color:var(--directive-accent);background:transparent;font-size:0.78rem;font-weight:800;line-height:normal;white-space:nowrap}.directive-steps{display:grid;gap:0;margin:38px 0;padding:0;list-style:none;border-top:1px solid var(--directive-line)}.directive-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:17px 0;border-bottom:1px solid var(--directive-line)}.directive-step-content{display:grid;gap:4px}.directive-step-content span{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.92rem}.directive-chart{margin:48px 0}.directive-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px;margin:48px 0}.directive-chart-grid>.directive-chart{min-width:0;margin:0}.directive-chart-grid>.directive-chart+.directive-chart{padding-left:46px;border-left:1px solid var(--directive-line)}.directive-chart-title,.directive-subtitle{margin:0;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:1.25rem;font-weight:600}.directive-chart-subtitle{margin:5px 0 0}.directive-chart-legend{display:flex;flex-wrap:wrap;gap:13px;margin:18px 0 2px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:0.72rem var(--font-mono)}.directive-chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend-swatch{width:9px;height:9px;border-radius:50%;background:var(--directive-accent)}.directive-svg-host{width:100%;overflow-x:auto}.directive-svg{display:block;width:100%;min-width:0;height:auto;overflow:visible}.directive-svg .chart-grid-line,.directive-svg .distance-ring{fill:none;stroke:rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){stroke:color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 27%,transparent)}stroke-width:1;stroke-dasharray:3 8}.directive-svg .chart-axis-label,.directive-svg .chart-unit,.directive-svg .distance-office,.directive-svg .distance-ring-label{fill:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-family:var(--font-mono);font-size:11px}.directive-svg .chart-pie-legend-label{fill:var(--series-color,var(--directive-accent))}.directive-svg .chart-pie-legend-swatch{fill:var(--series-color,var(--directive-accent));stroke:none}.directive-svg .chart-value,.directive-svg .distance-name,.directive-svg .distance-title,.directive-svg .distance-center-label,.directive-svg .network-label,.directive-svg .network-center-label{fill:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-mono);font-size:11px}.directive-svg .chart-series-0,.directive-svg .network-node-employment{--series-color:rgb(var(--ref-color-primary,var(--fallback-primary)))}.directive-svg .chart-series-1,.directive-svg .network-node-research{--series-color:rgb(var(--ref-color-tertiary,var(--fallback-tertiary)))}.directive-svg .chart-series-2,.directive-svg .network-node-education{--series-color:rgb(var(--ref-color-secondary,var(--fallback-secondary)))}.directive-svg .chart-series-3,.directive-svg .network-node-other{--series-color:rgb(var(--ref-color-error,var(--fallback-error)))}.directive-svg .chart-series-4{--series-color:rgb(var(--ref-color-primary-container,var(--fallback-primary-container)))}.directive-svg .chart-series-5{--series-color:rgb(var(--ref-color-secondary-container,var(--fallback-secondary-container)))}.directive-svg .chart-line{fill:none;stroke:var(--series-color,var(--directive-accent));stroke-width:3}.directive-svg .chart-bar,.directive-svg .chart-pie{fill:var(--series-color,var(--directive-accent));stroke:none}.directive-svg .chart-point{fill:var(--series-color,var(--directive-accent));stroke:rgb(var(--ref-color-background,var(--fallback-background)));stroke-width:2}.directive-svg .chart-donut{fill:none;stroke:var(--series-color,var(--directive-accent));stroke-width:30;stroke-linecap:butt}.directive-svg .chart-center-label{fill:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:14px;text-anchor:middle}.directive-svg .chart-center-value{fill:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-family:var(--font-mono);font-size:11px;text-anchor:middle}.directive-svg .distance-spoke,.directive-svg .network-edge{fill:none;stroke:var(--directive-accent);@supports (color:color-mix(in lab,red,red)){stroke:color-mix(in srgb,var(--directive-accent) 44%,transparent)}stroke-width:1.2}.directive-svg .distance-leader{fill:none;stroke:var(--directive-accent);@supports (color:color-mix(in lab,red,red)){stroke:color-mix(in srgb,var(--directive-accent) 30%,transparent)}stroke-dasharray:2 4;stroke-width:1}.directive-svg .distance-point,.directive-svg .distance-center,.directive-svg .network-center,.directive-svg .network-node{fill:var(--series-color,var(--directive-accent));stroke:rgb(var(--ref-color-background,var(--fallback-background)));stroke-width:2}.directive-svg .distance-center,.directive-svg .network-center{--series-color:rgb(var(--ref-color-primary,var(--fallback-primary)))}.directive-contributors{margin-top:48px}.directive-contributor-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:22px 18px;margin-top:18px;padding:26px 0 8px;background:linear-gradient(to right,transparent,rgb(var(--ref-color-outline,var(--fallback-outline))) 12%,rgb(var(--ref-color-outline,var(--fallback-outline))) 50%,rgb(var(--ref-color-outline,var(--fallback-outline))) 88%,transparent) top /100% 1px no-repeat;@supports (color:color-mix(in lab,red,red)){background:linear-gradient(to right,transparent,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 22%,transparent) 12%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 32%,transparent) 50%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 22%,transparent) 88%,transparent) top /100% 1px no-repeat}}.directive-contributor{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:start;gap:0;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:var(--contributor-label-size,0.64rem) /normal var(--font-mono);text-align:center;transition:color 160ms ease,transform 160ms ease}.directive-contributor:hover{color:var(--directive-accent);transform:translateY(-2px)}.directive-contributor img{display:block;width:var(--contributor-avatar-size,64px);height:var(--contributor-avatar-size,64px);margin:0 auto;object-fit:cover;border:1px solid var(--directive-accent);@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,var(--directive-accent) 35%,transparent)}border-radius:50%;background:var(--directive-soft)}.directive-contributor span{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directive-contributor-note{margin-top:20px}.directive-network,.directive-distance-field{margin-top:44px}.directive-distance-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,0.75fr);gap:34px;align-items:stretch}.directive-distance-radial{display:flex;flex-direction:column;align-items:center;min-width:0}.directive-distance-radial .directive-svg-host{width:100%}.directive-distance-radial .directive-caption{text-align:center}.directive-distance-bars{display:flex;align-items:center;min-width:0;padding-left:28px;border-left:1px solid var(--directive-line)}.directive-distance-bar-list{width:min(100%,360px);margin:0 auto;border-top:1px solid var(--directive-line)}.directive-distance-bar{display:grid;grid-template-columns:24px minmax(72px,1.15fr) minmax(64px,1fr) 55px;gap:10px;align-items:center;min-width:0;padding:10px 0;border-bottom:1px solid var(--directive-line);@supports (color:color-mix(in lab,red,red)){border-bottom:1px solid color-mix(in srgb,var(--directive-line) 78%,transparent)}}.directive-distance-rank,.directive-distance-value{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:0.68rem var(--font-mono)}.directive-distance-name{min-width:0;overflow:hidden;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-size:0.82rem;text-overflow:ellipsis;white-space:nowrap}.directive-distance-track{display:block;height:3px;overflow:hidden;background:rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 22%,transparent)}}.directive-distance-track i{display:block;width:var(--distance-bar-width,0%);height:100%;background:var(--directive-accent);@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,var(--directive-accent) 74%,transparent)}}.rich-markdown-home>.markdown-fragment>.markdown-body>p:has(>a:only-child){margin:24px 0 0}.rich-markdown-home>.markdown-fragment>.markdown-body>p:has(>a:only-child)>a{display:inline-flex;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.9rem;font-weight:650;text-decoration:none;transition:color 160ms ease,transform 160ms ease}.rich-markdown-home>.markdown-fragment>.markdown-body>p:has(>a:only-child)>a:hover{color:rgb(var(--ref-color-primary,var(--fallback-primary)));transform:translateX(2px)}.directive-disclaimer .markdown-body a{text-decoration:none}.directive-caption{margin:7px 0 0}.directive-pledge{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-block:1px solid var(--directive-line);background:transparent}.directive-disclaimer{max-width:76ch;margin:48px auto 0;padding:22px 24px 28px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant))) 78%,transparent)}font-size:0.78rem;font-weight:700;line-height:1.65;text-align:center}.directive-disclaimer .markdown-body{margin:0 auto;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:center}.directive-disclaimer .markdown-body p{margin:0 auto;font-size:inherit;line-height:inherit}.directive-disclaimer a{color:var(--directive-accent);font-weight:800}.rich-markdown-home>.markdown-fragment>.markdown-body>hr{height:34px;margin:0;border:0;background:linear-gradient(to right,transparent,rgb(var(--ref-color-outline,var(--fallback-outline))) 14%,rgb(var(--ref-color-outline,var(--fallback-outline))) 50%,rgb(var(--ref-color-outline,var(--fallback-outline))) 86%,transparent) center /100% 1px no-repeat,radial-gradient(ellipse at center,rgb(var(--ref-color-primary,var(--fallback-primary))),transparent 70%) center /72% 30px no-repeat;@supports (color:color-mix(in lab,red,red)){background:linear-gradient(to right,transparent,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 14%,transparent) 14%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 26%,transparent) 50%,color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 14%,transparent) 86%,transparent) center /100% 1px no-repeat,radial-gradient(ellipse at center,color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 7%,transparent),transparent 70%) center /72% 30px no-repeat}opacity:0.9}.directive-pledge-label{color:var(--directive-accent);font:700 0.76rem var(--font-mono)}.directive-pledge p{margin:5px 0 0;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.87rem}.directive-pledge button{flex:0 0 auto;min-height:40px;padding:0 15px;border-radius:999px;color:rgb(var(--ref-color-on-primary,var(--fallback-on-primary)));background:var(--directive-accent);cursor:pointer;font-weight:700}.directive-notice,.directive-loading{display:flex;flex-wrap:wrap;gap:8px;padding:13px 15px;border-left:2px solid rgb(var(--ref-color-error,var(--fallback-error)));color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));background:rgb(var(--ref-color-error,var(--fallback-error)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-error,var(--fallback-error))) 8%,transparent)}font-size:0.86rem}.directive-notice-label{color:rgb(var(--ref-color-error,var(--fallback-error)));font:700 0.72rem var(--font-mono);text-transform:uppercase}@media (max-width:820px){.directive-grid-columns-5,.directive-grid-columns-6{grid-template-columns:repeat(3,minmax(0,1fr))}.directive-chart-grid,.directive-distance-layout{grid-template-columns:1fr}.directive-chart-grid>.directive-chart+.directive-chart{padding-top:28px;padding-left:0;border-top:1px solid var(--directive-line);border-left:0}.directive-distance-bars{padding-top:28px;padding-left:0;border-top:1px solid var(--directive-line);border-left:0}.directive-contributor-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.directive-features{grid-template-columns:1fr}}@media (max-width:600px){.rich-markdown-home{width:calc(100% - 28px)}.directive-hero{min-height:60vh;margin-bottom:82px;padding:54px 0 64px}.directive-hero-title{font-size:clamp(2.6rem,13vw,3.8rem)}.directive-grid-columns-2,.directive-grid-columns-3,.directive-grid-columns-4,.directive-grid-columns-5,.directive-grid-columns-6,.directive-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directive-stat{min-height:112px;padding:15px 11px}.directive-stat strong{font-size:1.55rem}.directive-pledge{align-items:start;flex-direction:column}.directive-utility-grid{grid-template-columns:1fr;gap:28px}.directive-labs{grid-template-columns:1fr}.directive-labs span:nth-child(even){padding-left:0;border-left:0}.directive-contributor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.directive-stat:nth-child(odd){padding-left:0;border-left:0}.directive-stat:nth-child(n+3){border-top:1px solid var(--directive-line)}.directive-section-head{align-items:flex-start;flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){.directive-contributor,.directive-hero-body a{transition:none}}.articles-list-container{transition:opacity 400ms ease-in-out}.articles-list-visible{opacity:1}.articles-list-hidden{opacity:0}.articles-list-empty{display:grid;min-height:180px;place-items:center;padding:40px 20px;border:1px dashed rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px dashed color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 50%,transparent)}border-radius:18px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));background:rgb(var(--ref-color-surface,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface,var(--fallback-surface))) 24%,transparent)}}.articles-list-empty-text{margin:0;font-family:var(--font-display);font-size:1.15rem}.archive-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:62px 0 22px}.archive-head p{max-width:48ch;margin:0;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)))}.page-title{margin:8px 0 13px;font-size:clamp(3rem,7vw,5rem);line-height:0.98}.search-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 65%,transparent)}border-radius:50%;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));background:rgb(var(--ref-color-surface,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface,var(--fallback-surface))) 34%,transparent)}cursor:pointer;transition:transform 160ms ease,background-color 160ms ease,color 160ms ease}.search-button:hover{color:rgb(var(--ref-color-on-primary-container,var(--fallback-on-primary-container)));background:rgb(var(--ref-color-primary-container,var(--fallback-primary-container)));transform:translateY(-1px)}.archive-filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 22px}.filter-chip{min-height:34px;padding:0 13px;border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 58%,transparent)}border-radius:999px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));background:rgb(var(--ref-color-surface,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface,var(--fallback-surface))) 24%,transparent)}cursor:pointer;font-size:0.82rem;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease,transform 160ms ease}.filter-chip:hover,.filter-chip:focus-visible{border-color:rgb(var(--ref-color-primary,var(--fallback-primary)));color:rgb(var(--ref-color-on-primary-container,var(--fallback-on-primary-container)));background:rgb(var(--ref-color-primary-container,var(--fallback-primary-container)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-primary-container,var(--fallback-primary-container))) 72%,transparent)}transform:translateY(-1px)}.filter-chip-active{border-color:transparent;color:rgb(var(--ref-color-on-secondary-container,var(--fallback-on-secondary-container)));background:rgb(var(--ref-color-secondary-container,var(--fallback-secondary-container)))}.search-dialog{position:fixed;z-index:120;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:12vh 20px 20px;background:rgb(var(--ref-color-background,var(--fallback-background)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-background,var(--fallback-background))) 48%,transparent)}backdrop-filter:blur(14px) saturate(0.92);-webkit-backdrop-filter:blur(14px) saturate(0.92);animation:search-dialog-in 180ms ease-out forwards}.search-dialog-open{animation:search-dialog-in 180ms ease-out forwards}.search-dialog-closing{pointer-events:none;animation:search-dialog-out 180ms ease-in forwards}.search-panel{width:min(620px,100%);max-height:min(620px,calc(100vh - 120px));border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 70%,transparent)}border-radius:18px;background:rgb(var(--ref-color-surface-container-high,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))) 90%,transparent)}box-shadow:0 28px 70px rgb(0 0 0/28%);overflow:hidden}.search-row{display:flex;align-items:center;gap:12px;padding:9px 16px 9px 19px;border-bottom:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-bottom:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 40%,transparent)}}.search-row .material-symbols-outlined{color:rgb(var(--ref-color-primary,var(--fallback-primary)))}.search-input{min-width:0;flex:1;height:48px;border:0;outline:0;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));background:transparent;font-size:1rem}.search-input::placeholder{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)))}.search-input::-webkit-search-cancel-button{appearance:none}.search-close{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));background:transparent;cursor:pointer;transition:background-color 160ms ease,color 160ms ease}.search-close:hover{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));background:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))) 10%,transparent)}}.search-hint{display:flex;justify-content:space-between;gap:12px;padding:11px 19px 13px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:0.72rem var(--font-mono)}.search-hint kbd{padding:2px 5px;border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 55%,transparent)}border-radius:4px;background:rgb(var(--ref-color-surface,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface,var(--fallback-surface))) 60%,transparent)}}.search-results{max-height:430px;padding:8px;overflow:auto}.search-result{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;padding:10px;border-radius:12px;transition:background-color 150ms ease}.search-result:hover,.search-result:focus-visible{outline:0;background:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))) 6%,transparent)}}.search-result-thumb{display:grid;aspect-ratio:16/10;place-items:center;overflow:hidden;border:1px solid rgb(var(--ref-color-primary,var(--fallback-primary)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 24%,transparent)}border-radius:8px;color:rgb(var(--ref-color-primary,var(--fallback-primary)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 76%,white 12%)}background:radial-gradient(circle at 72% 28%,rgb(var(--ref-color-tertiary,var(--fallback-tertiary))),transparent 34%),linear-gradient(145deg,rgb(var(--ref-color-primary-container,var(--fallback-primary-container))),rgb(var(--ref-color-surface-container-high,var(--fallback-surface))));@supports (color:color-mix(in lab,red,red)){background:radial-gradient(circle at 72% 28%,color-mix(in srgb,rgb(var(--ref-color-tertiary,var(--fallback-tertiary))) 42%,transparent),transparent 34%),linear-gradient(145deg,color-mix(in srgb,rgb(var(--ref-color-primary-container,var(--fallback-primary-container))) 82%,transparent),color-mix(in srgb,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))) 84%,transparent))}}.search-result-thumb .material-symbols-outlined{font-size:25px;opacity:0.82}.search-result-title{margin:0 0 3px;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.25;letter-spacing:-0.02em}.search-result-meta{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.76rem}.search-empty{padding:30px 18px 34px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.88rem;text-align:center}.search-footer{display:flex;justify-content:space-between;gap:16px;padding:9px 16px 11px;border-top:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-top:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 34%,transparent)}color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant))) 72%,transparent)}font:0.72rem var(--font-mono)}.search-footer kbd{padding:1px 6px;border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 52%,transparent)}border-radius:6px;background:rgb(var(--ref-color-surface-container-high,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))) 52%,transparent)}font:inherit}body.search-open{overflow:hidden}@media (max-width:700px){.archive-head{padding-top:42px}.page-title{font-size:clamp(2.75rem,15vw,4.2rem)}.search-dialog{padding:92px 14px 14px}.search-result{grid-template-columns:60px minmax(0,1fr)}.search-panel{max-height:calc(100vh - 106px)}}.pagination-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;margin-top:34px;transition:opacity 400ms ease-in-out}.pagination-visible{opacity:1}.pagination-hidden{opacity:0}.pagination-button{min-width:38px;min-height:36px;padding:0 11px;border:1px solid transparent;border-radius:8px;cursor:pointer;font:0.78rem var(--font-mono);transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease,transform 160ms ease}.pagination-button:hover{transform:translateY(-1px)}.pagination-button-active{border-color:rgb(var(--ref-color-primary,var(--fallback-primary)));color:rgb(var(--ref-color-on-primary,var(--fallback-on-primary)));background:rgb(var(--ref-color-primary,var(--fallback-primary)))}.pagination-button-inactive{border-color:rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 56%,transparent)}color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));background:rgb(var(--ref-color-surface,var(--fallback-surface)));@supports (color:color-mix(in lab,red,red)){background:color-mix(in srgb,rgb(var(--ref-color-surface,var(--fallback-surface))) 35%,transparent)}}.pagination-button-inactive:hover{border-color:rgb(var(--ref-color-primary,var(--fallback-primary)));color:rgb(var(--ref-color-on-primary-container,var(--fallback-on-primary-container)));background:rgb(var(--ref-color-primary-container,var(--fallback-primary-container)))}.pagination-info{width:100%;margin-top:7px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:0.72rem var(--font-mono);text-align:center}.pagination-dropdown-container{position:relative}.pagination-dropdown{position:absolute;z-index:60;top:calc(100% + 7px);left:50%;max-height:calc(100vh - 200px);transform:translateX(-50%)}.pagination-dropdown-overlay{position:fixed;z-index:50;inset:0;background:transparent}.pagination-dropdown-content{position:relative;z-index:60;min-width:130px;max-height:180px;overflow-y:auto;border:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 64%,transparent)}border-radius:12px;background:rgb(var(--ref-color-surface-container,var(--fallback-surface)));box-shadow:0 14px 32px rgb(0 0 0/24%);transform-origin:top;animation:dropdown-show 300ms ease-out forwards}.pagination-dropdown-content.hiding{animation:dropdown-hide 200ms ease-in forwards}.pagination-dropdown-item{display:flex;width:100%;min-height:40px;align-items:center;padding:8px 15px;border:0;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));background:transparent;cursor:pointer;font-size:0.82rem;text-align:left;transition:color 160ms ease,background-color 160ms ease}.pagination-dropdown-item:hover{color:rgb(var(--ref-color-on-primary-container,var(--fallback-on-primary-container)));background:rgb(var(--ref-color-primary-container,var(--fallback-primary-container)))}@media (max-width:700px){.pagination-container{margin-top:27px}.pagination-dropdown-content{min-width:110px;max-height:130px}}.articles-list{display:block;margin:0;padding:0;list-style:none}.article-card{position:relative;display:block;margin:0;padding:0;list-style:none;isolation:isolate}.article-card+.article-card{border-top:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-top:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 42%,transparent)}}.article-card-link{position:relative;display:grid;grid-template-columns:158px minmax(0,1fr) auto;align-items:center;gap:22px;padding:24px 0}.article-card-link-no-thumb{grid-template-columns:minmax(0,1fr) auto}.article-card-thumb-link{position:relative;z-index:1}.article-card-primary-link{display:block}.article-card-link::after{position:absolute;z-index:-1;inset:7px -12px;border-radius:14px;background:linear-gradient(110deg,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))),rgb(var(--ref-color-primary,var(--fallback-primary))));@supports (color:color-mix(in lab,red,red)){background:linear-gradient(110deg,color-mix(in srgb,rgb(var(--ref-color-on-surface,var(--fallback-on-surface))) 2.2%,transparent),color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 5%,transparent))}content:"";opacity:0;transition:opacity 180ms ease}.article-card-link:hover::after,.article-card-link:focus-visible::after{opacity:1}.article-card-thumb{display:grid;aspect-ratio:16/10;place-items:center;overflow:hidden;border:1px solid rgb(var(--ref-color-primary,var(--fallback-primary)));@supports (color:color-mix(in lab,red,red)){border:1px solid color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 24%,transparent)}border-radius:12px;color:rgb(var(--ref-color-primary,var(--fallback-primary)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 76%,white 12%)}background:radial-gradient(circle at 72% 28%,rgb(var(--ref-color-tertiary,var(--fallback-tertiary))),transparent 34%),linear-gradient(145deg,rgb(var(--ref-color-primary-container,var(--fallback-primary-container))),rgb(var(--ref-color-surface-container-high,var(--fallback-surface))));@supports (color:color-mix(in lab,red,red)){background:radial-gradient(circle at 72% 28%,color-mix(in srgb,rgb(var(--ref-color-tertiary,var(--fallback-tertiary))) 42%,transparent),transparent 34%),linear-gradient(145deg,color-mix(in srgb,rgb(var(--ref-color-primary-container,var(--fallback-primary-container))) 82%,transparent),color-mix(in srgb,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))) 84%,transparent))}box-shadow:0 8px 18px rgb(0 0 0/8%)}.article-card-thumb .material-symbols-outlined{font-size:36px;opacity:0.82;transition:transform 200ms ease}.article-card-thumb img{width:100%;height:100%;object-fit:cover}.article-card-link:hover .article-card-thumb .material-symbols-outlined,.article-card-link:focus-visible .article-card-thumb .material-symbols-outlined{transform:scale(1.08) rotate(-4deg)}.article-card-body{min-width:0}.article-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:0.74rem/1.3 var(--font-mono)}.article-card-category{color:rgb(var(--ref-color-primary,var(--fallback-primary)));font-weight:700;text-transform:uppercase}.article-card-tag-link{text-decoration:none}.article-card-tag-link:hover,.article-card-tag-link:focus-visible{text-decoration:underline;text-underline-offset:3px}.article-card-tag{color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant))) 78%,transparent)}}.article-card-title{margin:0 0 7px;color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.22;letter-spacing:-0.025em;transition:color 160ms ease}.article-card-link:hover .article-card-title,.article-card-link:focus-visible .article-card-title{color:rgb(var(--ref-color-primary,var(--fallback-primary)))}.article-card-description{max-width:55ch;margin:0;overflow:hidden;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.93rem;text-overflow:ellipsis;white-space:nowrap}.article-card-extra{display:flex;min-height:28px;max-height:28px;align-items:center;gap:12px;margin-top:7px;overflow:hidden;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant))) 82%,transparent)}font-size:0.72rem;opacity:0;visibility:hidden;transition:opacity 180ms ease,visibility 180ms ease}.article-card-link:hover .article-card-extra,.article-card-link:focus-visible .article-card-extra{opacity:1;visibility:visible}.article-card-arrow{color:rgb(var(--ref-color-primary,var(--fallback-primary)));font-size:1rem}.article-card-date{align-self:start;padding-top:2px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant))) 74%,transparent)}font:0.78rem var(--font-mono);white-space:nowrap}@media (max-width:700px){.article-card-link{grid-template-columns:108px minmax(0,1fr);gap:15px;padding:22px 0}.article-card-link-no-thumb{grid-template-columns:minmax(0,1fr)}.article-card-date,.article-card-description{display:none}.article-card-title{font-size:1.17rem}}.article-page{padding-bottom:0}.article-head{display:grid;grid-template-columns:minmax(0,var(--reading-width));padding:68px 0 38px}.article-head-main{min-width:0}.article-back{display:flex;width:fit-content;align-items:center;gap:6px;margin-bottom:33px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font:0.78rem var(--font-mono);transition:color 160ms ease,transform 160ms ease}.article-back:hover{color:rgb(var(--ref-color-primary,var(--fallback-primary)));transform:translateX(-2px)}.article-title{max-width:15ch;margin:9px 0 14px;font-size:clamp(2.65rem,6vw,5.15rem);line-height:0.98}.article-deck{max-width:62ch;margin:0;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:1.08rem}.article-meta{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:22px;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.74rem}.article-meta-tags{display:flex;flex-wrap:wrap;gap:7px 12px}.article-meta-tag{color:rgb(var(--ref-color-primary,var(--fallback-primary)))}.article-layout{display:grid;grid-template-columns:minmax(0,var(--reading-width)) var(--toc-width);gap:var(--article-gap);align-items:start;padding-bottom:58px}.toc{min-width:0;position:sticky;top:102px}.toc-inner{padding-left:18px;border-left:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-left:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 46%,transparent)}}.toc-empty{visibility:hidden}.toc-label{margin-bottom:13px;color:rgb(var(--ref-color-primary,var(--fallback-primary)));font:700 0.69rem var(--font-mono);letter-spacing:0.08em;text-transform:uppercase}.toc nav{display:grid;gap:8px}.toc-link{display:block;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:0.78rem;line-height:1.35;transition:color 160ms ease,transform 160ms ease}.toc-level-2{padding-left:10px}.toc-level-3{padding-left:20px}.toc-link:hover,.toc-link-active{color:rgb(var(--ref-color-primary,var(--fallback-primary)));transform:translateX(2px)}.article-end{width:min(100%,var(--reading-width));padding:23px 0 20px;border-top:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-top:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 48%,transparent)}}.next-article{display:flex;align-items:end;justify-content:space-between;gap:20px}.next-label{display:block;margin-bottom:3px;color:rgb(var(--ref-color-primary,var(--fallback-primary)));font:700 0.7rem var(--font-mono);letter-spacing:0.08em;text-transform:uppercase}.next-title{color:rgb(var(--ref-color-on-surface,var(--fallback-on-surface)));font-family:var(--font-display);font-size:1.25rem}.next-arrow{color:rgb(var(--ref-color-primary,var(--fallback-primary)));font-size:1.5rem;transition:transform 160ms ease}.next-article:hover .next-arrow{transform:translateX(4px)}.markdown-body :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:104px}.article-loading{width:min(calc(100% - 42px),var(--reading-width));height:340px;margin:80px auto;border-radius:20px;background:linear-gradient(100deg,transparent,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))),transparent);@supports (color:color-mix(in lab,red,red)){background:linear-gradient(100deg,transparent,color-mix(in srgb,rgb(var(--ref-color-surface-container-high,var(--fallback-surface))) 70%,transparent),transparent)}animation:article-loading-pulse 1.4s ease-in-out infinite}@keyframes article-loading-pulse{0%,100%{opacity:0.4}50%{opacity:0.9}}.about-intro{padding-top:72px;padding-bottom:64px}.about-lead{max-width:650px;margin:0;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)));font-size:1.14rem}.about-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.about-body{padding-bottom:72px}.about-markdown{width:min(100%,842px)}.about-section{display:grid;grid-template-columns:180px minmax(0,620px);gap:42px;align-items:start;padding:28px 0;border-top:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-top:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 42%,transparent)}}.about-section h2{margin:0;color:rgb(var(--ref-color-primary,var(--fallback-primary)));font:700 0.72rem var(--font-mono);letter-spacing:0.08em;text-transform:uppercase}.about-section>:not(h2){grid-column:2;min-width:0}.about-section p{max-width:58ch;margin:0;color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)))}.about-section p+p{margin-top:1em}.about-section[data-section="stack"]>ul,.about-section[data-section="links"]>ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.about-section[data-section="stack"]>ul li{margin:0;padding:7px 11px;border-radius:999px;color:rgb(var(--ref-color-on-secondary-container,var(--fallback-on-secondary-container)));background:rgb(var(--ref-color-secondary-container,var(--fallback-secondary-container)));font-size:0.82rem}.about-section[data-section="links"]>ul{gap:16px;font:0.78rem var(--font-mono)}.about-section[data-section="links"]>ul li{margin:0}.about-section[data-section="links"]>ul a{color:rgb(var(--ref-color-primary,var(--fallback-primary)));text-decoration:underline;text-underline-offset:3px}.plain-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:17px;font:0.78rem var(--font-mono)}.plain-links a{color:rgb(var(--ref-color-primary,var(--fallback-primary)));text-decoration:underline;text-underline-offset:3px}.stack-list{display:flex;flex-wrap:wrap;gap:8px}.stack-list span{padding:7px 11px;border-radius:999px;color:rgb(var(--ref-color-on-secondary-container,var(--fallback-on-secondary-container)));background:rgb(var(--ref-color-secondary-container,var(--fallback-secondary-container)));font-size:0.82rem}@media (max-width:900px){.article-head,.article-layout{grid-template-columns:minmax(0,var(--reading-width))}.article-head{padding-top:48px}.article-head>.toc,.article-layout>.toc{display:none}.article-frame{width:min(calc(100% - 42px),var(--reading-width))}}@media (max-width:700px){.article-frame{width:calc(100% - 28px)}.article-title{font-size:clamp(2.45rem,14vw,4rem)}.about-intro{padding-top:45px;padding-bottom:44px}.about-section{grid-template-columns:1fr;gap:10px;padding:22px 0}.about-section>:not(h2){grid-column:1}.article-loading{width:calc(100% - 28px);margin-top:55px}}.footer{width:min(calc(100% - 42px),var(--page-width));margin:auto auto 0;padding:24px 0 28px;border-top:1px solid rgb(var(--ref-color-outline,var(--fallback-outline)));@supports (color:color-mix(in lab,red,red)){border-top:1px solid color-mix(in srgb,rgb(var(--ref-color-outline,var(--fallback-outline))) 42%,transparent)}color:rgb(var(--ref-color-on-surface-variant,var(--fallback-on-surface-variant)))}.footer-content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 22px}.footer-content p{margin:0}.footer-copyright,.footer-powered-by{font:0.72rem/1.5 var(--font-mono)}.footer-legal{flex-basis:100%;margin-top:2px;color:currentColor;@supports (color:color-mix(in lab,red,red)){color:color-mix(in srgb,currentColor 82%,transparent)}font:0.68rem/1.65 var(--font-mono)}.footer a{color:rgb(var(--ref-color-primary,var(--fallback-primary)));text-decoration:underline;text-decoration-color:rgb(var(--ref-color-primary,var(--fallback-primary)));@supports (color:color-mix(in lab,red,red)){text-decoration-color:color-mix(in srgb,rgb(var(--ref-color-primary,var(--fallback-primary))) 42%,transparent)}text-underline-offset:3px}@media (max-width:700px){.footer{width:calc(100% - 28px);padding-bottom:22px}.footer-content{align-items:flex-start;flex-direction:column}.footer-legal{margin-top:0}}}@layer base{:root{--ref-color-background:249,249,255;--ref-color-on-background:26,28,32;--ref-color-surface:249,249,255;--ref-color-surface-dim:217,217,224;--ref-color-surface-bright:249,249,255;--ref-color-surface-container-lowest:255,255,255;--ref-color-surface-container-low:243,243,250;--ref-color-surface-container:237,237,244;--ref-color-surface-container-high:232,231,238;--ref-color-surface-container-highest:226,226,233;--ref-color-on-surface:26,28,32;--ref-color-surface-variant:224,226,236;--ref-color-on-surface-variant:68,71,78;--ref-color-inverse-surface:46,48,54;--ref-color-inverse-on-surface:240,240,247;--ref-color-outline:116,119,127;--ref-color-outline-variant:196,198,208;--ref-color-shadow:0,0,0;--ref-color-scrim:0,0,0;--ref-color-surface-tint:66,94,145;--ref-color-primary:66,94,145;--ref-color-on-primary:255,255,255;--ref-color-primary-container:215,226,255;--ref-color-on-primary-container:41,70,119;--ref-color-inverse-primary:172,199,255;--ref-color-secondary:86,94,113;--ref-color-on-secondary:255,255,255;--ref-color-secondary-container:218,226,249;--ref-color-on-secondary-container:63,71,89;--ref-color-tertiary:112,85,116;--ref-color-on-tertiary:255,255,255;--ref-color-tertiary-container:250,215,252;--ref-color-on-tertiary-container:87,62,91;--ref-color-error:186,26,26;--ref-color-on-error:255,255,255;--ref-color-error-container:255,218,214;--ref-color-on-error-container:147,0,10;--ref-color-primary-fixed:215,226,255;--ref-color-primary-fixed-dim:172,199,255;--ref-color-on-primary-fixed:0,27,64;--ref-color-on-primary-fixed-variant:41,70,119;--ref-color-secondary-fixed:218,226,249;--ref-color-secondary-fixed-dim:190,198,220;--ref-color-on-secondary-fixed:19,28,44;--ref-color-on-secondary-fixed-variant:63,71,89;--ref-color-tertiary-fixed:250,215,252;--ref-color-tertiary-fixed-dim:221,188,224;--ref-color-on-tertiary-fixed:41,19,46;--ref-color-on-tertiary-fixed-variant:87,62,91}@media (prefers-color-scheme:dark){:where(:root){--ref-color-background:17,19,24;--ref-color-on-background:226,226,233;--ref-color-surface:17,19,24;--ref-color-surface-dim:17,19,24;--ref-color-surface-bright:55,57,62;--ref-color-surface-container-lowest:12,14,19;--ref-color-surface-container-low:26,28,32;--ref-color-surface-container:30,32,37;--ref-color-surface-container-high:40,42,47;--ref-color-surface-container-highest:51,53,58;--ref-color-on-surface:226,226,233;--ref-color-surface-variant:68,71,78;--ref-color-on-surface-variant:196,198,208;--ref-color-inverse-surface:226,226,233;--ref-color-inverse-on-surface:46,48,54;--ref-color-outline:142,144,153;--ref-color-outline-variant:68,71,78;--ref-color-shadow:0,0,0;--ref-color-scrim:0,0,0;--ref-color-surface-tint:172,199,255;--ref-color-primary:172,199,255;--ref-color-on-primary:13,47,95;--ref-color-primary-container:41,70,119;--ref-color-on-primary-container:215,226,255;--ref-color-inverse-primary:66,94,145;--ref-color-secondary:190,198,220;--ref-color-on-secondary:40,48,65;--ref-color-secondary-container:63,71,89;--ref-color-on-secondary-container:218,226,249;--ref-color-tertiary:221,188,224;--ref-color-on-tertiary:63,40,68;--ref-color-tertiary-container:87,62,91;--ref-color-on-tertiary-container:250,215,252;--ref-color-error:255,180,171;--ref-color-on-error:105,0,5;--ref-color-error-container:147,0,10;--ref-color-on-error-container:255,218,214;--ref-color-primary-fixed:215,226,255;--ref-color-primary-fixed-dim:172,199,255;--ref-color-on-primary-fixed:0,27,64;--ref-color-on-primary-fixed-variant:41,70,119;--ref-color-secondary-fixed:218,226,249;--ref-color-secondary-fixed-dim:190,198,220;--ref-color-on-secondary-fixed:19,28,44;--ref-color-on-secondary-fixed-variant:63,71,89;--ref-color-tertiary-fixed:250,215,252;--ref-color-tertiary-fixed-dim:221,188,224;--ref-color-on-tertiary-fixed:41,19,46;--ref-color-on-tertiary-fixed-variant:87,62,91}}.dark{--ref-color-background:17,19,24;--ref-color-on-background:226,226,233;--ref-color-surface:17,19,24;--ref-color-surface-dim:17,19,24;--ref-color-surface-bright:55,57,62;--ref-color-surface-container-lowest:12,14,19;--ref-color-surface-container-low:26,28,32;--ref-color-surface-container:30,32,37;--ref-color-surface-container-high:40,42,47;--ref-color-surface-container-highest:51,53,58;--ref-color-on-surface:226,226,233;--ref-color-surface-variant:68,71,78;--ref-color-on-surface-variant:196,198,208;--ref-color-inverse-surface:226,226,233;--ref-color-inverse-on-surface:46,48,54;--ref-color-outline:142,144,153;--ref-color-outline-variant:68,71,78;--ref-color-shadow:0,0,0;--ref-color-scrim:0,0,0;--ref-color-surface-tint:172,199,255;--ref-color-primary:172,199,255;--ref-color-on-primary:13,47,95;--ref-color-primary-container:41,70,119;--ref-color-on-primary-container:215,226,255;--ref-color-inverse-primary:66,94,145;--ref-color-secondary:190,198,220;--ref-color-on-secondary:40,48,65;--ref-color-secondary-container:63,71,89;--ref-color-on-secondary-container:218,226,249;--ref-color-tertiary:221,188,224;--ref-color-on-tertiary:63,40,68;--ref-color-tertiary-container:87,62,91;--ref-color-on-tertiary-container:250,215,252;--ref-color-error:255,180,171;--ref-color-on-error:105,0,5;--ref-color-error-container:147,0,10;--ref-color-on-error-container:255,218,214;--ref-color-primary-fixed:215,226,255;--ref-color-primary-fixed-dim:172,199,255;--ref-color-on-primary-fixed:0,27,64;--ref-color-on-primary-fixed-variant:41,70,119;--ref-color-secondary-fixed:218,226,249;--ref-color-secondary-fixed-dim:190,198,220;--ref-color-on-secondary-fixed:19,28,44;--ref-color-on-secondary-fixed-variant:63,71,89;--ref-color-tertiary-fixed:250,215,252;--ref-color-tertiary-fixed-dim:221,188,224;--ref-color-on-tertiary-fixed:41,19,46;--ref-color-on-tertiary-fixed-variant:87,62,91}*{scrollbar-color:initial;scrollbar-width:initial}}@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:0px}@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-ease{syntax:"*";inherits:false}@property --tw-scrollbar-thumb{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-scrollbar-track{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-font-weight{syntax:"*";inherits:false}@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-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-ease:initial;--tw-scrollbar-thumb:#0000;--tw-scrollbar-track:#0000;--tw-font-weight:initial}}}
