@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-600:oklch(44.2% .017 285.786);--spacing:.25rem;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--bg);--color-text:var(--text);--color-muted:var(--muted);--color-faint:var(--faint);--color-border:var(--border);--color-panel:var(--panel);--font-callout:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:light;--bg:#fffefc;--text:#292524;--muted:#57534e;--faint:#a8a29e;--border:#e7e5e4;--accent:#b91c1c;--overlay-20:#0003;--overlay-35:#00000059;--overlay-45:#00000073;--overlay-60:#0009;--overlay-70:#000000b3;--overlay-85:#000000d9;--overlay-90:#000000e6;--lightbox-text:#fff;--lightbox-border:#fff3;--lightbox-dot-muted:#ffffff59;--blur-md:8px;--blur-lg:12px;--code-header-bg:#f2f2f0;--code-content-bg:#fcfcfb;--code-border:#e6e6e4;--code-text:#333;--code-bg:var(--code-content-bg);--code-action-hover-bg:#e8e8e6;--diagram-muted:#64748b;--diagram-dim:#475569;--panel:var(--code-header-bg);--max:900px;--sidebar:320px;--tap-min-h:44px;--pad-x:48px;--card-pad:12px 14px;--quote-pad:1rem;--header-gap:12px}:root[data-theme=dark]{color-scheme:dark;--bg:#1a1a1a;--text:#e5e5e5;--muted:#a3a3a3;--faint:#737373;--border:#333;--accent:#f87171;--code-header-bg:#2a2a2a;--code-content-bg:#222;--code-border:#333;--code-text:#e1e1e1;--code-bg:var(--code-content-bg);--code-action-hover-bg:#3a3a3a;--diagram-muted:#94a3b8;--diagram-dim:#d5deeb}@media(max-width:900px){:root{--sidebar:1fr;--pad-x:20px;--card-pad:10px 12px;--quote-pad:.85rem;--header-gap:4px}}@media(min-width:641px)and (max-width:900px){:root{--pad-x:28px}}@media(max-width:640px){:root{--pad-x:18px}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-serif);margin:0;padding:0;font-size:16px;line-height:1.75}pre,code,kbd,samp{font-family:var(--font-mono);letter-spacing:.5px}img{max-width:100%;height:auto}a{color:var(--text);border-bottom:1px solid #0000;text-decoration:none;transition:color .2s,border-bottom-color .2s,text-decoration-color .2s}a:hover{border-bottom-color:currentColor}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-bottom-color:#0000}hr{border:0;border-top:1px solid var(--border);margin:28px 0}}@layer components{.page-header{justify-content:space-between;align-items:flex-end;gap:var(--header-gap);flex-wrap:wrap;margin-bottom:18px;display:flex}.page-heading{min-width:0}.page-title{margin:0;font-size:26px;line-height:1.2}.page-subtitle{color:var(--muted);font-size:13px;font-family:var(--font-callout);margin-top:6px}.page-subtitle a{color:var(--accent);border-bottom-color:#0000}.page-actions{margin-left:auto}.entry-status{min-height:1.25rem;color:var(--faint);font-size:13px;font-family:var(--font-callout);margin:-4px 0 8px}.list{flex-direction:column;gap:0;margin-top:8px;display:flex}.entry-card{border-radius:14px}.project-card{transition:border-color .2s,box-shadow .2s,transform .2s}.project-card:hover{border-color:var(--accent);box-shadow:0 6px 18px var(--accent)}@supports (color:color-mix(in lab,red,red)){.project-card:hover{box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 12%,transparent)}}.project-card:hover{transform:translateY(-1px)}.project-card:has(.project-card__overlay:focus-visible){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.project-card:has(.project-card__overlay:focus-visible){box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 24%,transparent)}}.project-card__overlay:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entry-card:hover .entry-title,.entry-title{color:var(--text)}.entry-excerpt{color:#666}.entry-meta{color:var(--faint);font-family:var(--font-callout)}.tag{color:var(--accent);font-weight:600}.entry-badge{border-color:var(--border);color:var(--muted);background:#fafafa}.entry-search{align-items:center;gap:8px;display:flex}.entry-search-panel{display:none}.entry-search.is-open .entry-search-panel{display:block}.entry-search-panel input{border:1px solid var(--border);width:232px;color:var(--text);font-size:14px;line-height:1.4;font-family:var(--font-callout);background:0 0;border-radius:999px;padding:6px 12px}.entry-search-panel input::placeholder{color:var(--muted)}.entry-search-toggle{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.entry-search-toggle .icon{width:18px;height:18px}.archive-year{color:var(--faint);font-size:15px;font-family:var(--font-callout);margin:20px 0 8px}.archive-list{flex-direction:column;gap:2px;display:flex}.archive-row{justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;display:flex}.archive-meta{color:var(--faint);white-space:nowrap;align-items:baseline;gap:12px;font-size:13px;display:inline-flex}.archive-tag{color:var(--accent);font-weight:600}.article-header{margin-bottom:16px}.project-page__description{max-width:68ch}.project-preview__frame{border:1px solid var(--border);background:var(--panel);border-radius:12px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.project-preview__frame{background:color-mix(in srgb,var(--panel) 92%,transparent)}}.project-preview__frame iframe{background:#fff;border:0;width:100%;min-height:620px;display:block}@media(max-width:900px){.project-preview__frame iframe{min-height:560px}}@media(max-width:640px){.project-preview__frame iframe{min-height:460px}}.prev-next{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.prev-next__item{min-width:0}.prev-next__link{border:1px solid var(--border);border-bottom-color:var(--border);border-radius:10px;flex-direction:column;gap:6px;height:100%;padding:10px 12px;text-decoration:none;transition:border-color .2s,background-color .2s,color .2s;display:flex}.prev-next__link:hover{border-color:var(--accent);border-bottom-color:var(--accent)}.prev-next__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.prev-next__title{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}@media(max-width:640px){.prev-next{grid-template-columns:1fr}}.prose{color:var(--text);font-size:16px;line-height:1.84;font-family:var(--font-serif)}.prose>*{margin:0}.prose>*+*{margin-top:14px}.prose h2,.prose h3,.prose h4{color:var(--text);margin-top:38px;margin-bottom:8px;font-weight:600;line-height:1.35}.prose h2{font-size:38px}.prose h3{font-size:30px}.prose h4{font-size:22px}.prose ul,.prose ol{margin:14px 0;padding-inline-start:1.35rem}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:6px}.prose li::marker{color:var(--muted)}.prose strong{color:var(--text);font-weight:700}.prose a{color:inherit;text-underline-offset:2px;border-bottom:0;text-decoration:underline;text-decoration-thickness:1px}.prose blockquote{border-inline-start:3px solid var(--border);background:linear-gradient(90deg,var(--panel),transparent 90%);margin:20px 0;padding:10px 14px}@supports (color:color-mix(in lab,red,red)){.prose blockquote{background:linear-gradient(90deg,color-mix(in srgb,var(--panel) 88%,transparent),transparent 90%)}}.prose blockquote{color:var(--muted)}.prose :not(pre)>code{font-family:var(--font-mono);font-size:1em;line-height:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:1px 5px}.prose .code-block{border:1px solid var(--code-border);background:var(--code-bg);border-radius:10px;margin:22px 0;overflow:hidden}.prose .code-toolbar{border-bottom:1px solid var(--code-border);background:var(--code-header-bg);font-family:var(--font-mono);color:var(--faint);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.prose .code-lang{color:var(--text);letter-spacing:.02em;align-items:center;gap:8px;font-weight:600;display:inline-flex}.prose .code-lang svg{width:14px;height:14px;color:var(--muted)}.prose .code-meta{align-items:center;gap:8px;display:inline-flex}.prose .code-copy{color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.prose .code-copy:hover{background:var(--code-action-hover-bg);color:var(--text)}.prose .code-copy .icon-check,.prose .code-copy[data-state=copied] .icon-copy{display:none}.prose .code-copy[data-state=copied] .icon-check{display:block}.prose pre{background:var(--code-content-bg);color:var(--code-text);margin:0;padding:14px 16px;overflow:auto}.prose pre code{font-family:var(--font-mono);font-size:17px;line-height:25px}.prose img{border:1px solid var(--border);border-radius:8px;margin:18px 0}.prose table{border-collapse:collapse;width:100%;font-size:.9em;font-family:var(--font-mono);margin:22px 0}.prose thead th{text-align:left;border-bottom:2px solid var(--border);color:var(--muted);white-space:nowrap;padding:8px 14px;font-weight:600}.prose tbody td{border-bottom:1px solid var(--border);vertical-align:top;padding:8px 14px;line-height:1.55}.prose tbody tr:last-child td{border-bottom:none}.prose tbody tr:hover td{background:var(--panel)}@supports (color:color-mix(in lab,red,red)){.prose tbody tr:hover td{background:color-mix(in srgb,var(--panel) 60%,transparent)}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-7{top:calc(var(--spacing) * 7)}.right-6{right:calc(var(--spacing) * 6)}.right-7{right:calc(var(--spacing) * 7)}.right-\[calc\(var\(--pad-x\)\+env\(safe-area-inset-right\)\)\]{right:calc(var(--pad-x) + env(safe-area-inset-right))}.bottom-7{bottom:calc(var(--spacing) * 7)}.bottom-\[calc\(16px\+env\(safe-area-inset-bottom\)\)\]{bottom:calc(16px + env(safe-area-inset-bottom))}.left-1\/2{left:50%}.left-6{left:calc(var(--spacing) * 6)}.z-10{z-index:10}.z-20{z-index:20}.z-\[6\]{z-index:6}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.my-\[50px\]{margin-block:50px}.ms-1{margin-inline-start:calc(var(--spacing) * 1)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[3px\]{margin-top:3px}.mt-\[6px\]{margin-top:6px}.mt-\[10px\]{margin-top:10px}.mt-\[30px\]{margin-top:30px}.mt-auto{margin-top:auto}.mb-\[10px\]{margin-bottom:10px}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.\[display\:-webkit-box\]{display:-webkit-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-\[18px\]{height:18px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-\[18px\]{width:18px}.w-\[30px\]{width:30px}.w-\[34px\]{width:34px}.w-\[min\(420px\,82vw\)\]{width:min(420px,82vw)}.w-full{width:100%}.w-max{width:max-content}.w-screen{width:100vw}.max-w-\[90vw\]{max-width:90vw}.max-w-\[220px\]{max-width:220px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[min\(72vw\,720px\)\]{max-width:min(72vw,720px)}.max-w-\[var\(--max\)\]{max-width:var(--max)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.list-none{list-style-type:none}.\[grid-template-columns\:var\(--sidebar\)_1px_1fr\]{grid-template-columns:var(--sidebar) 1px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[6px\]{gap:6px}.gap-\[10px\]{gap:10px}.gap-\[var\(--header-gap\)\]{gap:var(--header-gap)}.gap-x-\[34px\]{column-gap:34px}.gap-y-\[10px\]{row-gap:10px}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-\[10px\]{border-radius:10px}.rounded-\[14px\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--lightbox-border\)\]{border-color:var(--lightbox-border)}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500) 40%,transparent)}}.border-border{border-color:var(--color-border)}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.border-zinc-400\/50{border-color:#9f9fa980}@supports (color:color-mix(in lab,red,red)){.border-zinc-400\/50{border-color:color-mix(in oklab,var(--color-zinc-400) 50%,transparent)}}.bg-\[var\(--overlay-35\)\]{background-color:var(--overlay-35)}.bg-\[var\(--overlay-45\)\]{background-color:var(--overlay-45)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-bg\/90{background-color:var(--color-bg)}@supports (color:color-mix(in lab,red,red)){.bg-bg\/90{background-color:color-mix(in oklab,var(--color-bg) 90%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-panel{background-color:var(--color-panel)}.bg-text{background-color:var(--color-text)}.bg-transparent{background-color:#0000}.bg-zinc-400\/15{background-color:#9f9fa926}@supports (color:color-mix(in lab,red,red)){.bg-zinc-400\/15{background-color:color-mix(in oklab,var(--color-zinc-400) 15%,transparent)}}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing) * 0)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[7px\]{padding-inline:7px}.px-\[var\(--card-pad\)\]{padding-inline:var(--card-pad)}.px-\[var\(--pad-x\)\]{padding-inline:var(--pad-x)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-\[2px\]{padding-block:2px}.py-\[18px\]{padding-block:18px}.py-\[55px\]{padding-block:55px}.py-\[56px\]{padding-block:56px}.pe-1{padding-inline-end:calc(var(--spacing) * 1)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-\[10px\]{padding-bottom:10px}.text-center{text-align:center}.text-right{text-align:right}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-\[1\.75\]{--tw-leading:1.75;line-height:1.75}.leading-none{--tw-leading:1;line-height:1}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.2px\]{--tw-tracking:.2px;letter-spacing:.2px}.tracking-\[0\.5px\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\[0\.6px\]{--tw-tracking:.6px;letter-spacing:.6px}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--lightbox-text\)\]{color:var(--lightbox-text)}.text-amber-700{color:var(--color-amber-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-faint{color:var(--color-faint)}.text-inherit{color:inherit}.text-muted{color:var(--color-muted)}.text-text{color:var(--color-text)}.text-zinc-600{color:var(--color-zinc-600)}.lowercase{text-transform:lowercase}.italic{font-style:italic}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-55{opacity:.55}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.\[-webkit-box-orient\:vertical\]{-webkit-box-orient:vertical}.\[-webkit-line-clamp\:3\]{-webkit-line-clamp:3}.\[line-clamp\:3\]{line-clamp:3}.\[scrollbar-width\:thin\]{scrollbar-width:thin}.\[transition\:grid-template-columns_0\.25s_ease\]{transition:grid-template-columns .25s}.open\:flex:is([open],:popover-open,:open){display:flex}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:bg-\[var\(--overlay-60\)\]:hover{background-color:var(--overlay-60)}.hover\:bg-panel:hover{background-color:var(--color-panel)}.hover\:text-text:hover{color:var(--color-text)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-2:focus{top:calc(var(--spacing) * 2)}.focus\:left-2:focus{left:calc(var(--spacing) * 2)}.focus\:z-20:focus{z-index:20}.focus\:rounded-md:focus{border-radius:var(--radius-md)}.focus\:border:focus{border-style:var(--tw-border-style);border-width:1px}.focus\:border-border:focus{border-color:var(--color-border)}.focus\:bg-bg:focus{background-color:var(--color-bg)}.focus\:px-2\.5:focus{padding-inline:calc(var(--spacing) * 2.5)}.focus\:py-1\.5:focus{padding-block:calc(var(--spacing) * 1.5)}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--accent\)\]:focus-visible{outline-color:var(--accent)}.disabled\:cursor-default:disabled{cursor:default}.disabled\:opacity-20:disabled{opacity:.2}.data-\[sidebar-divider\=none\]\:invisible[data-sidebar-divider=none]{visibility:hidden}.data-\[sidebar-divider\=none\]\:\[grid-template-columns\:var\(--sidebar\)_0_1fr\][data-sidebar-divider=none]{grid-template-columns:var(--sidebar) 0 1fr}.data-\[visible\=true\]\:pointer-events-auto[data-visible=true]{pointer-events:auto}.data-\[visible\=true\]\:translate-y-0[data-visible=true]{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[visible\=true\]\:opacity-100[data-visible=true]{opacity:1}@media not all and (min-width:900px){.max-\[900px\]\:static{position:static}.max-\[900px\]\:order-1{order:1}.max-\[900px\]\:order-2{order:2}.max-\[900px\]\:order-4{order:4}.max-\[900px\]\:mt-0{margin-top:calc(var(--spacing) * 0)}.max-\[900px\]\:mt-0\.5{margin-top:calc(var(--spacing) * .5)}.max-\[900px\]\:ml-auto{margin-left:auto}.max-\[900px\]\:hidden{display:none}.max-\[900px\]\:h-9{height:calc(var(--spacing) * 9)}.max-\[900px\]\:h-auto{height:auto}.max-\[900px\]\:min-h-\[44px\]{min-height:44px}.max-\[900px\]\:w-9{width:calc(var(--spacing) * 9)}.max-\[900px\]\:w-full{width:100%}.max-\[900px\]\:flex-1{flex:1}.max-\[900px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[900px\]\:flex-col{flex-direction:column}.max-\[900px\]\:flex-row{flex-direction:row}.max-\[900px\]\:flex-wrap{flex-wrap:wrap}.max-\[900px\]\:items-center{align-items:center}.max-\[900px\]\:items-start{align-items:flex-start}.max-\[900px\]\:justify-center{justify-content:center}.max-\[900px\]\:gap-1{gap:calc(var(--spacing) * 1)}.max-\[900px\]\:gap-\[6px\]{gap:6px}.max-\[900px\]\:gap-x-3{column-gap:calc(var(--spacing) * 3)}.max-\[900px\]\:gap-y-2{row-gap:calc(var(--spacing) * 2)}.max-\[900px\]\:gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.max-\[900px\]\:rounded-full{border-radius:3.40282e38px}.max-\[900px\]\:px-2{padding-inline:calc(var(--spacing) * 2)}.max-\[900px\]\:px-\[calc\(var\(--pad-x\)\+env\(safe-area-inset-right\)\)\]{padding-inline:calc(var(--pad-x) + env(safe-area-inset-right))}.max-\[900px\]\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.max-\[900px\]\:py-4{padding-block:calc(var(--spacing) * 4)}.max-\[900px\]\:pt-\[calc\(10px\+env\(safe-area-inset-top\)\)\]{padding-top:calc(10px + env(safe-area-inset-top))}.max-\[900px\]\:pt-\[calc\(32px\+env\(safe-area-inset-top\)\)\]{padding-top:calc(32px + env(safe-area-inset-top))}.max-\[900px\]\:pb-\[calc\(16px\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.max-\[900px\]\:pb-\[calc\(48px\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(48px + env(safe-area-inset-bottom))}.max-\[900px\]\:text-\[24px\]{font-size:24px}}@media not all and (min-width:640px){.max-\[640px\]\:bottom-3\.5{bottom:calc(var(--spacing) * 3.5)}.max-\[640px\]\:h-\[38px\]{height:38px}.max-\[640px\]\:max-h-screen{max-height:100vh}.max-\[640px\]\:w-\[38px\]{width:38px}.max-\[640px\]\:max-w-screen{max-width:100vw}.max-\[640px\]\:pt-\[calc\(4px\+env\(safe-area-inset-top\)\)\]{padding-top:calc(4px + env(safe-area-inset-top))}.max-\[640px\]\:pt-\[calc\(18px\+env\(safe-area-inset-top\)\)\]{padding-top:calc(18px + env(safe-area-inset-top))}.max-\[640px\]\:pb-\[calc\(14px\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.max-\[640px\]\:pb-\[calc\(36px\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(36px + env(safe-area-inset-bottom))}.max-\[640px\]\:text-\[12px\]{font-size:12px}.max-\[640px\]\:text-\[15px\]{font-size:15px}.max-\[640px\]\:text-\[24px\]{font-size:24px}}.\[\[data-mobile-count\=hidden\]_\.lightbox-count\]\:hidden:is([data-mobile-count=hidden] .lightbox-count){display:none}.\[\[data-mobile-count\=hidden\]_\.lightbox-dots\]\:inline-flex:is([data-mobile-count=hidden] .lightbox-dots){display:inline-flex}.\[\[data-mobile-nav\=bottom\]_\.lightbox-navs\]\:top-auto:is([data-mobile-nav=bottom] .lightbox-navs){top:auto}.\[\[data-mobile-nav\=bottom\]_\.lightbox-navs\]\:bottom-16:is([data-mobile-nav=bottom] .lightbox-navs){bottom:calc(var(--spacing) * 16)}.\[\[data-mobile-nav\=bottom\]_\.lightbox-navs\]\:translate-y-0:is([data-mobile-nav=bottom] .lightbox-navs){--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\[data-mobile-nav\=bottom\]_\.lightbox-navs\]\:justify-center:is([data-mobile-nav=bottom] .lightbox-navs){justify-content:center}.\[\[data-mobile-nav\=bottom\]_\.lightbox-navs\]\:gap-4:is([data-mobile-nav=bottom] .lightbox-navs){gap:calc(var(--spacing) * 4)}.\[\[data-mobile-nav\=hidden\]_\.lightbox-navs\]\:hidden:is([data-mobile-nav=hidden] .lightbox-navs){display:none}body[data-reading=immersive] .\[body\[data-reading\=\'immersive\'\]_\&\]\:pointer-events-auto{pointer-events:auto}body[data-reading=immersive] .\[body\[data-reading\=\'immersive\'\]_\&\]\:opacity-100{opacity:1}}@media(max-width:900px){.entry-search-panel input{width:176px}}@media(max-width:640px){.archive-row{flex-direction:column;align-items:flex-start;gap:4px}.prose h2{font-size:32px}.prose h3{font-size:26px}.prose h4{font-size:20px}}body[data-reading=immersive] .shell{grid-template-columns:0 0 1fr;transition:grid-template-columns .25s}body[data-reading=immersive] .sidebar{visibility:hidden;opacity:0;pointer-events:none;width:0;padding:0;transition:opacity .25s,visibility .25s;overflow:hidden}body[data-reading=immersive] .divider{visibility:hidden}body[data-reading=immersive] .content{max-width:740px;margin-inline:auto;padding-top:101px}body[data-reading=immersive] .prose{font-size:17px;line-height:1.9}body[data-reading=immersive] .prose>*+*{margin-top:18px}body[data-reading=immersive] .prose h2{font-size:30px}body[data-reading=immersive] .prose h3{font-size:24px}body[data-reading=immersive] .prose h4{font-size:20px}:root[data-theme=dark] .entry-excerpt{color:#7e7e7e}:root[data-theme=dark] .entry-badge{color:#bcbcbc;background:#202020;border-color:#3a3a3a}:root[data-theme=dark] .prose{color:#efeeeb}:root[data-theme=dark] .prose :not(pre)>code{color:#f1f1ef;border-color:#3f3f3f}:root[data-theme=dark] .prose blockquote{background:linear-gradient(90deg,var(--panel),transparent 92%)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=dark] .prose blockquote{background:linear-gradient(90deg,color-mix(in srgb,var(--panel) 78%,transparent),transparent 92%)}}:root[data-theme=dark] .prose blockquote{color:#c8c8c8}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
