@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_29b41872-module__4XJrSq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_29b41872-module__4XJrSq__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/b6a3ba25a63ffdc2-s.3yf3vfn2c_9tw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/c46d9efd5b21dbaa-s.0izap24bx7j_o.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/6308822089fd3411-s.1g4p5h7qohzvf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/ff4d9f8b7294524b-s.0o02v0n75imht.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/0e64cfb82a47c250-s.p.1lv8u_7b7mo9m.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/15c09482df909879-s.3u3lylzphf4wx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/60bfa20ba60b1b5d-s.3j8uhkx--i806.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/6cf6eaf2cf9795dc-s.12s7gkupexgg1.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/3a7d6c5ab4b67497-s.2l0dwi6l2nxg5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/374bfedbce52fcde-s.p.1mf2ifc1n8470.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f49c72243bdcede-s.08hd2gmdgg53j.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a2797aaeec05c026-s.1ijh3eiienigl.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b3baf9375001c1f5-s.26q94mkznr9q6.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9096fd5f49bfad97-s.2u1f8c8uadqqu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ef7be03ed7e60a63-s.p.3v7282xeqat89.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/be04ef6d3831928d-s.22h6a2osbbe0b.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/690c9e92a92dc3ad-s.1jij-3gx6ysyj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bd1c8a16898c933f-s.1wgq65k1-qif0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c63a115de3206da5-s.424s18vpo6lfa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/713e82fa9fe87496-s.p.0rayo0436sl6u.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif Fallback;src:local(Times New Roman);ascent-override:88.04%;descent-override:23.62%;line-gap-override:0.0%;size-adjust:116.43%}.ibm_plex_serif_838f8164-module__j8OYKG__className{font-family:IBM Plex Serif,IBM Plex Serif Fallback}.ibm_plex_serif_838f8164-module__j8OYKG__variable{--font-plex-serif:"IBM Plex Serif", "IBM Plex Serif Fallback"}
*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-raleway), sans-serif;font-feature-settings:normal;font-variation-settings:normal}body{line-height:inherit;margin:0}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(--font-mono), JetBrains Mono, Menlo, Consolas, monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--font-mono:var(--font-plex-mono), ui-monospace, "Courier New", monospace;--font-serif:var(--font-plex-serif), Georgia, "Times New Roman", serif;--bg-primary:#fff;--bg-secondary:#f4f4f4;--border:#00000029;--text-primary:#000;--text-secondary:#555;--text-tertiary:#767676;--focus-ring:#0a84ff8c;--border-primary:var(--border);--radius-sm:.375rem;--color-error:#dc2626;--color-success:#059669;--color-warning:#d97706;--transition-fast:.14s ease;--transition-normal:.2s ease;--admin-card-padding:1.5rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--space-3xl:3rem;--space-4xl:4.5rem}.dark{--bg-primary:#0c0c0c;--bg-secondary:#161616;--border:#ffffff2e;--text-primary:#ededed;--text-secondary:#a6a6a6;--text-tertiary:#858585;--color-error:#f87171;--color-success:#34d399;--color-warning:#fbbf24}html{font-family:var(--font-mono);-webkit-text-size-adjust:100%;overflow-x:hidden}body{font-family:var(--font-mono);min-height:100vh;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}a{color:inherit}button,a,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}p{margin:0}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.contents{display:contents}.hidden{display:none}.resize{resize:both}.border{border-width:1px}.border-l-zinc-800{--tw-border-opacity:1;border-left-color:rgb(39 39 42/var(--tw-border-opacity))}.p-4{padding:1rem}.font-mono{font-family:var(--font-mono), JetBrains Mono, Menlo, Consolas, monospace}.italic{font-style:italic}.underline{text-decoration-line:underline}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.doc{max-width:40rem;margin:0 auto;padding:2.5rem 1.25rem 5rem}.doc-skip{position:absolute;left:-9999px}.doc-skip:focus{top:1rem;left:1.25rem}.doc-header{gap:.85rem;margin-bottom:2rem;display:grid}.doc-id{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;display:flex}.doc-id-name{flex-direction:column;gap:.2rem;margin:0;display:flex}.doc-controls{gap:.4rem;display:flex}.doc-brand{color:var(--text-primary);font-weight:600;text-decoration:none}.doc-nav{flex-wrap:wrap;align-items:baseline;gap:.45rem 1.1rem;display:flex}.doc-nav a{color:var(--text-secondary);white-space:nowrap;text-decoration:none}.doc-nav a.is-active{color:var(--text-primary);font-weight:600}.doc-nav a.nav-carrot{margin-left:1.75rem}.doc-toggle{font:inherit;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.12rem .55rem;line-height:1.5}@media (hover:hover){.doc-nav a:hover,.doc-brand:hover{color:var(--text-primary);text-decoration:underline}.doc-toggle:hover{border-color:var(--text-primary);color:var(--text-primary)}}.doc-rule{border:none;border-top:1px solid var(--border);margin:0}.section{gap:1.5rem;display:grid}.lede,.section>p:not(.meta),.entry>.muted,.text-medium p,.text-medium li,.text-medium blockquote{font-family:var(--font-serif);font-size:1.07em;line-height:1.65}.lede{letter-spacing:-.01em;max-width:30ch;margin:0;font-size:1.45em;font-weight:400;line-height:1.35}.heading{text-transform:lowercase;margin:0;font-size:1em;font-weight:600}.section h2.heading{margin-top:.75rem}@media (min-width:601px){h1.heading{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.muted{color:var(--text-secondary)}.meta{color:var(--text-tertiary)}.doc-main a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}@media (hover:hover){.doc-main a:hover{opacity:.65}}.list{gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.entry{gap:.35rem;display:grid}.entry-links{flex-wrap:wrap;gap:0 1.1rem;display:flex}.entry-title{color:var(--text-primary);font-weight:600}a.entry-title{text-decoration:none}@media (hover:hover){a.entry-title:hover{opacity:1;text-decoration:underline}}.defs{gap:.85rem;margin:0;display:grid}.def{grid-template-columns:8rem 1fr;gap:.25rem 1rem;display:grid}.def dt{font-weight:600}.def dd{color:var(--text-secondary);margin:0}.list.contact{gap:.5rem}.list.contact .meta{min-width:5.5rem;display:inline-block}@media (max-width:600px){.doc{padding:1.75rem 1.25rem 4rem}.doc-header{margin-bottom:1.5rem}.doc-nav{gap:.35rem 1.1rem}.doc-nav a{padding:.2rem 0}.doc-nav a.nav-carrot{margin-left:.5rem}.section,.list{gap:1.25rem}.def{grid-template-columns:1fr;gap:.15rem}.list.contact .meta{min-width:0;margin-right:.5rem}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.text-huge{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;line-height:1.15}.text-medium{font-size:1rem;line-height:1.7}.control-chip{min-height:36px;color:var(--text-primary);border:1px solid var(--border);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:.4rem .7rem;font-family:inherit;font-size:.8rem;display:inline-flex}@media (hover:hover){.control-chip:hover{background-color:var(--text-primary);color:var(--bg-primary)}}.article-head{border-bottom:1px solid var(--border);gap:.4rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:grid}.article-title{letter-spacing:-.01em;margin:0;font-size:1.4rem;font-weight:600;line-height:1.25}.article-content{max-width:100%}.article-content>*+*{margin-top:1.5rem}.text-medium h1,.text-medium h2,.text-medium h3,.text-medium h4,.text-medium h5,.text-medium h6{color:inherit;font-weight:600;line-height:1.25}.text-medium h1{margin:2rem 0 1rem;font-size:1.5rem}.text-medium h1:first-child{margin-top:0}.text-medium h2{border-bottom:1px solid var(--border);margin:2rem 0 1rem;padding-bottom:.3rem;font-size:1.3rem}.text-medium h3{margin:1.5rem 0 .75rem;font-size:1.15rem}.text-medium p{color:inherit;margin-bottom:1.25rem;line-height:1.7}.text-medium p:last-child{margin-bottom:0}.text-medium a{text-underline-offset:2px;color:inherit;text-decoration:underline}.text-medium a:hover{opacity:.7}.text-medium strong{font-weight:600}.text-medium em{font-style:italic}.text-medium hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.text-medium code{background:var(--bg-secondary);border:1px solid var(--border);font-family:var(--font-mono);padding:.1rem .35rem;font-size:.88em}.text-medium pre{background:var(--bg-secondary);border:1px solid var(--border);margin:1.5rem 0;padding:1rem 1.25rem;line-height:1.55;overflow-x:auto}.text-medium pre code{background:0 0;border:none;padding:0}.text-medium ul,.text-medium ol{margin:1.25rem 0;padding-left:1.5rem}.text-medium li{margin-bottom:.5rem;line-height:1.7}.text-medium blockquote{border-left:3px solid var(--border);color:var(--text-secondary);margin:1.5rem 0;padding:.5rem 1.25rem}.text-medium img{border:1px solid var(--border);max-width:100%;height:auto;margin:1.5rem 0}.text-medium table{border-collapse:collapse;border:1px solid var(--border);width:100%;margin:1.5rem 0}.text-medium th,.text-medium td{border:1px solid var(--border);text-align:left;padding:.5rem .75rem}.text-medium th{background:var(--bg-secondary);font-weight:600}.text-medium .katex-display{margin:1.5rem 0;padding:.5rem 0;overflow:auto hidden}.text-medium .katex{font-size:1.05em}.mermaid-diagram{justify-content:center;margin:2rem 0;display:flex;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-error{border:1px solid var(--color-error);color:var(--color-error);white-space:pre-wrap;border-radius:6px;margin:1.5rem 0;padding:1rem;font-size:.82em;overflow-x:auto}.text-medium .contains-task-list{padding-left:.25rem;list-style:none}.text-medium .task-list-item{list-style:none}.text-medium .task-list-item input{margin-right:.5rem}.text-medium .footnotes{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:2.5rem;padding-top:1rem;font-size:.9em}.hljs,pre code{color:var(--text-primary);background:0 0;display:block;overflow-x:auto}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-section,.hljs-link{color:#b91c1c}.dark .hljs-keyword,.dark .hljs-selector-tag,.dark .hljs-literal,.dark .hljs-section,.dark .hljs-link{color:#f87171}.hljs-string,.hljs-title,.hljs-name,.hljs-type,.hljs-attribute,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-variable,.hljs-template-tag,.hljs-template-variable{color:#059669}.dark .hljs-string,.dark .hljs-title,.dark .hljs-name,.dark .hljs-type,.dark .hljs-attribute,.dark .hljs-symbol,.dark .hljs-bullet,.dark .hljs-addition,.dark .hljs-variable,.dark .hljs-template-tag,.dark .hljs-template-variable{color:#34d399}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-meta{color:#6b7280}.dark .hljs-comment,.dark .hljs-quote,.dark .hljs-deletion,.dark .hljs-meta{color:#9ca3af}.hljs-number{color:#dc2626}.dark .hljs-number{color:#fbbf24}.hljs-function,.hljs-built_in,.hljs-params{color:#2563eb}.dark .hljs-function,.dark .hljs-built_in,.dark .hljs-params{color:#60a5fa}.carrot-wrap{width:100%;max-width:36rem;margin:0 auto}.carrot-emoji{font-size:2rem;line-height:1}.carrot-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.carrot-form{flex-wrap:wrap;gap:.5rem;margin-top:1.75rem;display:flex}.carrot-input,.carrot-textarea{width:100%;min-width:0;font-family:var(--font-mono);background:var(--bg-secondary);color:var(--text-primary);caret-color:var(--text-primary);border:1px solid var(--border);border-radius:2px;flex:14rem;padding:.6rem .75rem;font-size:1rem}.carrot-input::-moz-placeholder{color:var(--text-tertiary)}.carrot-textarea::-moz-placeholder{color:var(--text-tertiary)}.carrot-input::placeholder,.carrot-textarea::placeholder{color:var(--text-tertiary)}.carrot-input:focus,.carrot-textarea:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.carrot-textarea{resize:vertical;min-height:5.5rem}.carrot-remember{color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;margin-top:1rem;font-size:.85rem;display:flex}.carrot-remember input{accent-color:var(--text-secondary)}.carrot-compose{margin:1.75rem 0 2.5rem}.carrot-compose-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.carrot-file{min-width:0;color:var(--text-tertiary);flex:12rem;font-size:.85rem}.carrot-file::file-selector-button{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:2px;margin-right:.6rem;padding:.35rem .6rem;font-size:.85rem}.carrot-images{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.carrot-images img{border:1px solid var(--border);border-radius:2px;max-width:100%;height:auto;max-height:22rem}@media (max-width:480px){.carrot-form .doc-toggle,.carrot-compose-row .doc-toggle{flex:100%;padding:.6rem}}.carrot-previews{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.carrot-preview{position:relative}.carrot-preview img{-o-object-fit:cover;object-fit:cover;border:1px solid var(--border);border-radius:2px;width:4.5rem;height:4.5rem;display:block}.carrot-preview button{width:1.3rem;height:1.3rem;line-height:1;font-family:var(--font-mono);color:var(--bg-primary);background:var(--text-primary);cursor:pointer;border:none;border-radius:50%;position:absolute;top:-.4rem;right:-.4rem}.carrot-like{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;line-height:0;display:inline-flex;position:relative}.carrot-like svg{z-index:1;transition:transform .15s;position:relative}.carrot-like:active svg{transform:scale(.82)}.carrot-like svg path{fill:#0000;stroke:var(--text-tertiary);stroke-width:1.8px;transition:fill .18s,stroke .18s}.carrot-like:hover svg path{stroke:#e0245e}.carrot-like.is-liked svg path{fill:#e0245e;stroke:#e0245e}.carrot-like.just-liked svg{animation:.42s cubic-bezier(.2,1.6,.35,1) carrot-like-pop}@keyframes carrot-like-pop{0%{transform:scale(.2)}45%{transform:scale(1.35)}70%{transform:scale(.92)}to{transform:scale(1)}}.carrot-like-burst{pointer-events:none;position:absolute;inset:0}.carrot-like-burst span{opacity:0;background:#e0245e;border-radius:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;position:absolute;top:50%;left:50%}.carrot-like.just-liked .carrot-like-burst span{animation:.5s ease-out forwards carrot-burst}@keyframes carrot-burst{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(-16px) scale(.3)}}@media (prefers-reduced-motion:reduce){.carrot-like.just-liked svg,.carrot-like.just-liked .carrot-like-burst span{animation:none}}.carrot-entry-actions{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.carrot-entry-actions .carrot-like{margin-top:0}.carrot-entry-btn{font-family:var(--font-mono);color:var(--text-tertiary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:.25rem .3rem;font-size:.8rem;text-decoration:underline}.carrot-entry-btn:hover{color:var(--text-primary)}.carrot-figure{margin:1rem 0}.carrot-figure img{border:1px solid var(--border);border-radius:2px;max-width:100%;height:auto;max-height:28rem;display:block}.carrot-figure figcaption{margin-top:.35rem;font-style:italic}.carrot-figure-loading{border:1px dashed var(--border);text-align:center;border-radius:2px;padding:2rem}.carrot-files{flex-direction:column;gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.carrot-readmore{text-underline-offset:3px}.carrot-attachments{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.carrot-attachment{border:1px solid var(--border);border-radius:2px;align-items:flex-start;gap:.75rem;padding:.6rem;display:flex}.carrot-attachment-thumb{-o-object-fit:cover;object-fit:cover;border:1px solid var(--border);border-radius:2px;flex-shrink:0;width:4.5rem;height:4.5rem}.carrot-attachment-fields{flex-direction:column;flex:1;gap:.4rem;min-width:0;display:flex}.carrot-attachment-btns{gap:.75rem;display:flex}.carrot-input--sm{flex:none;width:100%;padding:.4rem .6rem;font-size:.9rem}.carrot-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:is(.dark .dark\:border-l-zinc-300){--tw-border-opacity:1;border-left-color:rgb(212 212 216/var(--tw-border-opacity))}
