/*!tailwindcss v4.3.0 | MIT License | https://tailwindcss.com*/@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--color-red-500:oklch(63.7% 0.237 25.331);--color-yellow-500:oklch(79.5% 0.184 86.047);--color-zinc-400:oklch(70.5% 0.015 286.067);--color-zinc-500:oklch(55.2% 0.016 285.938);--color-zinc-700:oklch(37% 0.013 285.805);--color-black:#000;--spacing:0.25rem;--text-xs:0.75rem;--text-xs--line-height:calc(1 / 0.75);--text-sm:0.875rem;--text-sm--line-height:calc(1.25 / 0.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:0.1em;--aspect-video:16 / 9;--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);--font-display:"IBM Plex Sans Condensed", "IBM Plex Sans", sans-serif;--color-bg:#0f0f0f;--color-surface:#141414;--color-border:#2a2a2a;--color-text:#e2e2e2;--color-muted:#b0b0b0;--color-primary:#22c55e}}@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%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{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:initial;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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports(not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentcolor;@supports(color:color-mix(in lab,red,red)){color: color-mix(in oklab,currentcolor 50%,transparent);}}::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{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.z-50{z-index:50}.container{width:100%;@media(width >= 40rem){max-width: 40rem;}@media(width >= 48rem){max-width: 48rem;}@media(width >= 64rem){max-width: 64rem;}@media(width >= 80rem){max-width: 80rem;}@media(width >= 96rem){max-width: 96rem;}}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-video{aspect-ratio:var(--aspect-video)}.h-full{height:100%}.max-h-\[90\%\]{max-height:90%}.w-full{width:100%}.max-w-\[90\%\]{max-width:90%}.flex-shrink{flex-shrink:1}.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}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.space-y-1{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }}.space-y-2{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); }}.space-y-3{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))); }}.space-y-4{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); }}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-border{border-color:var(--color-border)}.border-red-500{border-color:var(--color-red-500)}.border-yellow-500{border-color:var(--color-yellow-500)}.border-zinc-700{border-color:var(--color-zinc-700)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.bg-bg{background-color:var(--color-bg)}.bg-black\/90{background-color:color-mix(in srgb,#000 90%,transparent);@supports(color:color-mix(in lab,red,red)){background-color: color-mix(in oklab,var(--color-black) 90%,transparent);}}.bg-surface{background-color:var(--color-surface)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-6{padding-top:calc(var(--spacing) * 6)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-muted{color:var(--color-muted)}.text-red-500{color:var(--color-red-500)}.text-text{color:var(--color-text)}.text-yellow-500{color:var(--color-yellow-500)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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,)}.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,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))}.hover\:border-primary{&:hover{@media(hover:hover){border-color: var(--color-primary);}}}.hover\:text-primary{&:hover{@media(hover:hover){color: var(--color-primary);}}}.md\:grid-cols-2{@media(width >= 48rem){grid-template-columns: repeat(2,minmax(0,1fr));}}}[data-theme=light]{--color-bg:#f8f9fa;--color-surface:#ffffff;--color-border:#e2e4e8;--color-text:#1a1b1e;--color-muted:#4b5563;--color-primary:#16a34a;--color-secondary:#2563eb}:root{--nav-height:75px;--color-code-bg:#0d0d0d;--color-code-inline-bg:#111111;--color-code-text:#22c55e;--color-subtle-bg:rgba(255, 255, 255, 0.025)}[data-theme=light]{--color-code-bg:#f6f8fa;--color-code-inline-bg:#eef0f3;--color-code-text:#1e2a3a;--color-subtle-bg:rgba(0, 0, 0, 0.03)}html{font-size:17px}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}.skip-link{position:absolute;top:-100px;left:1rem;z-index:200;padding:.5rem 1rem;background:var(--color-primary);color:var(--color-bg);font-size:.875rem;font-weight:600;border-radius:0 0 4px 4px;text-decoration:none;transition:top 150ms ease}.skip-link:focus{top:0;outline:2px solid var(--color-text);outline-offset:2px}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}*:focus:not(:focus-visible){outline:none}a{color:var(--color-primary);transition:color 150ms ease}a:hover{color:var(--color-text)}.site-nav{border-bottom:1px solid var(--color-border);background-color:var(--color-surface);position:sticky;top:0;z-index:50;height:var(--nav-height);display:flex;align-items:center}.site-nav-inner{display:flex;align-items:center;gap:2rem;padding-inline:1.25rem;width:100%}.nav-brand{display:flex;align-items:center;flex-shrink:0}.nav-brand img{width:300px;height:auto;display:block}.nav-links{display:flex;gap:1.75rem;font-size:.875rem;flex:1}.nav-links a{color:var(--color-muted);transition:color 150ms;text-decoration:none}.nav-links a:hover{color:var(--color-text)}.theme-toggle{background:0 0;border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;padding:.25rem .55rem;font-size:.95rem;line-height:1;border-radius:4px;transition:color 150ms,border-color 150ms;margin-left:auto;flex-shrink:0}.theme-toggle:hover{color:var(--color-text);border-color:var(--color-muted)}.layout-grid{display:grid;grid-template-columns:330px 1fr 220px}@media(max-width:767px){:root{--nav-height:56px}.layout-grid{grid-template-columns:1fr}.layout-sidebar-left,.layout-sidebar-right{display:none}.layout-main{padding:1.5rem 1.25rem}.site-nav{height:auto;min-height:var(--nav-height);padding-block:.5rem}.site-nav-inner{gap:.75rem;flex-wrap:wrap}.nav-brand img{width:180px}.nav-links{order:3;flex-basis:100%;gap:.75rem;font-size:.8rem;flex-wrap:wrap}.theme-toggle{margin-left:auto;order:2}.site-footer-inner{flex-direction:column;align-items:flex-start;gap:1.25rem}.footer-brand img{height:90px}}@media(min-width:768px) and (max-width:1199px){.layout-grid{grid-template-columns:330px 1fr}.layout-sidebar-right{display:none}}@media(min-width:1200px){.layout-sidebar-right{display:block}}.layout-sidebar-left{position:sticky;top:var(--nav-height);height:calc(100vh - var(--nav-height));overflow-y:auto;border-right:1px solid var(--color-border);padding:1.75rem 1rem}.layout-main{min-width:0;padding:2.5rem 3rem}.layout-sidebar-right{position:sticky;top:var(--nav-height);height:calc(100vh - var(--nav-height));overflow-y:auto;border-left:1px solid var(--color-border);padding:1.75rem 1rem}.sidebar-nav,.sidebar-related{font-size:.85rem}.sidebar-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);margin-bottom:.8rem;font-weight:600;font-family:var(--font-display)}.sidebar-section-title{display:block;font-weight:600;color:var(--color-text);margin-bottom:.5rem;font-size:.875rem;text-decoration:none;padding:.25rem .5rem}.sidebar-section-title:hover{color:var(--color-primary)}.sidebar-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.sidebar-link{display:block;padding:.3rem .5rem;color:var(--color-muted);border-radius:3px;transition:color 100ms,background-color 100ms;line-height:1.45;text-decoration:none}.sidebar-link:hover{color:var(--color-text);background-color:var(--color-border)}.sidebar-link-active{color:var(--color-primary)!important;background-color:var(--color-surface)}.sidebar-cal{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.sidebar-cal-year{margin-bottom:1.5rem}.sidebar-cal-year-link{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);font-weight:600;font-family:var(--font-display);margin-bottom:.45rem;text-decoration:none;transition:color 100ms}.sidebar-cal-year-link:hover{color:var(--color-primary)}.sidebar-cal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.sidebar-cal-cell{font-size:.7rem;font-family:var(--font-mono);text-align:center;padding:.2rem .15rem;border-radius:2px;line-height:1.7}.sidebar-cal-cell--active{color:var(--color-primary);background:rgba(34,197,94,8%);text-decoration:none;transition:background-color 100ms;display:block}.sidebar-cal-cell--active:hover{background:rgba(34,197,94,.2)}[data-theme=light] .sidebar-cal-cell--active{background:rgba(22,163,74,.1)}[data-theme=light] .sidebar-cal-cell--active:hover{background:rgba(22,163,74,.22)}.sidebar-cal-cell--empty{color:var(--color-border);display:block}.site-footer{border-top:1px solid var(--color-border);background-color:var(--color-surface);margin-top:0}.site-footer-inner{padding:1.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:1rem}.footer-brand img{height:175px;width:auto;display:block;opacity:.85}.footer-tagline{font-size:.875rem;color:var(--color-muted);margin:0}.footer-nav{display:flex;gap:1.5rem;font-size:.875rem;flex-wrap:wrap}.footer-nav a{color:var(--color-muted);transition:color 150ms;text-decoration:none}.footer-nav a:hover{color:var(--color-text)}@font-face{font-family:ibm plex sans;src:url(/fonts/ibm-plex-sans/IBMPlexSans-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ibm plex sans;src:url(/fonts/ibm-plex-sans/IBMPlexSans-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:ibm plex sans;src:url(/fonts/ibm-plex-sans/IBMPlexSans-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:ibm plex sans condensed;src:url(/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ibm plex sans condensed;src:url(/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:ibm plex sans condensed;src:url(/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:ibm plex mono;src:url(/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ibm plex mono;src:url(/fonts/ibm-plex-mono/IBMPlexMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}.chroma{color:#f8f8f2}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#3d3f4a}.chroma .lnt{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#ff79c6}.chroma .kc{color:#ff79c6}.chroma .kd{color:#8be9fd;font-style:italic}.chroma .kn{color:#ff79c6}.chroma .kp{color:#ff79c6}.chroma .kr{color:#ff79c6}.chroma .kt{color:#8be9fd}.chroma .na{color:#50fa7b}.chroma .nc{color:#50fa7b}.chroma .nl{color:#8be9fd;font-style:italic}.chroma .nt{color:#ff79c6}.chroma .nb{color:#8be9fd;font-style:italic}.chroma .bp{font-style:italic}.chroma .nv{color:#8be9fd;font-style:italic}.chroma .vc{color:#8be9fd;font-style:italic}.chroma .vg{color:#8be9fd;font-style:italic}.chroma .vi{color:#8be9fd;font-style:italic}.chroma .vm{color:#8be9fd;font-style:italic}.chroma .nf{color:#50fa7b}.chroma .fm{color:#50fa7b}.chroma .s{color:#f1fa8c}.chroma .sa{color:#f1fa8c}.chroma .sb{color:#f1fa8c}.chroma .sc{color:#f1fa8c}.chroma .dl{color:#f1fa8c}.chroma .sd{color:#f1fa8c}.chroma .s2{color:#f1fa8c}.chroma .se{color:#f1fa8c}.chroma .sh{color:#f1fa8c}.chroma .si{color:#f1fa8c}.chroma .sx{color:#f1fa8c}.chroma .sr{color:#f1fa8c}.chroma .s1{color:#f1fa8c}.chroma .ss{color:#f1fa8c}.chroma .m{color:#bd93f9}.chroma .mb{color:#bd93f9}.chroma .mf{color:#bd93f9}.chroma .mh{color:#bd93f9}.chroma .mi{color:#bd93f9}.chroma .il{color:#bd93f9}.chroma .mo{color:#bd93f9}.chroma .o{color:#ff79c6}.chroma .ow{color:#ff79c6}.chroma .c{color:#6272a4;font-style:italic}.chroma .ch{color:#6272a4;font-style:italic}.chroma .cm{color:#6272a4;font-style:italic}.chroma .c1{color:#6272a4;font-style:italic}.chroma .cs{color:#6272a4;font-style:italic}.chroma .cp{color:#ff79c6}.chroma .cpf{color:#ff79c6}.chroma .gd{color:#f55}.chroma .ge{text-decoration:underline}.chroma .gh{font-weight:700}.chroma .gi{color:#50fa7b;font-weight:700}.chroma .go{color:#44475a}.chroma .gu{font-weight:700}.chroma .gl{text-decoration:underline}[data-theme=light] .chroma{color:#1f2328}[data-theme=light] .chroma .hl{background-color:#e5e5e5}[data-theme=light] .chroma .lnt{color:#6e7781}[data-theme=light] .chroma .ln{color:#6e7781}[data-theme=light] .chroma .k{color:#cf222e}[data-theme=light] .chroma .kc{color:#cf222e}[data-theme=light] .chroma .kd{color:#cf222e}[data-theme=light] .chroma .kn{color:#cf222e}[data-theme=light] .chroma .kp{color:#cf222e}[data-theme=light] .chroma .kr{color:#cf222e}[data-theme=light] .chroma .kt{color:#cf222e}[data-theme=light] .chroma .na{color:#1f2328}[data-theme=light] .chroma .nc{color:#1f2328}[data-theme=light] .chroma .no{color:#0550ae}[data-theme=light] .chroma .nd{color:#0550ae}[data-theme=light] .chroma .ni{color:#6639ba}[data-theme=light] .chroma .nl{color:#900;font-weight:700;font-style:normal}[data-theme=light] .chroma .nt{color:#0550ae}[data-theme=light] .chroma .nb{color:#6639ba}[data-theme=light] .chroma .bp{color:#6a737d;font-style:normal}[data-theme=light] .chroma .nv{color:#953800;font-style:normal}[data-theme=light] .chroma .vc{color:#953800}[data-theme=light] .chroma .vg{color:#953800}[data-theme=light] .chroma .vi{color:#953800}[data-theme=light] .chroma .vm{color:#953800}[data-theme=light] .chroma .nf{color:#6639ba}[data-theme=light] .chroma .fm{color:#6639ba}[data-theme=light] .chroma .s{color:#0a3069}[data-theme=light] .chroma .sa{color:#0a3069}[data-theme=light] .chroma .sb{color:#0a3069}[data-theme=light] .chroma .sc{color:#0a3069}[data-theme=light] .chroma .dl{color:#0a3069}[data-theme=light] .chroma .sd{color:#0a3069}[data-theme=light] .chroma .s2{color:#0a3069}[data-theme=light] .chroma .se{color:#0a3069}[data-theme=light] .chroma .sh{color:#0a3069}[data-theme=light] .chroma .si{color:#0a3069}[data-theme=light] .chroma .sx{color:#0a3069}[data-theme=light] .chroma .sr{color:#0a3069}[data-theme=light] .chroma .s1{color:#0a3069}[data-theme=light] .chroma .ss{color:#032f62}[data-theme=light] .chroma .m{color:#0550ae}[data-theme=light] .chroma .mb{color:#0550ae}[data-theme=light] .chroma .mf{color:#0550ae}[data-theme=light] .chroma .mh{color:#0550ae}[data-theme=light] .chroma .mi{color:#0550ae}[data-theme=light] .chroma .il{color:#0550ae}[data-theme=light] .chroma .mo{color:#0550ae}[data-theme=light] .chroma .o{color:#0550ae}[data-theme=light] .chroma .ow{color:#0550ae}[data-theme=light] .chroma .c{color:#57606a;font-style:normal}[data-theme=light] .chroma .ch{color:#57606a;font-style:normal}[data-theme=light] .chroma .cm{color:#57606a;font-style:normal}[data-theme=light] .chroma .c1{color:#57606a;font-style:normal}[data-theme=light] .chroma .cs{color:#57606a;font-style:normal}[data-theme=light] .chroma .cp{color:#57606a;font-style:normal}[data-theme=light] .chroma .cpf{color:#57606a;font-style:normal}[data-theme=light] .chroma .gd{color:#82071e;background-color:#ffebe9}[data-theme=light] .chroma .gi{color:#116329;background-color:#dafbe1;font-weight:400}[data-theme=light] .chroma .go{color:#1f2328}[data-theme=light] .chroma .err{color:#f6f8fa;background-color:#82071e}pre{background:var(--color-code-bg);border:1px solid var(--color-border);padding:1.1rem 1.25rem;font-family:ibm plex mono,monospace;font-size:.88rem;overflow-x:auto;line-height:1.65}code{color:var(--color-code-text)}img.lightbox{cursor:zoom-in;transition:transform .15s ease}img.lightbox:hover{transform:scale(1.01)}img.image-full{width:auto!important;max-width:none!important;height:auto}figure.figure-lightbox{display:flex;justify-content:center}figure.figure-lightbox img{width:auto;max-width:100%}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.gallery-item{width:100%!important;height:160px;-o-object-fit:cover;object-fit:cover;border-radius:4px}.prose{max-width:none;font-family:ibm plex sans,sans-serif;font-size:1.1rem;line-height:1.85;color:var(--color-text)}.prose h1{font-size:2.1rem;font-weight:700;margin-top:0;margin-bottom:.4rem;color:var(--color-primary);line-height:1.2}.prose h2{font-family:ibm plex sans condensed,sans-serif;font-size:1.55rem;font-weight:600;margin-top:2.5rem;margin-bottom:.75rem;letter-spacing:.02em;border-bottom:1px solid var(--color-border);padding-bottom:.35rem;color:var(--color-primary)}.prose h2::before{content:"";display:inline-block;width:6px;height:6px;background:var(--color-muted);margin-right:.5rem;transform:translateY(-2px);opacity:.5}.prose h3{font-size:1.25rem;font-weight:600;margin-top:2rem;margin-bottom:.5rem;color:var(--color-primary)}.prose h4{font-size:1.05rem;font-weight:600;margin-top:1.5rem;margin-bottom:.35rem;color:var(--color-text);letter-spacing:.01em}.prose p{margin:1.45rem 0;text-align:justify;hyphens:auto}.prose ul{margin:1.25rem 0;padding-left:1.75rem;list-style:disc outside}.prose ol{margin:1.25rem 0;padding-left:1.75rem;list-style:decimal outside}.prose li{margin:.55rem 0;padding-left:.25rem}.prose a{color:var(--color-primary);text-decoration:underline}.prose blockquote{position:relative;border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:0 6px 6px 0;padding:1.5rem 1.75rem 1.5rem 2.5rem;font-style:italic;font-size:1.08em;line-height:1.9;color:var(--color-text);margin:2.5rem 0;background:var(--color-subtle-bg)}.prose blockquote::before{content:"\201C";position:absolute;left:.55rem;top:.75rem;font-size:2.75rem;color:var(--color-primary);opacity:.35;line-height:1;font-style:normal}.prose blockquote p{margin:0}.prose blockquote p+p{margin-top:.85rem}.prose code{font-family:ibm plex mono,monospace;background:var(--color-code-inline-bg);color:var(--color-code-text);padding:2px 5px;font-size:.9em}.prose pre{font-family:ibm plex mono,monospace;background:var(--color-code-bg);border:1px solid var(--color-border);padding:1.1rem 1.25rem;overflow-x:auto;font-size:.88rem;line-height:1.65}.prose pre code{background:0 0;padding:0;font-size:inherit}.prose table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.975rem}.prose th,.prose td{border:1px solid var(--color-border);padding:.75rem 1rem;vertical-align:top}.prose th{background:var(--color-surface);font-weight:600;text-align:left}.prose tbody tr:nth-child(even){background:var(--color-subtle-bg)}.prose strong{font-weight:600}.prose hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.prose img{display:block;max-width:100%;height:auto;border-radius:6px;margin-inline:auto}.quote{border-left:4px solid var(--color-primary);padding:1rem 1.2rem;margin:2rem 0;background:var(--color-subtle-bg);font-style:italic;color:var(--color-muted);position:relative}.quote::before{content:"\201C";font-size:2rem;position:absolute;left:-.6rem;top:-.4rem;color:var(--color-primary)}.info{border-left:4px solid #3b82f6;padding:1rem;background:rgba(59,130,246,8%);margin:1rem 0}.warn{border-left:4px solid #f59e0b;padding:1rem;background:rgba(245,158,11,8%);margin:1rem 0}.danger{border-left:4px solid #ef4444;padding:1rem;background:rgba(239,68,68,8%);margin:1rem 0}.marker{font-size:1.05rem;line-height:1.7;color:var(--color-muted);margin-bottom:2rem;padding-left:.8rem;border-left:2px solid var(--color-border)}.marker p{margin:.5rem 0}.intro{margin-bottom:2.5rem;padding-left:1rem;border-left:3px solid var(--color-border);font-size:1.05rem;line-height:1.7}.intro p{margin:.5rem 0}.intro-abstract{color:var(--color-muted)}.intro-context{color:#8b9cf4;border-left-color:#6366f1;background:rgba(99,102,241,5%);padding:1rem}[data-theme=light] .intro-context{color:#3730a3;background:rgba(99,102,241,6%)}.intro-opinion{font-style:italic;color:var(--color-muted);border-left-color:#a855f7}.intro::before{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem;color:var(--color-muted);font-family:var(--font-display)}.intro-context::before{content:"Kontext"}.intro-opinion::before{content:"Meinung"}.statement{padding:1rem 1.2rem;margin:2rem 0;background:var(--color-subtle-bg);font-style:italic;color:var(--color-muted);position:relative;border-left:3px solid var(--color-border)}.attachment{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin:1.5rem 0;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);text-decoration:none;transition:border-color 150ms ease,background 150ms ease}.attachment:hover{border-color:var(--color-primary);color:var(--color-text);text-decoration:none}.attachment-icon{flex-shrink:0;width:1.25rem;height:1.25rem;color:var(--color-primary)}.attachment-icon svg{width:100%;height:100%}.attachment-body{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.attachment-title{font-family:var(--font-mono);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-description{font-size:.8rem;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-type{flex-shrink:0;font-size:.65rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;padding:.15rem .45rem;background:rgba(34,197,94,.1);color:var(--color-primary);border:1px solid rgba(34,197,94,.25)}[data-theme=light] .attachment-type{background:rgba(22,163,74,8%);border-color:rgba(22,163,74,.25)}.subtitle{font-size:1.25rem;font-style:italic;line-height:1.65;color:var(--color-muted);margin-top:-.25rem;margin-bottom:2rem;max-width:60ch}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;min-height:50vh}.error-page img{max-width:100%;height:auto;margin-bottom:2rem}.error-page h1{font-size:1.75rem;margin-bottom:1rem}.error-page p{color:var(--color-muted);max-width:50ch;margin-bottom:2rem;line-height:1.6}.error-page a{color:var(--color-link);text-decoration:underline}.osm-map{width:100%;height:400px;margin:2rem 0;border-radius:8px;border:1px solid var(--color-border)}.artikel-datum{font-size:.8rem;color:var(--color-muted);font-family:var(--font-mono);display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;margin-top:-.25rem;margin-bottom:2rem}.artikel-datum-sep{opacity:.4}.artikel-datum-updated{font-style:italic}.artikel-datum-reading::before{content:"⏱\00a0";font-style:normal}.footer-nav-sep{color:var(--color-border)}.footer-rss{font-size:.75rem;padding:.1rem .4rem;color:var(--color-muted);text-decoration:none;transition:color 150ms}.footer-rss:hover{color:var(--color-primary)}.artikel-meta-block{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:.875rem;display:flex;flex-direction:column;gap:.65rem}.artikel-meta-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:baseline}.artikel-meta-label{color:var(--color-muted);margin-right:.25rem;flex-shrink:0}.artikel-meta-label::after{content:":"}.artikel-meta-tag{border:1px solid var(--color-border);padding:.15rem .65rem;color:var(--color-muted);text-decoration:none;transition:color 100ms,border-color 100ms}.artikel-meta-tag:hover{color:var(--color-text);border-color:var(--color-muted)}.article-nav{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.article-nav-prev{text-align:left}.article-nav-next{text-align:right}.article-nav a{display:inline-flex;flex-direction:column;gap:.3rem;text-decoration:none}.article-nav a:hover .article-nav-title{color:var(--color-primary)}.article-nav-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--color-muted);font-family:var(--font-display)}.article-nav-title{font-size:.925rem;font-weight:500;color:var(--color-text);transition:color 150ms;line-height:1.4}.tag-cloud{display:flex;flex-wrap:wrap;gap:.55rem 1rem;justify-content:center;align-items:baseline;padding:1.25rem 1.5rem;border:1px solid var(--color-border);background:var(--color-subtle-bg)}.tag-cloud a{color:var(--color-muted);text-decoration:none;transition:color 150ms;line-height:1.4}.tag-cloud a:hover{color:var(--color-primary)}.tag-size-1{font-size:.8rem}.tag-size-2{font-size:.95rem}.tag-size-3{font-size:1.15rem}.tag-size-4{font-size:1.4rem;font-weight:500}.tag-size-5{font-size:1.75rem;font-weight:600}.pagination-nav{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border);flex-wrap:wrap}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.3rem .55rem;font-size:.875rem;border:1px solid var(--color-border);color:var(--color-muted);text-decoration:none;transition:color 150ms,border-color 150ms,background-color 150ms;line-height:1}.pagination-btn:hover{color:var(--color-text);border-color:var(--color-muted)}.pagination-current{color:var(--color-primary)!important;border-color:var(--color-primary)!important;background:var(--color-subtle-bg);font-weight:600;cursor:default}.pagination-disabled{opacity:.3;cursor:default;pointer-events:none}.pagination-ellipsis{font-size:.875rem;color:var(--color-muted);padding:.3rem .2rem;line-height:1}.post-teaser{padding-bottom:1.75rem;margin-bottom:1.75rem;border-bottom:1px solid var(--color-border)}.post-teaser-title{font-size:1.15rem;font-weight:600;margin-bottom:.2rem}.post-teaser-title a{color:var(--color-text);text-decoration:none;transition:color 150ms}.post-teaser-title a:hover{color:var(--color-primary)}.post-teaser-meta{font-size:.78rem;color:var(--color-muted);margin-bottom:.65rem;font-family:var(--font-mono)}.post-teaser-summary{font-size:.95rem;line-height:1.7;color:var(--color-muted);margin-bottom:.65rem}.post-teaser-readmore{font-size:.875rem;color:var(--color-primary);text-decoration:none;font-weight:500}.post-teaser-readmore:hover{text-decoration:underline}.post-list-item{display:flex;gap:.85rem;align-items:baseline;padding:.28rem 0}.post-list-date{font-size:.78rem;color:var(--color-muted);white-space:nowrap;flex-shrink:0;font-family:var(--font-mono)}.post-list-link{font-size:.95rem;color:var(--color-text);text-decoration:none;transition:color 150ms}.post-list-link:hover{color:var(--color-primary)}.pi-easter-egg{position:fixed;bottom:0;right:0;padding:8px 10px;font-size:20px;font-family:serif;text-decoration:none;opacity:.2;transition:opacity .25s ease;z-index:9999}.pi-easter-egg:hover{opacity:.7}@media(prefers-color-scheme:light){.pi-easter-egg{color:rgba(0,0,0,.35)}.pi-easter-egg:hover{color:rgba(0,0,0,.7)}}@media(prefers-color-scheme:dark){.pi-easter-egg{color:rgba(255,255,255,.35)}.pi-easter-egg:hover{color:rgba(255,255,255,.75)}}@media print{@page{margin:2cm 2.5cm;size:A4}.site-nav,.layout-sidebar-left,.layout-sidebar-right,.site-footer,.article-nav,.artikel-meta-block,.pagination-nav,.theme-toggle,.skip-link,.pi-easter-egg,.tag-cloud,.post-teaser-readmore,nav[aria-label=Seitennavigation]{display:none!important}.layout-grid{display:block!important}.layout-main{padding:0!important;max-width:100%!important}html,body{background:#fff!important;color:#111!important;font-size:11pt!important}.prose{max-width:100%!important;color:#111!important;font-size:11pt;line-height:1.6}.prose h1{color:#111!important;font-size:22pt!important}.prose h2{color:#111!important;font-size:16pt!important;border-bottom:1px solid #ccc}.prose h3{color:#111!important;font-size:13pt!important}.prose h4{color:#111!important;font-size:11pt!important}.prose a::after{content:" (" attr(href)")";font-size:.8em;color:#555;word-break:break-all}.prose a[href^="#"]::after,.prose a[href^=javascript]::after{content:""}.prose pre,pre{border:1px solid #ccc!important;background:#f8f8f8!important;color:#111!important;page-break-inside:avoid;white-space:pre-wrap;word-wrap:break-word}.prose code{background:#f0f0f0!important;color:#111!important}.prose table{border:1px solid #aaa!important}.prose th,.prose td{border:1px solid #aaa!important}.prose th{background:#eee!important}.prose tbody tr:nth-child(even){background:#f5f5f5!important}.prose blockquote{border-left:3px solid #555!important;border-top:1px solid #ccc!important;border-right:1px solid #ccc!important;border-bottom:1px solid #ccc!important;background:#f8f8f8!important;color:#333!important}.prose img{max-width:100%!important;page-break-inside:avoid}h2,h3{page-break-after:avoid}p,li{orphans:3;widows:3}.artikel-datum{color:#555!important;font-size:9pt;margin-bottom:1rem}.info,.warn,.danger{border-left-width:3px!important;background:#f8f8f8!important;color:#111!important;page-break-inside:avoid}.attachment{border:1px solid #ccc!important;background:#f8f8f8!important;color:#111!important;page-break-inside:avoid}.attachment-type{background:#eee!important;color:#333!important;border-color:#ccc!important}}@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-space-y-reverse{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-border-style{syntax: "*";
  inherits: false;
  initial-value: solid;
}@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: 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-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;
}@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--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}}}