/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@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-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-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}}}.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}.isolate{isolation:isolate}.col-span-1{grid-column:span 1/span 1}.container{width:100%}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{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,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--accent:#059669;--accent-dark:#047857;--accent-light:#10b981;--black:15, 18, 25;--gray:96, 115, 159;--gray-light:229, 233, 240;--gray-dark:34, 41, 57;--gray-gradient:rgba(var(--gray-light), 30%), #fff;--box-shadow:0 1px 3px rgba(var(--black), 12%), 0 4px 6px rgba(var(--black), 10%);--box-shadow-lg:0 10px 25px rgba(var(--black), 5%), 0 20px 40px rgba(var(--black), 10%);--bg-primary:#fff;--bg-secondary:#f8fafc;--text-primary:15, 23, 42;--text-secondary:71, 85, 105;--border-color:229, 233, 240;--code-bg:229, 233, 240;--code-text:15, 18, 25}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-primary:#0f172a;--bg-secondary:#1e293b;--text-primary:248, 250, 252;--text-secondary:203, 213, 225;--border-color:51, 65, 85;--code-bg:#1e293b;--code-text:226, 232, 240}}:root[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--text-primary:248, 250, 252;--text-secondary:203, 213, 225;--border-color:51, 65, 85;--code-bg:#1e293b;--code-text:226, 232, 240;color-scheme:dark}:root[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f8fafc;--text-primary:34, 41, 57;--text-secondary:96, 115, 159;--border-color:229, 233, 240;--code-bg:229, 233, 240;--code-text:15, 18, 25;color-scheme:light}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}body{text-align:left;word-wrap:break-word;overflow-wrap:break-word;color:rgb(var(--text-primary));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:1;margin:0;padding:0;font-family:Atkinson,sans-serif;font-size:16px;line-height:1.8;transition:background-color .3s;position:relative}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.skip-to-content{background:var(--accent);color:#fff;z-index:100;border-radius:0 0 4px;padding:8px 16px;text-decoration:none;position:absolute;top:-40px;left:0}.skip-to-content:focus{top:0}#main-content{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}body:before{content:"";opacity:.5;pointer-events:none;z-index:-1;background-image:url(/images/background.jpg);background-position:50%;background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed;top:0;left:0}body:after{content:"";background:linear-gradient(135deg, rgba(var(--bg-primary), .75) 0%, rgba(var(--bg-secondary), .75) 100%);pointer-events:none;z-index:-2;width:100%;height:100%;position:fixed;top:0;left:0}main{backdrop-filter:none;background:#fff;border:2px solid #e5e7eb;border-radius:20px;width:720px;max-width:calc(100% - 2em);margin:2rem auto;padding:3.5rem 2.5rem;position:relative;box-shadow:0 4px 8px #0000001a,0 12px 24px #0000001f,0 20px 40px #00000014}h1,h2,h3,h4,h5,h6{color:rgb(var(--text-primary));letter-spacing:-.02em;margin:0 0 1rem;font-weight:700;line-height:1.3}h1{color:#1f2937;letter-spacing:-.02em;margin-top:0;margin-bottom:1.5rem;font-size:2.75rem;font-weight:800;line-height:1.2}h2{color:#1f2937;border-bottom:4px solid #059669;margin-top:2.5rem;margin-bottom:1.5rem;padding-bottom:1rem;font-size:2rem;font-weight:700}h3{color:rgb(var(--text-primary));margin-top:1.75rem;margin-bottom:.875rem;font-size:1.5rem}h4{color:rgb(var(--text-primary));font-size:1.25rem;font-weight:600}h5{color:rgb(var(--text-secondary));font-size:1.125rem;font-weight:600}strong,b{font-weight:700}a{color:var(--accent);border-bottom:2px solid #0000;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;position:relative}a:hover{color:var(--accent-dark);border-bottom-color:var(--accent)}p{color:#1f2937;margin-bottom:1.5rem;font-size:1rem;font-weight:400;line-height:1.8}.prose p{color:#1f2937;letter-spacing:.3px;margin-bottom:1.75rem;font-size:1.05rem}textarea{width:100%;font-size:16px}input{font-size:16px}table{width:100%}img{border-radius:8px;max-width:100%;height:auto}code{color:#047857;background-color:#0596691a;border-radius:4px;padding:.25rem .5rem;font-family:Monaco,Menlo,monospace;font-size:.9em;font-weight:500}pre{background-color:rgb(var(--code-bg));color:rgb(var(--code-text));border:1px solid rgb(var(--border-color));border-radius:10px;margin:1.5rem 0;padding:1.5rem;overflow-x:auto;box-shadow:0 2px 4px #0000001a,0 8px 16px #00000014}pre>code{all:unset;font-family:Monaco,Menlo,monospace;font-size:.9em;line-height:1.6;display:block}blockquote{color:#374151;background:#f0fdf4;border-left:5px solid #059669;border-radius:8px;margin:2rem 0;padding:1.5rem 2rem;font-size:1.05rem;font-style:italic;font-weight:500;line-height:1.8}hr{border:none;border-top:1px solid rgb(var(--border-color))}ul,ol{color:rgb(var(--text-primary));margin:1.75rem 0;padding-left:2rem}li{margin-bottom:.75rem;line-height:1.8}table{border-collapse:collapse;border:1px solid rgb(var(--border-color));border-radius:6px;width:100%;margin:1.5em 0;overflow:hidden}th,td{border-bottom:1px solid rgb(var(--border-color));text-align:left;padding:.75em}th{background-color:rgb(var(--bg-secondary));color:rgb(var(--text-primary));font-weight:700}@media (width<=720px){body{font-size:16px}main{padding:1.5em}h1{font-size:2em}h2{font-size:1.5em}h3{font-size:1.25em}}.sr-only{clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}article,section,.card,.article-item,.section-block{opacity:1;background:#fff;border:2px solid #e5e7eb;border-radius:16px;margin-bottom:2.5rem;padding:2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000014,0 12px 32px #0000001a}article:hover,section:hover,.card:hover,.article-item:hover,.section-block:hover{border-color:#059669;transform:translateY(-4px);box-shadow:0 8px 20px #0000001f,0 16px 40px #00000026}article *,section *,.card *,.article-item *,.section-block *{opacity:1}header,.page-header,nav{background:rgb(var(--bg-primary));border-bottom:2px solid rgb(var(--border-color));box-shadow:var(--box-shadow);margin-bottom:2em;padding:1.5em 0}footer{background:rgba(var(--bg-primary), .99);border-top:2px solid rgb(var(--border-color));box-shadow:var(--box-shadow);margin-top:3em;padding:2em 1em}hr{border:none;border-top:2px solid rgb(var(--border-color));margin:2em 0}h1,h2,h3{border-bottom:1px solid rgb(var(--border-color));margin-bottom:1.5em;padding-top:.5em;padding-bottom:.5em}ul,ol{background:rgb(var(--bg-secondary));border-left:4px solid var(--accent);border-radius:8px;margin-bottom:2em;padding:1.5em 2em}pre{background:rgb(var(--code-bg));border:2px solid rgb(var(--border-color));box-shadow:0 4px 12px #0000001a}blockquote{background:rgba(var(--accent), .08);border-left:5px solid var(--accent);box-shadow:var(--box-shadow);border-radius:0 8px 8px 0;margin:2em 0;padding:1.5em}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.scroll-animate{opacity:0;animation:.6s ease-out forwards fadeInUp}.scroll-animate.visible{animation-play-state:running}.scroll-animate--left{opacity:0;animation:.6s ease-out forwards slideInLeft}.scroll-animate--right{opacity:0;animation:.6s ease-out forwards slideInRight}.scroll-animate--scale{opacity:0;animation:.6s ease-out forwards scaleIn}.scroll-animate:first-child{animation-delay:.1s}.scroll-animate:nth-child(2){animation-delay:.2s}.scroll-animate:nth-child(3){animation-delay:.3s}.scroll-animate:nth-child(4){animation-delay:.4s}.scroll-animate:nth-child(5){animation-delay:.5s}button,a.button,input[type=submit],input[type=button]{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}button,a.button{background:var(--accent);color:#fff}button:hover,a.button:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 16px #0596694d}button:active,a.button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.loading{pointer-events:none;opacity:.8}button.loading:after{content:"";border:2px solid #0000;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;margin:auto;animation:.6s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.hero,.page-title,h1{-webkit-text-fill-color:transparent;letter-spacing:-.01em;background:linear-gradient(135deg,#059669 0%,#047857 50%,#10b981 100%);background-clip:text;animation:.8s ease-out fadeInUp}.page-hero{background:linear-gradient(135deg,#0596691a 0%,#10b9810d 100%);border:1px solid #05966933;border-radius:16px;margin-bottom:3rem;padding:3rem 2rem}article,section,.card,.article-item,.section-block{position:relative;overflow:hidden}article:before,section:before,.card:before,.article-item:before,.section-block:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}article:hover:before,section:hover:before,.card:hover:before,.article-item:hover:before,.section-block:hover:before{left:100%}a{text-decoration:none;position:relative}a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}a:hover:after{width:100%}nav a:after{display:none}input,textarea,select{border:2px solid #e5e7eb;border-radius:8px;padding:.75rem;font-size:16px;transition:all .3s}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0596691a}input:hover,textarea:hover,select:hover{border-color:var(--accent-light)}.loading{pointer-events:none;opacity:.6;position:relative}.spinner{border:3px solid #0596694d;border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.back-to-top{background:var(--accent);color:#fff;cursor:pointer;z-index:99;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;line-height:1;transition:all .3s;display:none;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 12px #05966966}.back-to-top.show{display:flex}.back-to-top:hover{background:var(--accent-dark);transform:translateY(-4px);box-shadow:0 8px 20px #05966980}.reading-progress{background:linear-gradient(90deg, var(--accent), var(--accent-light));z-index:1000;width:0%;height:3px;transition:width .1s;position:fixed;top:0;left:0}@media (width<=768px){.back-to-top{width:45px;height:45px;bottom:1rem;right:1rem}button,a.button{min-width:48px;min-height:48px;padding:.65rem 1.25rem}input,textarea,select{padding:.9rem;font-size:16px}}:root{--post-bg:#fff;--post-surface:#fff;--post-surface-alt:#f6f8fa;--post-text:#1f2937;--post-heading:#0f172a;--post-muted:#4b5563;--post-border:#e5e7eb;--post-link:#047857;--post-accent:#059669;--post-accent-soft:#05966914;--post-code-inline-bg:#f1f5f9;--post-code-inline-text:#0f172a;--post-code-bg:#f8fafc;--post-code-border:#e2e8f0;--post-table-head:#f1f5f9;--post-table-stripe:#f8fafc;--post-shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--post-shadow-hover:0 2px 4px #0f172a0f, 0 16px 40px #0f172a1a;--callout-note:#0969da;--callout-note-bg:#eef6ff;--callout-tip:#1a7f37;--callout-tip-bg:#eefbf1;--callout-important:#8250df;--callout-important-bg:#f5f0ff;--callout-warning:#9a6700;--callout-warning-bg:#fff8e5;--callout-caution:#cf222e;--callout-caution-bg:#fff0f0;--callout-tldr:#047857;--callout-tldr-bg:#ecfdf5;--post-measure:70ch;--post-font-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--post-bg:#0f172a;--post-surface:#0f172a;--post-surface-alt:#152036;--post-text:#e2e8f0;--post-heading:#f8fafc;--post-muted:#a3b0c2;--post-border:#26334a;--post-link:#34d399;--post-accent:#10b981;--post-accent-soft:#10b9811f;--post-code-inline-bg:#1c2840;--post-code-inline-text:#e2e8f0;--post-code-bg:#0b1222;--post-code-border:#1f2a40;--post-table-head:#18233a;--post-table-stripe:#ffffff06;--post-shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--post-shadow-hover:0 2px 4px #00000059, 0 16px 40px #00000059;--callout-note:#58a6ff;--callout-note-bg:#388bfd1a;--callout-tip:#3fb950;--callout-tip-bg:#2ea0431a;--callout-important:#a371f7;--callout-important-bg:#8957e51f;--callout-warning:#d29922;--callout-warning-bg:#bb80091f;--callout-caution:#f85149;--callout-caution-bg:#f851491a;--callout-tldr:#34d399;--callout-tldr-bg:#10b9811a}}:root[data-theme=dark]{--post-bg:#0f172a;--post-surface:#0f172a;--post-surface-alt:#152036;--post-text:#e2e8f0;--post-heading:#f8fafc;--post-muted:#a3b0c2;--post-border:#26334a;--post-link:#34d399;--post-accent:#10b981;--post-accent-soft:#10b9811f;--post-code-inline-bg:#1c2840;--post-code-inline-text:#e2e8f0;--post-code-bg:#0b1222;--post-code-border:#1f2a40;--post-table-head:#18233a;--post-table-stripe:#ffffff06;--post-shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--post-shadow-hover:0 2px 4px #00000059, 0 16px 40px #00000059;--callout-note:#58a6ff;--callout-note-bg:#388bfd1a;--callout-tip:#3fb950;--callout-tip-bg:#2ea0431a;--callout-important:#a371f7;--callout-important-bg:#8957e51f;--callout-warning:#d29922;--callout-warning-bg:#bb80091f;--callout-caution:#f85149;--callout-caution-bg:#f851491a;--callout-tldr:#34d399;--callout-tldr-bg:#10b9811a}.astro-code{background-color:var(--post-code-bg)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.post-body{max-width:var(--post-measure);color:var(--post-text);letter-spacing:0;overflow-wrap:break-word;counter-reset:figure;font-size:1.0625rem;line-height:1.75}.post-body>:first-child{margin-top:0}.post-body p,.post-body li{color:var(--post-text);font-size:inherit;letter-spacing:0;line-height:1.75}.post-body p{margin:0 0 1.25em}.post-body strong{color:var(--post-heading);font-weight:700}.post-body h2,.post-body h3,.post-body h4,.post-body h5,.post-body h6{color:var(--post-heading);-webkit-text-fill-color:currentColor;letter-spacing:-.015em;background:0 0;border:0;padding:0;scroll-margin-top:5.5rem;font-weight:700;line-height:1.3;animation:none;position:relative}.post-body h2{border-top:1px solid var(--post-border);margin:2.4em 0 .75em;padding-top:1.1em;font-size:1.625rem}.post-body>h2:first-child{border-top:0;padding-top:0}.post-body h3{margin:1.9em 0 .6em;font-size:1.3rem}.post-body h4{margin:1.6em 0 .5em;font-size:1.1rem}.post-body h5,.post-body h6{color:var(--post-muted);margin:1.4em 0 .5em;font-size:1rem}.post-body :is(h2,h3,h4)+:is(h3,h4){margin-top:.75em}.post-body .heading-anchor{width:1em;color:var(--post-muted);opacity:0;text-align:center;border-bottom:0;font-weight:400;text-decoration:none;transition:opacity .15s;position:absolute;left:-1.15em}.post-body .heading-anchor:after{display:none}.post-body :is(h2,h3,h4):hover .heading-anchor,.post-body .heading-anchor:focus-visible{opacity:1}.post-body .heading-anchor:hover{color:var(--post-link)}@media (width<=720px){.post-body .heading-anchor{margin-left:.35em;position:static}}@media (hover:none){.post-body .heading-anchor{display:none}}.post-body a{color:var(--post-link);text-underline-offset:.18em;font-weight:500;text-decoration:underline 1px}@supports (color:color-mix(in lab, red, red)){.post-body a{-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}}.post-body a{border-bottom:0}.post-body a:after{display:none}.post-body a:hover{border-bottom:0;text-decoration-color:currentColor;text-decoration-thickness:2px}.post-body ul,.post-body ol{background:0 0;border:0;border-radius:0;margin:0 0 1.35em;padding:0 0 0 1.5em}.post-body li{margin:.35em 0;padding-left:.2em}.post-body li::marker{color:var(--post-accent)}.post-body ol>li::marker{font-variant-numeric:tabular-nums;font-weight:700}.post-body li>ul,.post-body li>ol{margin:.35em 0 .5em}.post-body li>p{margin-bottom:.5em}.post-body blockquote{border:0;border-left:3px solid var(--post-accent);box-shadow:none;color:var(--post-muted);background:0 0;border-radius:0;margin:1.75em 0;padding:.25em 0 .25em 1.25em;font-size:1.05em;font-style:italic;font-weight:400}.post-body blockquote p{color:inherit}.post-body blockquote>:last-child{margin-bottom:0}.post-body hr{border:0;border-top:2px solid var(--post-border);width:30%;margin:3em auto}.post-body :not(pre)>code{border:1px solid var(--post-code-border);background:var(--post-code-inline-bg);color:var(--post-code-inline-text);font-family:var(--post-font-mono);white-space:break-spaces;border-radius:5px;padding:.12em .4em;font-size:.86em;font-weight:500}.post-body pre{border:1px solid var(--post-code-border);box-shadow:none;background-color:var(--post-code-bg);color:var(--post-text);tab-size:4;-webkit-overflow-scrolling:touch;border-radius:10px;margin:1.75em 0;padding:1.1rem 1.25rem;font-size:.875rem;line-height:1.6;position:relative;overflow-x:auto}.post-body pre>code{all:unset;width:max-content;min-width:100%;font-family:var(--post-font-mono);font-size:inherit;line-height:inherit;white-space:pre;display:block}.post-body pre[data-language]:not([data-language=plaintext]):not([data-language=text]):not([data-language=txt]):before{content:attr(data-language);font-family:var(--post-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--post-muted);pointer-events:none;font-size:.7rem;position:absolute;top:.4rem;right:.75rem}.post-body pre:is([data-language=plaintext],[data-language=text],[data-language=txt]){font-size:.85rem;line-height:1.35}.code-block{position:relative}.code-block .code-copy{z-index:1;border:1px solid var(--post-code-border);background:var(--post-surface);width:2rem;min-width:0;height:2rem;min-height:0;color:var(--post-muted);box-shadow:none;opacity:0;cursor:pointer;border-radius:6px;place-items:center;padding:0;transition:opacity .15s;display:inline-grid;position:absolute;top:.45rem;right:.45rem}.code-block:hover .code-copy,.code-block .code-copy:focus-visible,.code-block .code-copy.is-copied{opacity:1}.code-block .code-copy:hover{color:var(--post-link);border-color:var(--post-accent);background:var(--post-surface);box-shadow:none;transform:none}.code-block:hover pre:before{opacity:0}@media (hover:none){.code-block .code-copy{opacity:1}.code-block pre[data-language]:before{display:none}}.post-body .formula{border:1px solid var(--post-border);border-left:4px solid var(--post-accent);background:var(--post-surface-alt);text-align:center;border-radius:10px;margin:1.75em 0;padding:1.25rem 1rem}.post-body .formula__body{box-shadow:none;border:0;margin:0;padding:0;font-size:1.1rem;line-height:1.7;overflow-x:auto;background:0 0!important}.post-body .formula__body>code{text-align:left;width:auto;min-width:0;color:var(--post-heading);font-weight:600;display:inline-block}.post-body .formula__caption{color:var(--post-muted);margin-top:.75rem;font-size:.85rem}.post-body .table-wrap{border:1px solid var(--post-border);-webkit-overflow-scrolling:touch;border-radius:10px;margin:1.75em 0;overflow-x:auto}.post-body .table-wrap:focus-visible{outline:3px solid var(--post-accent);outline-offset:2px}.post-body table{border-collapse:collapse;font-variant-numeric:tabular-nums;border:0;border-radius:0;width:100%;margin:0;font-size:.925rem;line-height:1.5;overflow:visible}.post-body>table{border:1px solid var(--post-border);border-radius:10px;margin:1.75em 0;display:block;overflow-x:auto}.post-body th,.post-body td{border:0;border-bottom:1px solid var(--post-border);text-align:left;vertical-align:top;color:var(--post-text);padding:.65rem .9rem}.post-body thead th{background:var(--post-table-head);color:var(--post-heading);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.post-body tbody tr:nth-child(2n){background:var(--post-table-stripe)}.post-body tbody tr:last-child td{border-bottom:0}.post-body tbody tr:hover{background:var(--post-accent-soft)}.post-body td code{white-space:nowrap}.post-body img{border-radius:10px;max-width:100%;height:auto;margin:1.75em auto;display:block}.post-body figure{margin:2em 0}.post-body figure img{border:1px solid var(--post-border);margin:0 auto}.post-body figure.figure{counter-increment:figure}.post-body figcaption{color:var(--post-muted);text-align:center;margin-top:.65rem;font-size:.875rem;line-height:1.5}.post-body figure.figure>figcaption:before{content:"Fig. " counter(figure) " — ";color:var(--post-text);font-weight:700}.post-body .footnotes{border-top:1px solid var(--post-border);margin-top:3em;padding-top:1em;font-size:.9rem}.post-body .callout{--c:var(--callout-note);--c-bg:var(--callout-note-bg);border:1px solid var(--c);margin:1.75em 0;padding:1rem 1.25rem 1.05rem}@supports (color:color-mix(in lab, red, red)){.post-body .callout{border:1px solid color-mix(in srgb, var(--c) 28%, transparent)}}.post-body .callout{border-left:4px solid var(--c);background:var(--c-bg);box-shadow:none;border-radius:10px;font-style:normal}.post-body .callout--tip{--c:var(--callout-tip);--c-bg:var(--callout-tip-bg)}.post-body .callout--important{--c:var(--callout-important);--c-bg:var(--callout-important-bg)}.post-body .callout--warning{--c:var(--callout-warning);--c-bg:var(--callout-warning-bg)}.post-body .callout--caution{--c:var(--callout-caution);--c-bg:var(--callout-caution-bg)}.post-body .callout--tldr,.post-body .callout--takeaways{--c:var(--callout-tldr);--c-bg:var(--callout-tldr-bg)}.post-body .callout__title{color:var(--c);letter-spacing:.01em;align-items:center;gap:.5rem;margin:0 0 .4rem;font-size:.95rem;font-weight:700;line-height:1.4;display:flex}.post-body .callout__icon{flex-shrink:0}.post-body .callout__body>:last-child{margin-bottom:0}.post-body .callout__body p,.post-body .callout__body li{color:var(--post-text)}.post-body .callout__body>ul,.post-body .callout__body>ol{margin-bottom:.5em}.post-body .callout--tldr{border-left-width:1px;border-top:4px solid var(--c);padding:1.1rem 1.35rem}.post-body .callout--tldr .callout__title,.post-body .callout--takeaways .callout__title{letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.post-body .callout--takeaways{border:1px solid var(--c);margin:2.5em 0;padding:1.35rem 1.5rem}@supports (color:color-mix(in lab, red, red)){.post-body .callout--takeaways{border:1px solid color-mix(in srgb, var(--c) 35%, transparent)}}.post-body .callout--takeaways{background:linear-gradient(135deg, var(--c-bg) 0%, transparent 100%), var(--post-surface-alt);box-shadow:var(--post-shadow);border-radius:14px}.post-body .callout--takeaways .callout__body>ul{padding-left:0;list-style:none}.post-body .callout--takeaways .callout__body>ul>li{margin:.55em 0;padding-left:1.75em;position:relative}.post-body .callout--takeaways .callout__body>ul>li:before{content:"";background:var(--c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 70% no-repeat;border-radius:50%;width:1.1em;height:1.1em;position:absolute;top:.3em;left:0}.tag-chip{z-index:1;border:1px solid var(--post-border);background:var(--post-surface);color:var(--post-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .65rem;font-size:.8rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex;position:relative}.tag-chip:after{display:none}a.tag-chip:hover{border-color:var(--post-accent);color:var(--post-link);background:var(--post-accent-soft)}.post-grid{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.post-card{border:1px solid var(--post-border);background:var(--post-surface);box-shadow:var(--post-shadow);border-radius:16px;flex-direction:column;margin:0;transition:box-shadow .2s,border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.post-card:hover,.post-card:focus-within{border-color:var(--post-accent)}@supports (color:color-mix(in lab, red, red)){.post-card:hover,.post-card:focus-within{border-color:color-mix(in srgb, var(--post-accent) 55%, var(--post-border))}}.post-card:hover,.post-card:focus-within{box-shadow:var(--post-shadow-hover);transform:translateY(-2px)}.post-card[hidden]{display:none}.post-card__media{aspect-ratio:2;background:var(--post-surface-alt);border-bottom:1px solid var(--post-border);display:block;overflow:hidden}.post-card__media img{object-fit:cover;border-radius:0;width:100%;height:100%;transition:transform .35s;display:block}.post-card:hover .post-card__media img{transform:scale(1.03)}.post-card__placeholder{box-sizing:border-box;color:#ecfdf5;width:100%;height:100%;font-family:var(--post-font-mono);letter-spacing:.06em;text-transform:uppercase;background:radial-gradient(circle at 85% 20%,#ffffff2e 0 18%,#0000 19%),repeating-linear-gradient(90deg,#ffffff12 0 1px,#0000 1px 28px),repeating-linear-gradient(0deg,#ffffff12 0 1px,#0000 1px 28px),linear-gradient(135deg,#065f46 0%,#047857 45%,#0f766e 100%);align-items:flex-end;padding:1rem 1.25rem;font-size:.85rem;font-weight:700;display:flex;position:relative}.post-card__body{flex-direction:column;flex:1;gap:.6rem;padding:1.15rem 1.25rem 1.3rem;display:flex}.post-card__meta{color:var(--post-muted);flex-wrap:wrap;align-items:center;gap:.25rem .5rem;margin:0;font-size:.8rem;line-height:1.4;display:flex}.post-card__meta .dot{opacity:.6}.post-card .post-card__title{-webkit-text-fill-color:currentColor;color:var(--post-heading);letter-spacing:-.01em;background:0 0;border:0;margin:0;padding:0;font-size:1.15rem;line-height:1.35;animation:none}.post-card__link{color:inherit;border-bottom:0;font-weight:700;text-decoration:none;position:static}.post-card__link:after{display:none}.post-card__link:before{content:"";z-index:0;position:absolute;inset:0}.post-card__link:hover{color:var(--post-link);border-bottom:0}.post-card__link:focus-visible{outline:none}.post-card:has(.post-card__link:focus-visible){outline:3px solid var(--post-accent);outline-offset:2px}.post-card .post-card__desc{color:var(--post-muted);letter-spacing:0;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.925rem;line-height:1.6;display:-webkit-box;overflow:hidden}.post-card__tags{background:0 0;border:0;border-radius:0;flex-wrap:wrap;gap:.4rem;margin:auto 0 0;padding:.35rem 0 0;list-style:none;display:flex}.post-card__tags li{margin:0;line-height:1}@media (width>=900px){.post-grid .post-card--featured{grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);display:grid}.post-card--featured .post-card__media{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--post-border);min-height:100%}.post-card--featured .post-card__body{justify-content:center;padding:2rem}.post-card--featured .post-card__title{font-size:1.6rem}.post-card--featured .post-card__desc{-webkit-line-clamp:4;font-size:1rem}}@media (prefers-reduced-motion:reduce){.post-card,.post-card__media img,.post-body .heading-anchor,.code-block .code-copy{transition:none}.post-card:hover,.post-card:focus-within,.post-card:hover .post-card__media img{transform:none}.scroll-animate,.scroll-animate--left,.scroll-animate--right,.scroll-animate--scale,.hero,.page-title,h1{opacity:1!important;animation:none!important}html:focus-within{scroll-behavior:auto}}html:not([lang=pl]) [data-lang=pl],html[lang=pl] [data-lang=en]{display:none!important}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) main{background:#0f172a;border-color:#334155}:where(:root:not([data-theme=light])) h1,:where(:root:not([data-theme=light])) h2,:where(:root:not([data-theme=light])) h3,:where(:root:not([data-theme=light])) h4,:where(:root:not([data-theme=light])) h5,:where(:root:not([data-theme=light])) h6{color:#f1f5f9}:where(:root:not([data-theme=light])) p,:where(:root:not([data-theme=light])) li{color:#e2e8f0}:where(:root:not([data-theme=light])) article,:where(:root:not([data-theme=light])) section,:where(:root:not([data-theme=light])) .card,:where(:root:not([data-theme=light])) .article-item,:where(:root:not([data-theme=light])) .section-block{background:#1e293b;border-color:#334155}:where(:root:not([data-theme=light])) article:hover,:where(:root:not([data-theme=light])) section:hover,:where(:root:not([data-theme=light])) .card:hover,:where(:root:not([data-theme=light])) .article-item:hover,:where(:root:not([data-theme=light])) .section-block:hover{border-color:#10b981}:where(:root:not([data-theme=light])) blockquote{color:#e2e8f0;background:#05966926;border-left-color:#10b981}:where(:root:not([data-theme=light])) code{color:#86efac;background-color:#05966933}:where(:root:not([data-theme=light])) a{color:#10b981}:where(:root:not([data-theme=light])) a:hover{color:#86efac;border-bottom-color:#10b981}}:where(:root[data-theme=dark]) main{background:#0f172a;border-color:#334155}:where(:root[data-theme=dark]) h1,:where(:root[data-theme=dark]) h2,:where(:root[data-theme=dark]) h3,:where(:root[data-theme=dark]) h4,:where(:root[data-theme=dark]) h5,:where(:root[data-theme=dark]) h6{color:#f1f5f9}:where(:root[data-theme=dark]) p,:where(:root[data-theme=dark]) li{color:#e2e8f0}:where(:root[data-theme=dark]) article,:where(:root[data-theme=dark]) section,:where(:root[data-theme=dark]) .card,:where(:root[data-theme=dark]) .article-item,:where(:root[data-theme=dark]) .section-block{background:#1e293b;border-color:#334155}:where(:root[data-theme=dark]) article:hover,:where(:root[data-theme=dark]) section:hover,:where(:root[data-theme=dark]) .card:hover,:where(:root[data-theme=dark]) .article-item:hover,:where(:root[data-theme=dark]) .section-block:hover{border-color:#10b981}:where(:root[data-theme=dark]) blockquote{color:#e2e8f0;background:#05966926;border-left-color:#10b981}:where(:root[data-theme=dark]) code{color:#86efac;background-color:#05966933}:where(:root[data-theme=dark]) a{color:#10b981}:where(:root[data-theme=dark]) a:hover{color:#86efac;border-bottom-color:#10b981}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .page-hero{background:linear-gradient(135deg,#10b98126 0%,#10b9810d 100%);border-color:#10b9814d}:where(:root:not([data-theme=light])) input,:where(:root:not([data-theme=light])) textarea,:where(:root:not([data-theme=light])) select{color:#e2e8f0;background:#1e293b;border-color:#334155}:where(:root:not([data-theme=light])) input:focus,:where(:root:not([data-theme=light])) textarea:focus,:where(:root:not([data-theme=light])) select:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98133}:where(:root:not([data-theme=light])) input:hover,:where(:root:not([data-theme=light])) textarea:hover,:where(:root:not([data-theme=light])) select:hover{border-color:#10b981}:where(:root:not([data-theme=light])) article:before,:where(:root:not([data-theme=light])) section:before,:where(:root:not([data-theme=light])) .card:before,:where(:root:not([data-theme=light])) .article-item:before,:where(:root:not([data-theme=light])) .section-block:before{background:linear-gradient(90deg,#0000,#ffffff0d,#0000)}}:where(:root[data-theme=dark]) .page-hero{background:linear-gradient(135deg,#10b98126 0%,#10b9810d 100%);border-color:#10b9814d}:where(:root[data-theme=dark]) input,:where(:root[data-theme=dark]) textarea,:where(:root[data-theme=dark]) select{color:#e2e8f0;background:#1e293b;border-color:#334155}:where(:root[data-theme=dark]) input:focus,:where(:root[data-theme=dark]) textarea:focus,:where(:root[data-theme=dark]) select:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98133}:where(:root[data-theme=dark]) input:hover,:where(:root[data-theme=dark]) textarea:hover,:where(:root[data-theme=dark]) select:hover{border-color:#10b981}:where(:root[data-theme=dark]) article:before,:where(:root[data-theme=dark]) section:before,:where(:root[data-theme=dark]) .card:before,:where(:root[data-theme=dark]) .article-item:before,:where(:root[data-theme=dark]) .section-block:before{background:linear-gradient(90deg,#0000,#ffffff0d,#0000)}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) :is(.hero,.page-title,h1){background-image:linear-gradient(135deg,#34d399 0%,#10b981 50%,#6ee7b7 100%)}}:where(:root[data-theme=dark]) :is(.hero,.page-title,h1){background-image:linear-gradient(135deg,#34d399 0%,#10b981 50%,#6ee7b7 100%)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-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}a[data-astro-cid-evkijfd6]{text-decoration:none;display:inline-block}a[data-astro-cid-evkijfd6].active{font-weight:bolder;text-decoration:underline}.nav-dropdown[data-astro-cid-m6lq5bkx]{position:relative}.dropdown-trigger[data-astro-cid-m6lq5bkx]{color:rgb(var(--text-secondary));cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.5em;padding:1em .75em;font-family:inherit;font-size:.9em;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;display:flex}.dropdown-trigger[data-astro-cid-m6lq5bkx]:focus-visible,.dropdown-item[data-astro-cid-m6lq5bkx]:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.dropdown-trigger[data-astro-cid-m6lq5bkx]:hover{color:var(--accent);border-bottom-color:var(--accent-light)}.dropdown-arrow[data-astro-cid-m6lq5bkx]{font-size:.7em;transition:transform .2s;display:inline-block}.nav-dropdown[data-astro-cid-m6lq5bkx]:hover .dropdown-arrow[data-astro-cid-m6lq5bkx],.dropdown-trigger[data-astro-cid-m6lq5bkx][aria-expanded=true] .dropdown-arrow[data-astro-cid-m6lq5bkx]{transform:rotate(180deg)}.dropdown-menu[data-astro-cid-m6lq5bkx]{background:var(--bg-primary);border:2px solid rgb(var(--border-color));opacity:0;visibility:hidden;z-index:1000;pointer-events:none;border-radius:8px;min-width:220px;margin-top:-3px;padding:.5em 0;transition:all .2s;position:absolute;top:100%;left:0;transform:translateY(-8px);box-shadow:0 4px 16px #0000001f}.nav-dropdown[data-astro-cid-m6lq5bkx]:hover .dropdown-menu[data-astro-cid-m6lq5bkx],.dropdown-trigger[data-astro-cid-m6lq5bkx][aria-expanded=true]~.dropdown-menu[data-astro-cid-m6lq5bkx]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.dropdown-item[data-astro-cid-m6lq5bkx]{color:rgb(var(--text-primary));border-left:3px solid #0000;padding:.75em 1.25em;font-size:.95em;font-weight:500;text-decoration:none;transition:all .2s;display:block}.dropdown-item[data-astro-cid-m6lq5bkx]:hover{background:var(--bg-secondary);color:var(--accent);border-left-color:var(--accent);padding-left:1.5em}@media (width<=768px){.dropdown-menu[data-astro-cid-m6lq5bkx]{opacity:0;visibility:hidden;max-height:0;box-shadow:none;pointer-events:none;background:#0596690d;border:none;margin-top:0;transition:all .3s;position:static;overflow:hidden}.dropdown-trigger[data-astro-cid-m6lq5bkx][aria-expanded=true]~.dropdown-menu[data-astro-cid-m6lq5bkx]{opacity:1;visibility:visible;pointer-events:auto;max-height:500px}.dropdown-item[data-astro-cid-m6lq5bkx]{padding:.75em 1.5em}.dropdown-item[data-astro-cid-m6lq5bkx]:hover{padding-left:1.75em}}.theme-toggle[data-astro-cid-l6lhmie6]{cursor:pointer;color:rgb(var(--text-secondary));background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:.5em;transition:color .2s;display:flex;position:relative}.theme-toggle[data-astro-cid-l6lhmie6]:hover{color:var(--accent)}.theme-toggle[data-astro-cid-l6lhmie6]:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.sun-icon[data-astro-cid-l6lhmie6],.moon-icon[data-astro-cid-l6lhmie6]{width:20px;height:20px;transition:opacity .3s,transform .3s;position:absolute}.sun-icon[data-astro-cid-l6lhmie6]{opacity:1;transform:rotate(0)}.moon-icon[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(-180deg)}@media (prefers-color-scheme:dark){.sun-icon[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(180deg)}.moon-icon[data-astro-cid-l6lhmie6]{opacity:1;transform:rotate(0)}}html[data-theme=dark] .sun-icon[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(180deg)}html[data-theme=dark] .moon-icon[data-astro-cid-l6lhmie6],html[data-theme=light] .sun-icon[data-astro-cid-l6lhmie6]{opacity:1;transform:rotate(0)}html[data-theme=light] .moon-icon[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(-180deg)}.language-toggle[data-astro-cid-ra2rg4ph]{border:2px solid rgb(var(--border-color));color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;font-weight:600;transition:all .2s}.language-toggle[data-astro-cid-ra2rg4ph]:hover{border-color:var(--accent);background:#0596691a}.language-toggle[data-astro-cid-ra2rg4ph]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.language-toggle[data-astro-cid-ra2rg4ph].active{border-color:var(--accent);color:var(--accent);background:#0596691a}.search-container[data-astro-cid-ac66eqjo]{flex:1;max-width:300px;position:relative}.search-input[data-astro-cid-ac66eqjo]{border:1px solid rgb(var(--border-color));background-color:var(--bg-secondary);width:100%;color:rgb(var(--text-primary));border-radius:6px;padding:.6em 1em;font-size:.9em;transition:all .2s}.search-input[data-astro-cid-ac66eqjo]:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #05966933}.search-input[data-astro-cid-ac66eqjo]::placeholder{color:rgb(var(--text-secondary))}.search-results[data-astro-cid-ac66eqjo]{background:var(--bg-primary);border:1px solid rgb(var(--border-color));z-index:1000;max-height:400px;box-shadow:var(--box-shadow-lg);border-radius:6px;margin-top:.5em;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-results[data-astro-cid-ac66eqjo].hidden{display:none}.search-result[data-astro-cid-ac66eqjo]{border-bottom:1px solid rgb(var(--border-color));cursor:pointer;padding:1em;text-decoration:none;transition:background-color .2s;display:block}.search-result[data-astro-cid-ac66eqjo]:last-child{border-bottom:none}.search-result[data-astro-cid-ac66eqjo]:hover{background-color:var(--bg-secondary)}.search-result-title[data-astro-cid-ac66eqjo]{color:var(--accent);margin-bottom:.25em;font-weight:600;text-decoration:none}.search-result-desc[data-astro-cid-ac66eqjo]{color:rgb(var(--text-secondary));font-size:.85em;line-height:1.4}.search-result-tags[data-astro-cid-ac66eqjo]{color:rgb(var(--text-secondary));margin-top:.5em;font-size:.75em}.search-result-tag[data-astro-cid-ac66eqjo]{background:var(--bg-secondary);border-radius:3px;margin-right:.5em;padding:.2em .5em;display:inline-block}.search-empty[data-astro-cid-ac66eqjo]{text-align:center;color:rgb(var(--text-secondary));padding:1em;font-size:.9em}@media (width<=720px){.search-container[data-astro-cid-ac66eqjo]{max-width:100%}.search-results[data-astro-cid-ac66eqjo]{max-height:300px}}header[data-astro-cid-nen7h5rs]{background:var(--bg-primary);backdrop-filter:blur(10px);box-shadow:var(--box-shadow);border-bottom:1px solid rgb(var(--border-color));z-index:100;margin:0;padding:0 1em;transition:background-color .3s;position:sticky;top:0}h2[data-astro-cid-nen7h5rs]{letter-spacing:-.5px;flex-shrink:0;margin:0;font-size:1.25em;font-weight:700}h2[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],h2[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:rgb(var(--text-primary));text-decoration:none;transition:color .2s}h2[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}nav[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75em .5em;max-width:1400px;margin:0 auto;display:flex}.hamburger-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.35em;padding:.5em;transition:all .2s;display:none}.hamburger-toggle[data-astro-cid-nen7h5rs]:hover{background:var(--bg-secondary)}.hamburger-toggle[data-astro-cid-nen7h5rs]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.hamburger-toggle[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:rgb(var(--text-primary));border-radius:2px;width:24px;height:2.5px;transition:all .3s;display:block}.hamburger-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:first-child{transform:rotate(45deg)translate(8px,8px)}.hamburger-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:nth-child(2){opacity:0}.hamburger-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:nth-child(3){transform:rotate(-45deg)translate(7px,-7px)}.internal-links[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:center;align-items:center;gap:0;display:flex}.search-wrapper[data-astro-cid-nen7h5rs]{flex:1;min-width:150px;max-width:250px}.header-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:1em;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:rgb(var(--text-secondary));white-space:nowrap;border-bottom:3px solid #0000;padding:1em .75em;font-size:.9em;font-weight:500;text-decoration:none;transition:all .2s ease-in-out}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--accent);border-bottom-color:var(--accent-light)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none}.social-links[data-astro-cid-nen7h5rs]{gap:1.5em;display:flex}.social-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:rgb(var(--text-secondary));justify-content:center;align-items:center;padding:.5em;transition:color .2s;display:flex}.social-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}.mobile-menu[data-astro-cid-nen7h5rs]{opacity:0;visibility:hidden;z-index:101;background:#00000080;width:100%;height:100dvh;transition:all .3s;position:fixed;top:0;left:0;overflow:hidden}.mobile-menu[data-astro-cid-nen7h5rs].open{opacity:1;visibility:visible}.mobile-menu-content[data-astro-cid-nen7h5rs]{background:var(--bg-primary);z-index:102;width:100%;max-width:100%;height:100dvh;transition:transform .3s;position:fixed;top:0;left:0;overflow:hidden auto;transform:translate(-100%);box-shadow:2px 0 10px #0000001a}.mobile-menu[data-astro-cid-nen7h5rs].open .mobile-menu-content[data-astro-cid-nen7h5rs]{transform:translate(0)}.mobile-menu-header[data-astro-cid-nen7h5rs]{border-bottom:1px solid rgb(var(--border-color));background:var(--bg-primary);justify-content:space-between;align-items:center;padding:1.5em;display:flex}.mobile-menu-header[data-astro-cid-nen7h5rs] h3[data-astro-cid-nen7h5rs]{color:rgb(var(--text-primary));margin:0;font-size:1.1em;font-weight:600}.close-menu[data-astro-cid-nen7h5rs]{cursor:pointer;color:rgb(var(--text-primary));background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.8em;transition:color .2s;display:flex}.close-menu[data-astro-cid-nen7h5rs]:hover{color:var(--accent);background:var(--bg-secondary)}.close-menu[data-astro-cid-nen7h5rs]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.mobile-menu-links[data-astro-cid-nen7h5rs]{padding:0}.mobile-link[data-astro-cid-nen7h5rs]{color:rgb(var(--text-primary));border-left:3px solid #0000;padding:1em 1.5em;font-weight:500;text-decoration:none;transition:all .2s;display:block}.mobile-link[data-astro-cid-nen7h5rs]:hover{background:var(--bg-secondary);color:var(--accent);border-left-color:var(--accent)}.mobile-link[data-astro-cid-nen7h5rs]:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.mobile-sublink[data-astro-cid-nen7h5rs]{color:rgb(var(--text-secondary));padding-left:2.5em;font-size:.95em;font-weight:400}.mobile-sublink[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}.mobile-section[data-astro-cid-nen7h5rs]{border-bottom:1px solid rgb(var(--border-color))}.mobile-section-toggle[data-astro-cid-nen7h5rs]{text-align:left;width:100%;color:rgb(var(--text-primary));cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1em 1.5em;font-size:1em;font-weight:600;transition:all .2s;display:flex}.mobile-section-toggle[data-astro-cid-nen7h5rs]:after{content:"▼";color:rgb(var(--text-secondary));font-size:.7em;transition:transform .3s}.mobile-section-toggle[data-astro-cid-nen7h5rs][aria-expanded=true]:after{transform:rotate(180deg)}.mobile-section-toggle[data-astro-cid-nen7h5rs]:hover{background:var(--bg-secondary);color:var(--accent)}.mobile-section-toggle[data-astro-cid-nen7h5rs]:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.mobile-section-content[data-astro-cid-nen7h5rs]{max-height:0;transition:max-height .3s;overflow:hidden}.mobile-section-content[data-astro-cid-nen7h5rs].open{max-height:500px}@media (width<=900px){.search-wrapper[data-astro-cid-nen7h5rs]{display:none}}@media (width<=768px){.hamburger-toggle[data-astro-cid-nen7h5rs]{order:1;display:flex}h2[data-astro-cid-nen7h5rs]{order:2}.internal-links[data-astro-cid-nen7h5rs],.search-wrapper[data-astro-cid-nen7h5rs]{display:none}.header-actions[data-astro-cid-nen7h5rs]{order:3;gap:.5em;width:auto}}@media (width<=420px){header[data-astro-cid-nen7h5rs]{padding:0 .5em}h2[data-astro-cid-nen7h5rs]{font-size:1.05em}.social-links[data-astro-cid-nen7h5rs]{gap:0}}@media (width<=820px){nav[data-astro-cid-nen7h5rs]{gap:.5em}}footer[data-astro-cid-jo6i4kqk]{background:var(--bg-primary);border-top:2px solid var(--accent);border-bottom:2px solid rgb(var(--border-color));color:rgb(var(--text-secondary));text-align:center;margin-top:4em;padding:2.5em 1em;transition:background-color .3s;box-shadow:0 -4px 12px #00000014}.footer-content[data-astro-cid-jo6i4kqk]{max-width:60ch;margin:0 auto;padding:1em}.footer-content[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:rgb(var(--text-primary));margin:0 0 .5em;font-size:.95em;font-weight:500}.build-info[data-astro-cid-jo6i4kqk]{color:rgb(var(--text-secondary));font-size:.85em;font-weight:400;margin-bottom:1.5em!important}.social-links[data-astro-cid-jo6i4kqk]{border-top:1px solid rgb(var(--border-color));justify-content:center;gap:1.5em;margin-top:1.5em;padding-top:1em;display:flex}.social-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:rgb(var(--text-secondary));background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:.5em;text-decoration:none;transition:all .2s;display:flex}.social-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:#fff;background:var(--accent);transform:translateY(-2px)}
