:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #f1f1f1;--color-text-primary: #212529;--color-text-secondary: #5b5b5b;--color-text-muted: #6c757d;--color-border: #dee2e6;--color-theme: #5e7eff;--color-theme-hover: #4d6eef;--color-shadow: rgba(0, 0, 0, .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .45s cubic-bezier(.2,.8,.2,1);--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--breakpoint-mobile: 640px;--breakpoint-tablet: 768px;--breakpoint-desktop: 968px;--breakpoint-wide: 1200px;--color-theme-mix-5: color-mix(in srgb, var(--theme-color) 5%, transparent);--color-theme-mix-10: color-mix(in srgb, var(--theme-color) 10%, transparent);--color-theme-mix-15: color-mix(in srgb, var(--theme-color) 15%, transparent);--color-theme-mix-20: color-mix(in srgb, var(--theme-color) 20%, transparent);--color-theme-mix-70: color-mix(in srgb, var(--theme-color) 70%, transparent);--color-theme-mix-80-text: color-mix(in srgb, var(--theme-color) 80%, var(--text-secondary));--color-primary-mix-15: color-mix(in srgb, var(--primary-color) 15%, transparent);--color-primary-mix-20: color-mix(in srgb, var(--primary-color) 20%, transparent)}[data-theme=dark]{--color-bg-primary: #121212;--color-bg-secondary: #1e1e1e;--color-bg-tertiary: #2d2d2d;--color-text-primary: #e9ecef;--color-text-secondary: #cdcdcd;--color-text-muted: #adb5bd;--color-border: #404040;--color-theme: #ff9eb6;--color-theme-hover: #ff8aa8;--color-shadow: rgba(0, 0, 0, .3)}:root{--bg-primary: var(--color-bg-primary);--bg-secondary: var(--color-bg-secondary);--bg-tertiary: var(--color-bg-tertiary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--border-color: var(--color-border);--theme-color: var(--color-theme);--primary-color: var(--color-theme);--shadow: var(--shadow-md)}article{line-height:1.7;font-size:1.05rem;color:var(--text-primary);max-width:100%;overflow-wrap:break-word}article h1{font-size:2.2rem;margin:2.5rem 0 1.5rem;padding-bottom:.5rem;font-weight:700;color:var(--text-primary)}article h2{font-size:1.8rem;margin:2.2rem 0 1.2rem;padding-bottom:.4rem;font-weight:650;color:var(--text-primary)}article h3{font-size:1.5rem;margin:1.8rem 0 1rem;font-weight:600;color:var(--text-primary)}article h4{font-size:1.3rem;margin:1.5rem 0 .8rem;font-weight:550;color:var(--text-primary)}article h5{font-size:1.15rem;margin:1.2rem 0 .6rem;font-weight:500;color:var(--text-secondary)}article h6{font-size:1.05rem;margin:1rem 0 .5rem;font-weight:500;color:var(--text-secondary);font-style:italic}article p{margin:1.2rem 0;line-height:1.8}article a{color:var(--primary-color);font-weight:500;position:relative;text-decoration:none}article a:after{content:"";position:absolute;z-index:-1;top:calc(100% - 5px);left:-.1em;right:-.1em;bottom:0;border-radius:4px;transition:top .2s cubic-bezier(0,.8,.13,1);background-color:var(--color-primary-mix-20)}article a:hover:after{top:0%}article ul,article ol{margin:1.2rem 0;padding-left:1.8rem}article li{margin:.5rem 0;line-height:1.2}article li::marker{color:var(--primary-color)}article li>ul,article li>ol{margin:.5rem 0}article details{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;overflow:hidden;transition:all .3s ease}article details :hover{border-color:var(--theme-color);box-shadow:var(--shadow)}article details [open]{background-color:var(--bg-tertiary)}article summary{display:block;padding:.21rem .2rem .2rem 3rem;cursor:pointer;font-weight:600;color:var(--text-primary);position:relative;list-style:none;transition:color .2s ease}article summary::-webkit- article details -marker{display:none}article summary::marker{display:none;content:""}article summary:before{content:"";position:absolute;left:1rem;top:50%;transform:translateY(-50%) rotate(0);width:.75rem;height:.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235e7eff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;transition:transform .3s ease}[data-theme=dark] article summary:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9eb6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E")}article details[open] article summary:before{transform:translateY(-50%) rotate(90deg)}article summary:hover{color:var(--theme-color)}article details .details-content{padding:0 1.5rem 1.5rem 3rem;color:var(--text-primary);line-height:1.6}article details .details-content{animation:fadeIn .3s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}article blockquote{border-left:4px solid var(--theme-color);margin:0;padding:1rem 1.5rem;background-color:var(--bg-secondary);border-radius:0 .5rem .5rem 0;font-style:italic}article blockquote p{margin:.5rem 0;color:var(--text-secondary)}article p code{background:color-mix(in srgb,var(--primary-color) 15%,transparent);color:var(--primary-color);padding:6px;border-radius:6px}article hr{border:none;height:2px;background:linear-gradient(to right,transparent,var(--border-color),transparent);margin:2.5rem 0}article img{max-width:100%;height:auto;border-radius:.5rem;margin:1.5rem 0;box-shadow:var(--shadow);display:block}article strong{color:var(--primary-color);font-weight:650}article em{color:var(--theme-color);opacity:.9;font-style:italic}article sup{vertical-align:super;background:var(--bg-secondary);padding:2px 4px;border-radius:2px;line-height:0}article kbd{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.3rem;box-shadow:0 2px 0 var(--border-color);color:var(--text-primary);display:inline-block;font-family:monospace;font-size:.85em;line-height:1;padding:.2rem .4rem;white-space:nowrap}article .footnotes{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);font-size:.9em;color:var(--text-secondary)}.blur-wrapper{position:relative;display:inline-block;cursor:pointer}.blur-content{transition:all .3s ease;border-radius:4px}.blur-wrapper[data-mode=blur][data-hidden=true] .blur-content{filter:blur(8px)}.blur-wrapper[data-mode=blackout][data-hidden=true] .blur-content{background:var(--text-primary);color:var(--text-primary);user-select:none}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}html[data-theme=dark] .theme-toggle-indicator{transform:translate(calc(100% + 3px))}html[data-theme=dark] .theme-options .nav-link.dark,html[data-theme=light] .theme-options .nav-link.light{color:var(--primary-color)}.os-scrollbar-vertical .os-scrollbar-handle{background-color:var(--color-theme-mix-20)}.os-scrollbar-vertical .os-scrollbar-handle:hover{background-color:var(--color-theme-mix-80-text)}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;margin:0}*{-webkit-tap-highlight-color:color-mix(in srgb,var(--theme-color) 20%,transparent);font-family:var(--font-family-base)}::selection{background-color:color-mix(in srgb,var(--theme-color) 20%,transparent);text-shadow:none}::-moz-selection{background-color:color-mix(in srgb,var(--theme-color) 20%,transparent);text-shadow:none}h1:after,h2:after,h3:after,h4:after,h5:after,h6:after{content:"#";color:var(--primary-color);position:absolute;opacity:0;transform:translate(20px);transition:all .1s ease;font-weight:inherit}h1:hover:after,h2:hover:after,h3:hover:after,h4:hover:after,h5:hover:after,h6:hover:after{opacity:1;transform:translate(10px)}.search-results mark{background-color:color-mix(in srgb,var(--theme-color) 30%,transparent);color:inherit;padding:0}.nav{display:flex;align-items:center}.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:1.5rem}.nav-link{color:var(--text-primary);text-decoration:none;font-weight:500;padding:.5rem 0;position:relative;transition:color .2s ease;cursor:pointer}.nav-link:hover,.nav-link.is-active{color:var(--theme-color)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--theme-color);transition:width .3s ease}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.tag{margin:0;border:1px solid var(--border-color);border-radius:20px;padding:.5rem 1rem;font-size:.9rem;background-color:var(--bg-tertiary);transition:all .2s ease}.tag:hover{background-color:var(--theme-color);border-color:var(--theme-color)}.tag a{color:var(--text-secondary);text-decoration:none}.tag:hover a{color:#fff}.post-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--bg-secondary);border-radius:20px;text-decoration:none;font-size:14px;color:var(--text-primary);white-space:nowrap;transition:all .2s ease}.post-tag:hover,.post-tag.active{background-color:color-mix(in srgb,var(--theme-color) 15%,transparent);color:var(--theme-color)}.post-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:120px;margin:0 10px}.inline-tag{font-size:13px;padding:2px 8px;color:var(--text-secondary);border-radius:4px;text-decoration:none;transition:all .2s ease}.post-info:hover .inline-tag{color:var(--theme-color)}.post-tag.highlighted{background-color:var(--theme-color);color:var(--bg-primary);box-shadow:0 2px 4px #0000001a;border-color:var(--theme-color)}@media(min-width:768px){.nav-link{margin:0;transition:all .2s ease;cursor:pointer;position:relative}.nav-link:before{background-color:transparent;content:"";position:absolute;top:50%;left:50%;width:calc(100% + 16px);height:100%;border-radius:8px;transform:translate(-50%,-50%) scale(.8);transition:transform .1s ease,background-color .1s ease;z-index:-1}.nav-link:hover:before{background-color:var(--color-theme-mix-10);transform:translate(-50%,-50%) scale(1)}.nav-link:active:before{transform:translate(-50%,-50%) scale(.95);background-color:var(--color-theme-mix-20)}.nav-link:active{color:var(--color-theme-mix-80-text)}}ul.breadcrumb-dropdown-menu li{white-space:nowrap;text-align:left}.expressive-code{--ec-bdColor: var(--border-color);--ec-bgColor: var(--bg-secondary);--ec-textColor: var(--text-primary);--ec-titleColor: var(--text-secondary);--ec-icoColor: var(--text-secondary);--ec-borderRadius: 8px;margin:1.5rem 0}.expressive-code .frame pre{max-height:500px;overflow:auto;border:none;border-radius:8px;font-family:JetBrains Mono Variable,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.link-card{border:1px solid var(--color-primary-mix-20);border-radius:8px;overflow:hidden;margin:1rem 0;padding:10px;background:var(--card-bg)}.link-card__link{display:flex;text-decoration:none;color:inherit}.link-card__img-wrapper{flex:0 0 120px;height:100%;overflow:hidden}.link-card__img{width:120px;height:100%;object-fit:cover;display:block}.link-card__body{padding:.75rem;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.link-card__title{margin:0;font-size:1rem;line-height:1.2;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-card__desc{margin:.5rem 0 0;color:var(--text-secondary);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.link-card__meta{margin-top:.5rem;color:var(--muted);font-size:.85rem}@media(max-width:640px){.link-card__link{flex-direction:column}.link-card__img-wrapper{width:100%;height:180px}.link-card__img{width:100%;height:100%;object-fit:cover}}pre.astro-code{position:relative;padding-top:2.4rem;border-radius:8px}pre.astro-code .code-toolbar{position:absolute;right:.5rem;top:.5rem;display:flex;gap:.5rem;align-items:center}.code-toolbar button{background:#0000000a;border:1px solid rgba(0,0,0,.06);color:var(--text-secondary);padding:.25rem .6rem;border-radius:6px;font-size:.85rem;cursor:pointer}.code-toolbar button:hover{background:var(--color-theme-mix-10);color:var(--text-primary)}pre.astro-code.code-collapsed{max-height:360px;overflow:auto}pre.astro-code.code-collapsed:after{content:"";pointer-events:none;position:absolute;left:0;right:0;bottom:0;height:3rem;background:rgba(255,255,255,0,var(--bg-primary));border-radius:0 0 8px 8px}pre.astro-code.code-expanded{max-height:none;overflow:visible}pre.astro-code code{display:block}@media(max-width:640px){pre.astro-code{padding-top:2.2rem}.code-toolbar button{padding:.2rem .5rem;font-size:.8rem}}/*! 
 * OverlayScrollbars
 * Version: 2.13.0
 * 
 * Copyright (c) Rene Haas | KingSora.
 * https://github.com/KingSora
 * 
 * Released under the MIT license.
 */.os-size-observer,.os-size-observer-listener{scroll-behavior:auto!important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;inset:0;transform:scale(.1)}.os-size-observer:before{content:"";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(10)}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:"";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0px;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{overflow:visible;margin:0}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch!important;flex-direction:row!important;flex-wrap:nowrap!important;scroll-behavior:auto!important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;position:relative;flex:auto;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw: 0;--os-vah: 0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:"";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah)}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden!important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible!important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x: hidden;--os-viewport-overflow-y: hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x: visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x: hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x: scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y: visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y: hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y: scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x)!important;overflow-y:var(--os-viewport-overflow-y)!important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0!important;line-height:0!important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*{display:none!important;position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto!important;scroll-snap-type:none!important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden!important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}@property --os-scroll-percent{syntax: "<number>"; inherits: true; initial-value: 0;}@property --os-viewport-percent{syntax: "<number>"; inherits: true; initial-value: 0;}.os-scrollbar{--os-viewport-percent: 0;--os-scroll-percent: 0;--os-scroll-direction: 0;--os-scroll-percent-directional: calc( var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction) )}.os-scrollbar{contain:size layout;contain:size layout style;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none!important}.os-scrollbar-track{position:relative;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translate(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type: size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translate(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{right:auto;left:0}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size: 0;--os-padding-perpendicular: 0;--os-padding-axis: 0;--os-track-border-radius: 0;--os-track-bg: none;--os-track-bg-hover: none;--os-track-bg-active: none;--os-track-border: none;--os-track-border-hover: none;--os-track-border-active: none;--os-handle-border-radius: 0;--os-handle-bg: none;--os-handle-bg-hover: none;--os-handle-bg-active: none;--os-handle-border: none;--os-handle-border-hover: none;--os-handle-border-active: none;--os-handle-min-size: 33px;--os-handle-max-size: none;--os-handle-perpendicular-size: 100%;--os-handle-perpendicular-size-hover: 100%;--os-handle-perpendicular-size-active: 100%;--os-handle-interactive-area-offset: 0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity .15s,background-color .15s,border-color .15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:"";position:absolute;inset:0;display:block}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity .15s,background-color .15s,border-color .15s,height .15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity .15s,background-color .15s,border-color .15s,width .15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size: 10px;--os-padding-perpendicular: 2px;--os-padding-axis: 2px;--os-track-border-radius: 10px;--os-handle-interactive-area-offset: 4px;--os-handle-border-radius: 10px}.os-theme-dark{--os-handle-bg: rgba(0, 0, 0, .44);--os-handle-bg-hover: rgba(0, 0, 0, .55);--os-handle-bg-active: rgba(0, 0, 0, .66)}.os-theme-light{--os-handle-bg: rgba(255, 255, 255, .44);--os-handle-bg-hover: rgba(255, 255, 255, .55);--os-handle-bg-active: rgba(255, 255, 255, .66)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.theme-toggle-container.svelte-1kenrq5{margin:0;padding:0;border:none;outline:none;background:none;font:inherit;color:inherit;cursor:pointer;position:relative}.indicator.theme-toggle-indicator.svelte-1kenrq5{left:0;position:absolute;bottom:-3px;width:50%;height:3px;border-radius:3px;background:var(--primary-color);transition:all .3s ease}.theme-toggle-container.svelte-1kenrq5:focus-visible{outline:2px solid rgba(var(--theme-color),.8);outline-offset:2px;border-radius:4px}.search-container.svelte-1wah7ro{position:relative;display:flex;align-items:center;height:100%}.search-toggle.svelte-1wah7ro{background:none;border:none;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;padding:.25rem;border-radius:4px;transition:background-color .2s ease}.search-toggle.svelte-1wah7ro:hover,.search-toggle.svelte-1wah7ro:focus-visible{background-color:#0000000d;outline:2px solid rgba(var(--theme-color),.8);outline-offset:2px}.search-dropdown.svelte-1wah7ro{position:absolute;top:calc(100% + 8px);right:0;width:320px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:.75rem;z-index:1000}.search-input.svelte-1wah7ro{width:100%;padding:.5rem .75rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.9rem;margin-bottom:.75rem;outline:none;transition:border-color .2s ease;box-sizing:border-box}.search-input.svelte-1wah7ro:focus{border-color:var(--theme-color)}.search-results.svelte-1wah7ro{list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto}.search-result-item.svelte-1wah7ro{margin-bottom:.5rem}.search-result-item.svelte-1wah7ro:last-child{margin-bottom:0}.search-result-item.svelte-1wah7ro a:where(.svelte-1wah7ro){text-decoration:none;color:var(--text-primary);display:block;padding:.5rem;border-radius:4px;transition:background-color .2s ease}.search-result-item.svelte-1wah7ro a:where(.svelte-1wah7ro):hover,.search-result-item.svelte-1wah7ro a:where(.svelte-1wah7ro):focus-visible{background-color:#0000000d;outline:none}.result-title.svelte-1wah7ro{font-size:.9rem;font-weight:500;margin:0 0 .25rem;color:var(--theme-color)}.result-excerpt.svelte-1wah7ro{font-size:.8rem;color:var(--text-secondary);margin:0;white-space:normal;overflow:hidden}@media(max-width:768px){.search-dropdown.svelte-1wah7ro{width:320px;right:-9rem}}.header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);transition:all .3s ease}.header[data-astro-cid-3ef6ksr2].scrolled{box-shadow:0 2px 10px #0000000d}.header-container[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 1.5rem;height:60px}.brand[data-astro-cid-3ef6ksr2]{display:flex;align-items:center}.logo-link[data-astro-cid-3ef6ksr2]{text-decoration:none;color:var(--text-primary);font-weight:700;font-size:1.25rem;transition:color .2s ease}.logo-link[data-astro-cid-3ef6ksr2]:hover{color:var(--theme-color)}.middle-content[data-astro-cid-3ef6ksr2]{flex:1;display:flex;justify-content:center;align-items:center;height:100%;overflow:hidden;min-width:0}.scroll-container[data-astro-cid-3ef6ksr2]{width:100%;height:100%;position:relative;transition:transform .3s ease;will-change:transform}.nav-content[data-astro-cid-3ef6ksr2],.title-content[data-astro-cid-3ef6ksr2]{height:60px;display:flex;align-items:center;justify-content:center;width:100%}.nav-list[data-astro-cid-3ef6ksr2]{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.nav-item[data-astro-cid-3ef6ksr2]{position:relative}.nav-link[data-astro-cid-3ef6ksr2]{text-decoration:none;color:var(--text-primary);font-size:1rem;transition:color .2s ease}.nav-link[data-astro-cid-3ef6ksr2]:hover,.nav-link[data-astro-cid-3ef6ksr2].is-active{color:var(--theme-color)}.title-content[data-astro-cid-3ef6ksr2]{color:var(--text-primary);font-weight:500;white-space:nowrap}.header-actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:1rem;white-space:nowrap}.menu-toggle[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;justify-content:center;width:24px;height:24px;background:none;border:none;cursor:pointer;padding:0}.menu-toggle[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{display:block;height:2px;width:100%;background-color:var(--text-primary);margin:2px 0;transition:all .3s ease;transform-origin:center}@media(max-width:768px){.header-container[data-astro-cid-3ef6ksr2]{padding:0 1rem}.menu-toggle[data-astro-cid-3ef6ksr2]{display:flex}.middle-content[data-astro-cid-3ef6ksr2]{position:static}.scroll-container[data-astro-cid-3ef6ksr2]{position:absolute;top:100%;left:0;right:0;background-color:var(--bg-primary);border-top:1px solid var(--border-color);box-shadow:0 4px 12px #0000001a;height:0;overflow:hidden;transition:height .3s ease;transform:none!important}.scroll-container[data-astro-cid-3ef6ksr2].nav-open{height:auto;max-height:500px;overflow-y:auto}.nav-content[data-astro-cid-3ef6ksr2]{height:auto;display:block;padding:1rem 0}.nav-list[data-astro-cid-3ef6ksr2]{flex-direction:column;gap:0;padding:0 1.5rem}.nav-item[data-astro-cid-3ef6ksr2]{width:100%}.nav-link[data-astro-cid-3ef6ksr2]{display:block;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.nav-link[data-astro-cid-3ef6ksr2]:last-child{border-bottom:none}.title-content[data-astro-cid-3ef6ksr2]{display:none}.menu-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] span[data-astro-cid-3ef6ksr2]:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] span[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}.menu-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] span[data-astro-cid-3ef6ksr2]:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}@media(prefers-reduced-motion:reduce){.header[data-astro-cid-3ef6ksr2],.scroll-container[data-astro-cid-3ef6ksr2],.menu-toggle[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{transition:none}}.footer[data-astro-cid-sz7xmlte]{margin-top:1rem}.footer-container[data-astro-cid-sz7xmlte]{border-top:1px dashed var(--border-color);max-width:800px;margin:0 auto;padding:1rem;text-align:center}.footer-description[data-astro-cid-sz7xmlte]{line-height:1.5;max-width:600px;margin:.5rem auto}.footer-links[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:1.5rem}.footer-link[data-astro-cid-sz7xmlte]{text-decoration:none;transition:color .2s ease;text-decoration:underline}.copyright[data-astro-cid-sz7xmlte]{margin:0 0 .5rem}.credit[data-astro-cid-sz7xmlte]{margin:0}@media(max-width:600px){.footer-links[data-astro-cid-sz7xmlte]{flex-direction:column;gap:.75rem}.footer-bottom[data-astro-cid-sz7xmlte]{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.social-link[data-astro-cid-sz7xmlte]{transition:none}.social-link[data-astro-cid-sz7xmlte]:hover{transform:none}}button.svelte-14bna0p{margin:0;padding:0;border:none;outline:none;background:none;font:inherit;color:inherit;cursor:pointer}.floating-action-button.svelte-14bna0p{position:fixed;width:50px;height:50px;border-radius:50px;background-color:var(--primary-color);color:var(--bg-primary);font-weight:700;display:flex;justify-content:center;align-items:center;user-select:none;z-index:999;transition:opacity .3s ease,transform .3s ease}.visible.svelte-14bna0p{opacity:1;transform:scale(1)}.hidden.svelte-14bna0p{opacity:0;transform:scale(.8);pointer-events:none}.icon.svelte-14bna0p{z-index:2;font-size:16px}.progress-ring.svelte-14bna0p{position:absolute;height:62px;width:62px;color:var(--primary-color);transform:rotate(-90deg)}.progress-circle.svelte-14bna0p{fill:none;stroke:var(--primary-color);stroke-width:2;stroke-linecap:round}.floating-action-button.svelte-14bna0p:hover{transform:scale(1.05);box-shadow:0 6px 16px #0003}.floating-action-button.svelte-14bna0p:focus-visible{outline:2px solid rgba(var(--primary-color),.8);outline-offset:2px}.tags-nav[data-astro-cid-blwjyjpt]{background-color:var(--bg-primary);padding:8px 0;border-radius:8px;box-shadow:0 2px 4px var(--shadow)}.tags-toggle[data-astro-cid-blwjyjpt]{display:none;width:100%;padding:8px 16px;background-color:var(--bg-secondary);border:none;color:var(--text-primary);font-size:14px;cursor:pointer;text-align:left;align-items:center;justify-content:space-between;gap:8px}.toggle-icon[data-astro-cid-blwjyjpt]{font-size:12px}.tags-container[data-astro-cid-blwjyjpt]{display:flex;gap:12px;padding:8px 16px;overflow-x:auto;flex-wrap:wrap;scrollbar-width:thin}.tag-count[data-astro-cid-blwjyjpt]{background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;padding:1px 8px;border-radius:10px}.profile-sidebar[data-astro-cid-ssfzsv2f]{width:100%;margin:20px 0;display:flex;flex-direction:column;align-items:center;text-align:center}.avatar-img[data-astro-cid-ssfzsv2f]{width:80px;height:80px;border-radius:80px;object-fit:cover}@keyframes title-old{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px) scale(.85)}}@keyframes title-new{0%{opacity:0;transform:translateY(6px) scale(.85)}to{opacity:1;transform:none}}.main-content[data-astro-cid-37fxchfa]{flex:1;max-width:800px;margin:0 auto;width:100%}.post-title[data-astro-cid-37fxchfa]{display:inline-block;transform-origin:left top;will-change:transform,opacity}.blog-post-sidebar[data-astro-cid-37fxchfa]{width:320px;flex-shrink:0;position:sticky;top:5rem;align-self:flex-start;max-height:calc(100vh - 4rem)}.content-container[data-astro-cid-37fxchfa]{display:flex;flex-direction:row;margin:0 auto;max-width:1200px}.welcome[data-astro-cid-37fxchfa]{width:100%;max-width:1200px;margin:1rem auto;height:400px;font-size:1.1rem;color:var(--text-secondary)}@media(max-width:968px){.blog-post-sidebar[data-astro-cid-37fxchfa]{width:100%;position:static;order:-1;margin-bottom:2rem}.content-container[data-astro-cid-37fxchfa]{flex-direction:column;padding:0 1rem}}
