:root{--phoneWidth: (max-width: 684px);--tabletWidth: (max-width: 900px)}html{letter-spacing:0.01em}main{padding-left:10px;padding-right:10px}.content{align-items:stretch;padding-left:10px;padding-right:10px}.post-info{margin-top:0;opacity:unset;font-size:14px;text-align:right}.post-info-2{position:relative;margin-top:10px;opacity:unset;font-size:14px}.post-info-2 span+span{margin-left:10px}[data-theme=dark] .post-excerpt{color:#ccc}.posts{padding:20px;margin:0 auto 20px}.post-header{border-top-left-radius:10px;border-top-right-radius:10px}[data-theme=light] .post-header{background:#fafafa}[data-theme=dark] .post-header{background:#1f2a35}.post-inner{padding-top:10px;padding-left:20px;padding-right:20px}.post-inner h1{margin-top:0;font-size:1.7rem}.post-inner h2{margin-top:1em}[data-theme=dark] .post-inner-light{background:#283745}.index-posts{margin:0 auto 20px}.bg:before{background-image:unset}.posts-header{border-radius:10px;margin-bottom:15px}[data-theme=light] .posts-header{background:#eef4f4;box-shadow:0 4px 12px rgba(0,0,0,0.15)}[data-theme=dark] .posts-header{background:#1f2a35;box-shadow:0 4px 15px rgba(0,0,0,0.4)}.posts-header h3{margin:0;padding:8px 15px}.posts-footer{text-align:right;padding:10px;border-radius:10px;margin-bottom:25px}[data-theme=light] .posts-footer{background:#fafafa;box-shadow:0 4px 12px rgba(0,0,0,0.15)}[data-theme=dark] .posts-footer{background:#1f2a35;box-shadow:0 4px 15px rgba(0,0,0,0.4)}.posts-footer-archive{text-align:center;padding:12px 20px;border-radius:6px;margin:30px auto;max-width:320px;font-weight:600;cursor:pointer;transition:background 0.15s ease, border-color 0.15s ease, color 0.15s ease;background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-contrast)}.posts-footer-archive:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.home-content-container{max-width:1050px;margin:20px auto;padding:20px;border-radius:15px;backdrop-filter:blur(100px);-webkit-backdrop-filter:blur(100px);transform:translateZ(0)}[data-theme=light] .home-content-container{background:rgba(240,240,240,0.8);border:1px solid rgba(0,0,0,0.1)}[data-theme=dark] .home-content-container{background:rgba(20,28,35,0.7);border:1px solid rgba(255,255,255,0.1)}.main-heading{padding-top:4px;max-width:1000px;margin:auto}#reading-progress-fill{-webkit-transition:width 100ms ease;-o-transition:width 100ms ease;transition:width 100ms ease}[data-theme=light] #reading-progress-fill{background-color:#333}[data-theme=dark] #reading-progress-fill{background-color:#eee}.post-item{padding:10px 0}[data-theme=dark] .post-item:hover{background:var(--badge-bg)}.post.on-list{cursor:pointer;margin:0 0 15px 0;position:relative;padding:0.75rem 1.25rem;overflow:hidden;border-radius:10px}[data-theme=light] .post.on-list{background:#fafafa;box-shadow:0 4px 12px rgba(0,0,0,0.15)}[data-theme=dark] .post.on-list{background:#161e26;box-shadow:0 4px 15px rgba(0,0,0,0.4)}.post.on-list.with-cover-bg{background-size:cover;background-position:center}.post.on-list.with-cover-bg::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.75);backdrop-filter:blur(8px);z-index:1}.post.on-list.with-cover-bg .post-card-content h3{color:var(--text-contrast)}.post.on-list.with-cover-bg .post-card-content h3 a{color:var(--text-contrast)}.post.on-list .post-card-wrapper{position:relative;z-index:2;display:flex;gap:1.25rem;align-items:start;width:100%}.post.on-list .post-thumbnail{width:100px;height:100px;object-fit:cover;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,0.3);flex-shrink:0}.post.on-list .post-card-content{flex-grow:1;display:flex;flex-direction:column;gap:0.15rem}.post.on-list .post-meta{display:flex;gap:1rem;font-size:0.8rem;opacity:0.9;margin-bottom:0.25rem}.post.on-list .post-summary{font-size:0.9rem;line-height:1.35;opacity:0.9;margin:0.15rem 0}.post.on-list .post-tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.4rem}.post.on-list .post-tags a{font-size:0.75rem;padding:2px 8px;border-radius:4px;color:var(--text-secondary);font-weight:bold;text-decoration:none;background:var(--badge-bg);border:1px solid var(--border-secondary)}.post.on-list .post-tags a:hover{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}@media (max-width: 684px){.post.on-list .post-card-wrapper{flex-direction:column}.post.on-list .post-thumbnail{width:100%;height:150px}}.post.on-list h3{font-family:inherit;font-size:1.25rem;width:100%;margin-top:0;margin-bottom:0;color:var(--text-contrast)}.post.on-list h3 a{color:var(--text-contrast);text-decoration:none}.post.on-list h3 a:hover{color:var(--accent-primary)}.post.on-list small{font-weight:lighter}.post.on-list small.reading-time{white-space:nowrap;margin-left:1em}[data-theme=dark] .post.on-list:hover{background:#283745}[data-theme=dark] .bg:before{background-image:linear-gradient(to top, rgba(0,0,0,0), rgba(0,0,0,0.5))}.post-row{display:flex}.post-row:first-of-type{padding-top:10px}.page-title{width:100%;margin-bottom:0;font-size:30px}.post-title{width:100%;margin-top:0;margin-bottom:0;font-size:30px}.post-title small{margin-left:auto;font-weight:lighter}.post-tags{margin:0;vertical-align:bottom}.post-meta{display:inline-block;font-size:14px}.post-cover{margin-left:auto;margin-right:auto}.bg{background-attachment:fixed;background-size:auto auto}#reading-progress{position:fixed;width:100%;height:5px;z-index:9999;top:0;left:0}#reading-progress-fill{height:5px;width:0}[data-theme=light] pre{background-color:#333}h2{margin-top:1em}.toot-box{padding:20px;padding-left:0px;border-radius:10px;margin:10px 0 10px 0}[data-theme=light] .toot-box{background:#fafafa}[data-theme=dark] .toot-box{background:#1f2a35}.toot{margin-left:20px;border-radius:10px}[data-theme=light] .toot{background:#fafafa}[data-theme=dark] .toot{background:#1f2a35}.toot hr{margin:20px 0}.toot-header img{max-height:48px;max-width:48px;float:left;margin-right:10px;border-radius:10px}.toot-date{display:inline-block;font-size:10px}.toot-author-name{display:block;text-decoration:none}.toot-author-handle{font-size:12px;text-decoration:none}.toot-img-grid{display:grid;grid-template-rows:auto;grid-template-columns:25% 25%;justify-content:space-evenly;width:100%}.toot-media-img{padding:5px}.toot-footer a{font-size:14px}ul.icons{margin:0;padding:0}.links-wrapper{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));grid-gap:10px;width:100%}.links-box{border-radius:0;padding:0;background:transparent !important}.links-box h2{margin-top:0}.projects-wrapper{display:grid;margin-bottom:15px;grid-gap:15px;width:100%;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr))}.projects-wrapper.two-columns{grid-template-columns:repeat(auto-fit, minmax(400px, 1fr))}@media (max-width: 684px){.projects-wrapper.two-columns{grid-template-columns:1fr}}.projects-box{position:relative;border-radius:10px;padding:20px;overflow:hidden;transition:background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease}[data-theme=light] .projects-box{background-color:#fafafa;box-shadow:0 4px 12px rgba(0,0,0,0.15)}[data-theme=light] .projects-box:hover{background-color:#ececec;box-shadow:0 6px 15px rgba(0,0,0,0.2)}[data-theme=dark] .projects-box{background-color:#1f2a35;box-shadow:0 4px 15px rgba(0,0,0,0.4)}[data-theme=dark] .projects-box:hover{background-color:#283745;box-shadow:0 6px 20px rgba(0,0,0,0.5)}.projects-box:hover{transform:translateY(-2px)}.projects-box.with-bg{background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform 0.2s ease}.projects-box.with-bg::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);z-index:1;transition:background 0.2s ease}.projects-box.with-bg:hover::before{background:rgba(0,0,0,0.4)}.projects-box.with-bg .projects-box-content{position:relative;z-index:2;color:#fff}.projects-box.with-bg .projects-box-content h3 a{color:var(--text-contrast)}.projects-box.with-bg .projects-box-content h3 a:hover{color:var(--accent-primary)}.projects-box.wide{grid-column:1 / -1}.projects-box.wide::before{background:rgba(0,0,0,0.75);backdrop-filter:blur(6px)}.projects-box.wide:hover::before{background:rgba(0,0,0,0.65)}.projects-box.wide .projects-box-content{display:flex;flex-direction:row;gap:20px;align-items:center}.projects-box.wide .projects-box-content .project-info-wrapper{flex:1.2}.projects-box.wide .projects-box-content .video-box-wrapper{flex:1;min-width:300px;width:100%}@media (max-width: 1200px){.projects-box.wide .projects-box-content{flex-direction:column;align-items:stretch;gap:15px}.projects-box.wide .projects-box-content .video-box-wrapper{min-width:unset}}.projects-box h2,.projects-box h3{font-family:inherit;margin-top:0;color:var(--text-contrast)}.projects-box h2 a,.projects-box h3 a{color:var(--text-contrast);text-decoration:none}.projects-box h2 a:hover,.projects-box h3 a:hover{color:var(--accent-primary)}.project-icons{font-size:32px}.project-icons a i{display:inline-block;transition:color 0.2s ease}.project-icons a:hover i{animation:wiggle 0.5s ease;color:var(--accent-primary)}.shop-wrapper{display:grid;grid-gap:10px;width:100%}.shop-box{border-radius:0;padding:0;background:transparent !important}.shop-box h2{margin-top:0}.main-wrapper{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));grid-gap:10px;width:100%;text-align:left}.main-box{border-radius:0;padding:0;margin:10px 0;display:flex;flex-direction:column;background:transparent !important}@keyframes wiggle{0%{transform:rotate(0deg)}25%{transform:rotate(10deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}100%{transform:rotate(0deg)}}.main-box h2 a i{display:inline-block;transition:color 0.2s ease}.main-box h2 a:hover i{animation:wiggle 0.5s ease;color:var(--accent-primary)}.main-box h1{margin-top:0;font-size:1.7rem}.main-box h2{margin-top:auto}[data-theme=dark] .main-box-light{background:#283745}.cover-outer{border-top-left-radius:10px;border-top-right-radius:10px;padding:20px;position:relative;display:flex}[data-theme=light] .cover-outer{background:#fafafa}[data-theme=dark] .cover-outer{background:#1f2a35}.cover-background{position:absolute;top:0;left:0;right:0;bottom:0;background-image:var(--cover-image);background-position:center;background-size:cover;filter:blur(10px);transition:filter 0.3s ease;z-index:1;animation:blur-in 0.5s ease-in-out}.cover-background:hover{filter:blur(0)}.post-preview .post,.post-preview .post-summary{max-height:none !important;overflow:visible !important;position:static !important}.post-preview .post::after,.post-preview .post-summary::after{display:none !important;content:none !important}.post-title,.post-meta{text-align:left !important}.post-title h1,.post-title-text,h1{font-size:clamp(2.1rem, 5.2vw, 3.2rem);line-height:1.1;margin-top:0;text-align:left !important}.post-title,h1.page-title,.post-excerpt,main.posts>.content,main.post>article>.post-content,main.post>h1,main.post>h2,main.post>h3,main.post>h4,main.post article>h1,main.post article>h2,main.post article>h3,main.post article>span[id]>h1,main.post article>span[id]>h2,main.post article>span[id]>h3{margin-left:20px !important;margin-right:20px !important}.main-box h1,.main-box h2,.main-box h3,.main-box h4,.main-box h5,.main-box h6,.projects-box h1,.projects-box h2,.projects-box h3,.projects-box h4,.projects-box h5,.projects-box h6,.prompt-box h1,.prompt-box h2,.prompt-box h3,.prompt-box h4,.prompt-box h5,.prompt-box h6,.links-box h1,.links-box h2,.links-box h3,.links-box h4,.links-box h5,.links-box h6{margin-left:0 !important;margin-right:0 !important}.post-preview.on-list{margin-bottom:4em;cursor:pointer;position:relative;padding:0}.post-preview.on-list .post-title{padding-left:20px}body .cover-inner .post-title a,body .post-title a,body .cover-inner .post-info-2 a,body .cover-inner i,body .cover-inner .post-title strong,body .cover-inner .post-title em{color:inherit !important}.cover-inner .post-excerpt,.post-excerpt{color:inherit !important;opacity:0.85}.post-preview.on-list,.posts-header,.posts-footer,.post-header,.post.on-list,.home-content-container,.cover-outer,.cover-inner{background:transparent !important;box-shadow:none !important;border-radius:0 !important;border:none !important;backdrop-filter:none !important;padding-top:0 !important;padding-left:0 !important;padding-right:0 !important;padding-bottom:0 !important;color:inherit !important}.sidebar{position:relative;z-index:100;isolation:isolate;color:#666;background-color:#e0e0e0;text-align:center}[data-theme=dark] .sidebar{color:#ccc;background-color:#0d1217}.sidebar::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:var(--bg-image);background-repeat:repeat;opacity:0.1;z-index:-1;pointer-events:none}.desktop-only-theme-toggle{display:none !important}@media (min-width: 685px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:18em;text-align:left;padding:1em;font-size:0.8rem;pointer-events:none}.sidebar-sticky{display:flex;flex-direction:column;height:100%;pointer-events:auto}.sidebar .footer{margin-top:auto}.content.container{padding-top:1rem;padding-bottom:4rem;max-width:55rem;margin-left:19rem;margin-right:1rem}}@media (min-width: 685px) and (max-width: 75em){.content.container{margin-left:17rem}}@media (min-width: 685px) and (max-width: 60em){.content.container{margin-left:15rem}}@media (min-width: 685px) and (min-width: 1201px){.content.container{margin-right:10rem}}@media (min-width: 685px) and (min-width: 1700px){.content.container{max-width:75rem}}@media (min-width: 685px) and (min-width: 2100px){.content.container{max-width:90rem}}@media (min-width: 685px){.sidebar .page-header{background:transparent !important;flex-direction:column;align-items:flex-start}.sidebar .page-header__inner{flex-direction:column;align-items:flex-start;width:100%;position:relative}.sidebar .page-header__right{flex-direction:column;align-items:flex-start;margin-top:1em;width:100%}.sidebar .menu{width:100%;background:transparent !important}.sidebar .menu__inner{flex-direction:column;align-items:flex-start;padding:0 0 0 1.5em;width:100%;background:transparent !important}.sidebar .menu__inner li{margin:0;width:100%}.sidebar .theme-toggle.mobile-only{position:absolute;top:0.1em;right:0.5rem;margin-top:0}.desktop-only-theme-toggle{display:flex !important;position:absolute;top:0;right:0;z-index:101;cursor:pointer}.sidebar-desktop-only{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:1rem}.sidebar-logo{display:flex;justify-content:center;width:100%}.mobile-hidden-on-desktop{display:none !important}.mobile-only{display:none !important}}@media (max-width: 684px){.sidebar .theme-toggle{margin-right:15px;display:flex;align-items:center}.sidebar .footer{display:none}.sidebar .page-header{background:transparent !important;padding:0.5rem}.menu-trigger{display:flex !important}.menu{display:none}.menu:not(.hidden){display:block}.sidebar-about{display:none !important}}ul.icons li{font-size:1rem;padding:0 0.4rem 0 0}ul.icons li a{height:2rem;line-height:2rem;width:2rem}.sidebar a{color:#fff}[data-theme=light] .sidebar a{color:#222}.sidebar .menu__inner a{font-weight:bold;display:block;width:100%;padding:0.5em 0}.sidebar-profile-img{width:120px;height:120px;max-width:120px;display:block;margin:0 auto;border-radius:50%;border:3px solid rgba(157,78,221,0.8);box-shadow:0 8px 25px rgba(0,0,0,0.15),0 0 20px rgba(157,78,221,0.45);transition:transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),border-color 0.4s ease}[data-theme=dark] .sidebar-profile-img{border:3px solid rgba(192,132,252,0.8);box-shadow:0 8px 30px rgba(0,0,0,0.5),0 0 25px rgba(192,132,252,0.55)}.sidebar-profile-img:hover{transform:scale(1.02);border-color:rgba(157,78,221,0.4);box-shadow:0 4px 15px rgba(0,0,0,0.15),0 0 8px rgba(157,78,221,0.18)}[data-theme=dark] .sidebar-profile-img:hover{border-color:rgba(192,132,252,0.4);box-shadow:0 4px 20px rgba(0,0,0,0.45),0 0 10px rgba(192,132,252,0.22)}@media (max-width: 684px){main{padding-left:0 !important;padding-right:0 !important}.content{padding-left:0 !important;padding-right:0 !important}.post-inner{padding-left:10px !important;padding-right:10px !important}.posts-header,.posts-footer{padding-left:10px !important;padding-right:10px !important}.post-header .post-title,.post-header .post-excerpt{margin-left:10px !important;margin-right:10px !important}}.nav-prev-next{display:flex;flex-direction:row;align-items:center;gap:8px;width:auto}@media (max-width: 684px){.nav-prev-next{justify-content:center;margin:10px 0}}.sidebar .nav-prev-next{margin-top:1.5rem;margin-left:1.5em;margin-right:0;width:auto}.nav-prev-next .nav-prev-next-link{font-size:1rem;font-weight:bold;display:inline-block;padding:0.5em 0;color:inherit;text-decoration:none;opacity:0.7;transition:opacity 0.2s ease, color 0.2s ease}.nav-prev-next .nav-prev-next-link:hover:not(.disabled){opacity:1;color:var(--accent-primary)}.nav-prev-next .nav-prev-next-link.disabled{opacity:0.25;cursor:not-allowed}.nav-prev-next .nav-prev-next-sep{opacity:0.4;font-weight:bold}.sidebar-series-track{margin-top:2.5rem;width:100%;font-family:"Courier New", Courier, monospace;color:#a2a2dd;pointer-events:auto;text-align:left;padding-left:1.5em;padding-right:1.5em;box-sizing:border-box}[data-theme=light] .sidebar-series-track{color:#555}.sidebar-series-track .quest-log-header{display:flex;align-items:center;gap:8px;font-size:0.75rem;font-weight:bold;letter-spacing:0.1em;color:#ff9f1c;text-shadow:0 0 8px rgba(255,159,28,0.3)}[data-theme=light] .sidebar-series-track .quest-log-header{color:#d66800}.sidebar-series-track .quest-series-name{margin-top:0.3rem;margin-bottom:0.8rem;font-size:0.9rem;font-weight:bold;color:#eee;line-height:1.3}[data-theme=light] .sidebar-series-track .quest-series-name{color:#111}.sidebar-series-track .quest-steps-horizontal{display:flex;align-items:center;justify-content:flex-start;width:100%;margin-top:0.8rem;position:relative}.sidebar-series-track .quest-step-horizontal{display:flex;align-items:center;justify-content:center;text-decoration:none;position:relative;z-index:2;transition:transform 0.2s ease}.sidebar-series-track .quest-step-horizontal:hover{transform:scale(1.2)}.sidebar-series-track .quest-step-horizontal .quest-marker{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer}.sidebar-series-track .quest-step-horizontal .quest-marker .pending-node{font-size:0.5rem}.sidebar-series-track .quest-step-horizontal.status-completed .quest-marker{color:var(--accent-primary)}.sidebar-series-track .quest-step-horizontal.status-active .quest-marker{color:#ff9f1c;text-shadow:0 0 10px rgba(255,159,28,0.6)}.sidebar-series-track .quest-step-horizontal.status-locked .quest-marker{color:#888;opacity:0.6}[data-theme=light] .sidebar-series-track .quest-step-horizontal.status-locked .quest-marker{color:#777}.sidebar-series-track .quest-step-horizontal.status-locked .quest-marker:hover{opacity:1;color:#ff9f1c;text-shadow:0 0 8px rgba(255,159,28,0.4)}[data-theme=light] .sidebar-series-track .quest-step-horizontal.status-locked .quest-marker:hover{color:#d66800}.sidebar-series-track .quest-line-horizontal{flex-grow:1;max-width:32px;min-width:10px;height:2px;background:rgba(255,255,255,0.1);z-index:1;margin:0 -4px}[data-theme=light] .sidebar-series-track .quest-line-horizontal{background:rgba(0,0,0,0.1)}.sidebar-series-track .quest-line-horizontal.status-completed,.sidebar-series-track .quest-line-horizontal.status-active{background:var(--accent-primary);opacity:0.4}.circuit-bg{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none;z-index:0}.circuit-bg .outline-pad{fill:none !important}.circuit-bg .desktop-circuit{display:none;position:absolute;inset:0;width:100%;height:100%}@media (min-width: 769px){.circuit-bg .desktop-circuit{display:block}}.circuit-bg .mobile-circuit{display:block;position:absolute;inset:0;width:100%;height:100%}@media (min-width: 769px){.circuit-bg .mobile-circuit{display:none}}.circuit-bg .circuit-base{stroke:rgba(255,255,255,0.014);stroke-width:1.5px;fill:none}.circuit-bg .circuit-base circle{fill:rgba(255,255,255,0.018)}[data-theme=light] .circuit-bg .circuit-base{stroke:rgba(0,0,0,0.009)}[data-theme=light] .circuit-bg .circuit-base circle{fill:rgba(0,0,0,0.012)}.circuit-bg .circuit-glow{stroke:var(--accent-primary);stroke-width:2px;fill:none}.circuit-bg .circuit-glow circle{fill:var(--accent-primary)}@keyframes circuit-pulse-vertical{from{transform:translateY(0)}to{transform:translateY(1740px)}}@keyframes circuit-pulse-horizontal{from{transform:translateX(0)}to{transform:translateX(1180px)}}.circuit-pulse-vertical,.circuit-pulse-horizontal{animation-duration:1.6s;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-fill-mode:forwards;animation-iteration-count:1}.circuit-pulse-vertical{animation-name:circuit-pulse-vertical}.circuit-pulse-horizontal{animation-name:circuit-pulse-horizontal}@keyframes blur-in{from{filter:blur(0)}to{filter:blur(10px)}}.cover-top{align-items:start}.cover-middle{justify-content:space-around;align-items:center}.cover-bottom{align-items:end}.cover-inner{border-radius:10px;padding:1em 2em 1em 2em;background-color:rgba(0,0,0,0.9);transition:background-color 0.3s ease;color:#fff;position:relative;z-index:2}.cover-inner .post-title a{color:var(--text-contrast)}.cover-inner .post-info-2 a{color:var(--text-secondary)}.cover-inner .post-excerpt{color:var(--text-secondary)}.cover-inner i,.cover-inner .post-title strong,.cover-inner .post-title em{color:inherit !important}.links-box h2{margin-top:0}.container pre{text-align:left}#search{padding:15px}[data-theme=dark] #search{background-color:var(--bg-primary);color:var(--text-primary);--pagefind-ui-primary: var(--accent-primary);--pagefind-ui-text: var(--text-primary);--pagefind-ui-background: var(--bg-primary);--pagefind-ui-border: var(--border-primary);--pagefind-ui-tag: var(--bg-secondary)}[data-theme=dark] #search .pagefind-ui__result-title,[data-theme=dark] #search .pagefind-ui__result-link{color:var(--text-contrast) !important}[data-theme=dark] #search .pagefind-ui__result-excerpt{color:var(--text-primary) !important}[data-theme=dark] #search .pagefind-ui__search-input,[data-theme=dark] #search .pagefind-ui__search-clear{background-color:var(--bg-secondary) !important;color:var(--text-primary) !important;border-color:var(--border-primary) !important}[data-theme=dark] #search .pagefind-ui__search-input::placeholder{color:var(--text-secondary) !important;opacity:1 !important}[data-theme=light] #search{background-color:var(--bg-primary);color:var(--text-primary);--pagefind-ui-primary: var(--accent-primary);--pagefind-ui-text: var(--text-primary);--pagefind-ui-background: var(--bg-primary);--pagefind-ui-border: var(--border-primary);--pagefind-ui-tag: var(--bg-secondary)}.mermaid{display:flex;justify-content:center}.mermaid .node rect,.mermaid .node circle,.mermaid .node polygon,.mermaid .node path,.mermaid .node label-box,.mermaid g.actor rect{fill:var(--bg-secondary) !important;stroke:var(--accent-primary) !important;stroke-width:1.5px !important}[data-theme=dark] .mermaid .node rect,[data-theme=dark] .mermaid .node circle,[data-theme=dark] .mermaid .node polygon,[data-theme=dark] .mermaid .node path,[data-theme=dark] .mermaid .node label-box,[data-theme=dark] .mermaid g.actor rect{fill:var(--bg-secondary) !important;stroke:var(--accent-primary) !important}.mermaid .node .label,.mermaid .nodeText,.mermaid .nodeLabel,.mermaid g.actor text,.mermaid text.actor{color:#222 !important;fill:#222 !important;font-family:inherit !important}[data-theme=dark] .mermaid .node .label,[data-theme=dark] .mermaid .nodeText,[data-theme=dark] .mermaid .nodeLabel,[data-theme=dark] .mermaid g.actor text,[data-theme=dark] .mermaid text.actor{color:#fff !important;fill:#fff !important}.mermaid .edgePath .path,.mermaid .signalLine,.mermaid .signalLine2{stroke:#999 !important;stroke-width:1.5px !important}[data-theme=dark] .mermaid .edgePath .path,[data-theme=dark] .mermaid .signalLine,[data-theme=dark] .mermaid .signalLine2{stroke:rgba(255,255,255,0.4) !important}.mermaid marker path,.mermaid .marker,.mermaid #arrowhead-end path,.mermaid #arrowhead-start path,.mermaid #filled-head path,.mermaid #sequencenumber path{fill:#999 !important;stroke:#999 !important}[data-theme=dark] .mermaid marker path,[data-theme=dark] .mermaid .marker,[data-theme=dark] .mermaid #arrowhead-end path,[data-theme=dark] .mermaid #arrowhead-start path,[data-theme=dark] .mermaid #filled-head path,[data-theme=dark] .mermaid #sequencenumber path{fill:rgba(255,255,255,0.4) !important;stroke:rgba(255,255,255,0.4) !important}.mermaid .note rect,.mermaid rect.note{fill:#fffbeb !important;stroke:#f59e0b !important}[data-theme=dark] .mermaid .note rect,[data-theme=dark] .mermaid rect.note{fill:#242b35 !important;stroke:rgba(255,255,255,0.2) !important}.mermaid .noteText,.mermaid text.note{fill:#222 !important;color:#222 !important}[data-theme=dark] .mermaid .noteText,[data-theme=dark] .mermaid text.note{fill:#fff !important;color:#fff !important}.mermaid .cluster rect{fill:#eef4f4 !important;stroke:rgba(0,122,120,0.3) !important}[data-theme=dark] .mermaid .cluster rect{fill:#0d1217 !important;stroke:rgba(255,255,255,0.1) !important}.mermaid .cluster-label text,.mermaid .cluster text{fill:#222 !important}[data-theme=dark] .mermaid .cluster-label text,[data-theme=dark] .mermaid .cluster text{fill:#fff !important}.edgeLabel{padding:2px 6px !important;border-radius:2px;background-color:#161e26 !important;color:#b0bac5 !important;font-size:11px !important;font-weight:normal !important;display:inline-block !important}@media (prefers-color-scheme: light){.edgeLabel{background-color:#fafafa !important;color:#55606d !important}}[data-theme=light] .edgeLabel{background-color:#fafafa !important;color:#55606d !important}@media (prefers-color-scheme: dark){.edgeLabel{background-color:#161e26 !important;color:#b0bac5 !important}}[data-theme=dark] .edgeLabel{background-color:#161e26 !important;color:#b0bac5 !important}.edgeLabel rect,.labelBkg,.label-container{fill:transparent !important;stroke:transparent !important}.edgeLabel p{margin:0 !important;padding:0 !important;background-color:transparent !important;line-height:inherit !important}figure{margin:auto}figure img{width:100%;object-fit:cover}.bigtext{font-size:2em}.diagram-wrapper{text-align:center}.diagram{border-radius:8px;display:inline-block;max-width:100%}[data-theme=light] .diagram{background-color:#fafafa;border:1px solid #ddd}[data-theme=dark] .diagram{background-color:#2e3440}.d2-diagram-wrapper{text-align:center}[data-theme=light] .d2-diagram-wrapper{margin:4px;background-color:#fafafa;border:1px solid #ddd;border-radius:8px}[data-theme=dark] .d2-diagram-wrapper{background-color:#2e3440;border-radius:8px}.d2-diagram{display:inline-block;max-width:100%}.webmentions{display:grid !important;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));grid-gap:10px;width:100%;text-align:left;margin:0;padding:0;opacity:0;visibility:hidden;grid-template-rows:0fr;transition:opacity 0.5s ease-in-out, grid-template-rows 0.5s ease-in-out, margin 0.5s ease-in-out, padding 0.5s ease-in-out;overflow:hidden}.webmentions.is-visible{margin:10px 0;padding:20px;opacity:1;visibility:visible;grid-template-rows:1fr}.webmentions-container{min-height:0}.webmentions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.webmentions-header h3{margin:0}.webmentions-header .webmentions-count{font-size:0.8rem;font-weight:600;padding:2px 10px;border-radius:20px}[data-theme=light] .webmentions-header .webmentions-count{background:#e0e0e0;color:#999}[data-theme=dark] .webmentions-header .webmentions-count{background:#3b5065;color:#a2a2dd}.webmentions-list{list-style:none;padding:0;margin:0}.webmentions-item{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid}[data-theme=light] .webmentions-item{border-color:rgba(0,0,0,0.05)}[data-theme=dark] .webmentions-item{border-color:rgba(255,255,255,0.05)}.webmentions-item:last-child{border-bottom:none}.webmentions-avatar{flex-shrink:0}.webmentions-avatar img{width:40px;height:40px;border-radius:50%;object-fit:cover}.webmentions-content{flex-grow:1;font-size:0.95rem}.webmentions-content .webmention-author{font-weight:bold;margin-right:5px;text-decoration:none;color:var(--accent-primary)}.webmentions-content .webmention-author:hover{text-decoration:underline}.webmentions-content .webmention-domain{opacity:0.7;font-size:0.9rem;margin-right:5px}.webmentions-content .webmention-type{opacity:0.7;font-size:0.85rem}.webmentions-content .webmention-text{margin-top:5px;line-height:1.4}.webmentions-content .webmention-text p{margin:5px 0}.webmentions-content .webmention-meta{margin-top:5px;font-size:0.8rem;opacity:0.6}.webmentions-content .webmention-meta a{text-decoration:none}.webmentions-content .webmention-meta a:hover{text-decoration:underline}.webmentions-item.webmention-mini{padding:8px 0;align-items:center}.webmentions-item.webmention-mini .webmentions-avatar img{width:24px;height:24px}.webmentions-item.webmention-mini .webmentions-content{display:flex;align-items:center;flex-wrap:wrap;gap:0 5px;line-height:1}.webmentions-item.webmention-mini .webmentions-content .webmention-author{margin-right:0}.webmentions-item.webmention-mini .webmentions-content .webmention-type{font-size:0.9rem}.webmentions-item.webmention-mini .webmentions-content .webmention-source-link{font-size:0.85rem;opacity:0.6;text-decoration:none}.webmentions-item.webmention-mini .webmentions-content .webmention-source-link:hover{text-decoration:underline}.webmentions-more{margin-top:15px;text-align:center}.webmentions-more button{background:none;border:1px solid;padding:8px 20px;border-radius:8px;cursor:pointer;font-size:0.9rem;font-weight:600;transition:all 0.2s ease}[data-theme=light] .webmentions-more button{border-color:#dcdcdc;background:#e0e0e0;color:#222}[data-theme=light] .webmentions-more button:hover{opacity:0.8}[data-theme=dark] .webmentions-more button{border-color:#ccc;background:#3b5065;color:#fff}[data-theme=dark] .webmentions-more button:hover{opacity:0.8}.webmentions-empty,.webmentions-loading{text-align:center;padding:20px;opacity:0.6;font-style:italic}:root,[data-palette="monochrome"][data-theme="dark"],:root[data-theme="dark"]:not([data-palette]){--bg-primary: #121214;--bg-secondary: #18181b;--bg-tertiary: #27272a;--border-primary: #323238;--border-secondary: #222226;--text-contrast: #ffffff;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-disabled: #71717a;--accent-primary: #f4f4f5;--accent-primary-hover: #ffffff;--accent-secondary: #d4d4d8;--accent-tag: #d4d4d8;--code-bg: #18181b;--code-border: #27272a;--dot-color: #52525b;--badge-bg: rgba(255, 255, 255, 0.08);--link-underline: rgba(255, 255, 255, 0.35)}[data-palette="monochrome"][data-theme="light"],:root[data-theme="light"]:not([data-palette]){--bg-primary: #ffffff;--bg-secondary: #f4f4f5;--bg-tertiary: #e4e4e7;--border-primary: #d4d4d8;--border-secondary: #e4e4e7;--text-contrast: #09090b;--text-primary: #18181b;--text-secondary: #52525b;--text-disabled: #71717a;--accent-primary: #18181b;--accent-primary-hover: #09090b;--accent-secondary: #3f3f46;--accent-tag: #3f3f46;--code-bg: #f6f8fa;--code-border: #d0d7de;--dot-color: #71717a;--badge-bg: rgba(0, 0, 0, 0.06);--link-underline: rgba(0, 0, 0, 0.25)}[data-palette="nord"][data-theme="dark"]{--bg-primary: #2e3440;--bg-secondary: #242933;--bg-tertiary: #3b4252;--border-primary: #434c5e;--border-secondary: #3b4252;--text-contrast: #eceff4;--text-primary: #f0f4fc;--text-secondary: #d8dee9;--text-disabled: #707d99;--accent-primary: #88c0d0;--accent-primary-hover: #8fbcbb;--accent-secondary: #81a1c1;--accent-tag: #a3be8c;--code-bg: #242933;--code-border: #3b4252;--dot-color: #6c7a96;--badge-bg: rgba(136, 192, 208, 0.12);--link-underline: rgba(136, 192, 208, 0.4)}[data-palette="nord"][data-theme="light"]{--bg-primary: #eceff4;--bg-secondary: #e5e9f0;--bg-tertiary: #d8dee9;--border-primary: #c2c9d6;--border-secondary: #d8dee9;--text-contrast: #2e3440;--text-primary: #2e3440;--text-secondary: #434c5e;--text-disabled: #616e88;--accent-primary: #5e81ac;--accent-primary-hover: #81a1c1;--accent-secondary: #88c0d0;--accent-tag: #4c7a5d;--code-bg: #eceff4;--code-border: #c8d0de;--dot-color: #7b88a1;--badge-bg: rgba(94, 129, 172, 0.1);--link-underline: rgba(94, 129, 172, 0.35)}[data-palette="warm-amber"][data-theme="dark"]{--bg-primary: #171412;--bg-secondary: #221c18;--bg-tertiary: #2e2620;--border-primary: #3d332a;--border-secondary: #2a221b;--text-contrast: #fff9f2;--text-primary: #f2ebe3;--text-secondary: #baa99b;--text-disabled: #78695d;--accent-primary: #f59e0b;--accent-primary-hover: #fbbf24;--accent-secondary: #d97706;--accent-tag: #10b981;--code-bg: #1e1814;--code-border: #332a22;--dot-color: #6d5b4a;--badge-bg: rgba(245, 158, 11, 0.12);--link-underline: rgba(245, 158, 11, 0.4)}[data-palette="warm-amber"][data-theme="light"]{--bg-primary: #fdfbf7;--bg-secondary: #f5efe6;--bg-tertiary: #ebdcc9;--border-primary: #d6c5b0;--border-secondary: #ebdcc9;--text-contrast: #241a0e;--text-primary: #332415;--text-secondary: #61503e;--text-disabled: #8a7560;--accent-primary: #b45309;--accent-primary-hover: #92400e;--accent-secondary: #d97706;--accent-tag: #059669;--code-bg: #f7f2ea;--code-border: #d6c5b0;--dot-color: #8a7560;--badge-bg: rgba(180, 83, 9, 0.08);--link-underline: rgba(180, 83, 9, 0.35)}[data-palette="orange"][data-theme="dark"],[data-palette="planetscale-orange"][data-theme="dark"]{--bg-primary: #111111;--bg-secondary: #1a1a1a;--bg-tertiary: #242424;--border-primary: #383838;--border-secondary: #2b2b2b;--text-contrast: #ffffff;--text-primary: #f0f0f0;--text-secondary: #a8a8a8;--text-disabled: #707070;--accent-primary: #f35815;--accent-primary-hover: #ff7033;--accent-secondary: #1e9de7;--accent-tag: #22c55e;--code-bg: #161616;--code-border: #282828;--dot-color: #5c5c5c;--badge-bg: rgba(243, 88, 21, 0.12);--link-underline: rgba(30, 157, 231, 0.4)}[data-palette="orange"][data-theme="light"],[data-palette="planetscale-orange"][data-theme="light"]{--bg-primary: #fafafa;--bg-secondary: #f0f0f0;--bg-tertiary: #e5e5e5;--border-primary: #d1d1d1;--border-secondary: #e0e0e0;--text-contrast: #111111;--text-primary: #222222;--text-secondary: #555555;--text-disabled: #888888;--accent-primary: #f35815;--accent-primary-hover: #ff7033;--accent-secondary: #0b6ec5;--accent-tag: #16a34a;--code-bg: #f4f4f4;--code-border: #d1d1d1;--dot-color: #888888;--badge-bg: rgba(243, 88, 21, 0.08);--link-underline: rgba(11, 110, 197, 0.35)}html{scroll-behavior:smooth}[id]{scroll-margin-top:80px}html,body{font-family:ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, "Liberation Mono", monospace !important;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-wrap:pretty;background-color:var(--bg-primary) !important;color:var(--text-primary) !important;transition:background-color 0.15s ease, color 0.15s ease}.content.container,.site-main.container{max-width:1200px;padding:0 24px 64px !important;margin-left:auto !important;margin-right:auto !important;width:100%}main.posts,main.post,.posts{width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important}main.posts>.content,main.posts>h1,main.posts>.post-title,main.posts>.page-title,main.posts>.post-excerpt,main.post>.content,main.post>h1,main.post>.post-title,main.post>.page-title,main.post>.post-excerpt,main.post>article>.post-content,main.post>article,article.post-container,article.post-container .post-content,.post-header,.post-title,h1.page-title,.post-excerpt{margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important}header.site-header{margin-top:24px;margin-bottom:44px;border-bottom:1px solid var(--border-primary);padding-bottom:20px;width:100%;background:var(--bg-primary);position:relative;z-index:100}.site-header .header-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-contrast) !important;font-weight:700;font-size:18px;letter-spacing:-0.01em}.site-brand svg{stroke:var(--accent-primary);width:22px;height:22px}.site-nav .nav-links{display:flex;align-items:center;gap:20px;list-style:none !important;margin:0 !important;padding:0 !important}.site-nav .nav-links li{margin:0 !important;padding:0 !important}.site-nav .nav-links a{color:var(--text-secondary) !important;text-decoration:none !important;font-size:14px;transition:color 0.15s ease}.site-nav .nav-links a:hover{color:var(--text-contrast) !important}.site-nav .nav-links a.active,.site-nav .nav-links a.active:hover{color:var(--accent-primary) !important;font-weight:600}.header-actions{display:flex;align-items:center;gap:16px;font-size:13px}.header-actions .social-links{display:flex;align-items:center;gap:10px;color:var(--text-secondary)}.header-actions .social-links a{color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease}.header-actions .social-links a:hover{color:var(--accent-primary)}.header-actions .social-links .action-sep{color:var(--border-primary)}.mobile-menu-trigger{display:none;background:transparent;border:1px solid var(--border-primary);color:var(--text-primary);padding:4px 8px;border-radius:4px;cursor:pointer}main.layout-split{display:flex;flex-direction:row-reverse;gap:56px;align-items:flex-start;justify-content:flex-end;width:100%;padding:0 !important;margin-bottom:60px}aside.tree-nav{width:240px;flex-shrink:0;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto;font-size:13px;line-height:1.5}aside.tree-nav .toc-title{font-weight:700;color:var(--text-contrast);text-transform:uppercase;font-size:11px;letter-spacing:0.08em;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border-secondary)}aside.tree-nav nav#TableOfContents ul,aside.tree-nav .tree-nav-content ul{list-style:none !important;padding-left:0 !important;margin:0 !important}aside.tree-nav nav#TableOfContents ul li,aside.tree-nav .tree-nav-content ul li{margin-bottom:8px !important;line-height:1.45}aside.tree-nav nav#TableOfContents ul li a,aside.tree-nav .tree-nav-content ul li a{color:var(--text-secondary) !important;text-decoration:none !important;display:block;transition:color 0.15s ease, padding-left 0.15s ease, font-weight 0.15s ease}aside.tree-nav nav#TableOfContents ul li a:hover,aside.tree-nav .tree-nav-content ul li a:hover{color:var(--accent-primary) !important;padding-left:2px}aside.tree-nav nav#TableOfContents ul li a.active,aside.tree-nav .tree-nav-content ul li a.active{color:var(--accent-primary) !important;font-weight:600 !important;padding-left:4px}aside.tree-nav nav#TableOfContents ul li.active-parent>a,aside.tree-nav .tree-nav-content ul li.active-parent>a{color:var(--text-contrast) !important}aside.tree-nav nav#TableOfContents ul li.active-item>a,aside.tree-nav .tree-nav-content ul li.active-item>a{color:var(--accent-primary) !important;font-weight:600 !important;padding-left:4px}aside.tree-nav nav#TableOfContents ul li ul,aside.tree-nav .tree-nav-content ul li ul{padding-left:1.4ch !important;margin-top:6px !important;list-style-type:"- " !important}aside.tree-nav nav#TableOfContents ul li ul li::marker,aside.tree-nav .tree-nav-content ul li ul li::marker{color:var(--text-secondary);transition:color 0.15s ease}aside.tree-nav nav#TableOfContents ul li ul li.active-item::marker,aside.tree-nav .tree-nav-content ul li ul li.active-item::marker{color:var(--accent-primary) !important}article.post-container{flex:1;min-width:0;max-width:780px}.post-title h1,.post-title-text,h1.post-title,h1.page-title{font-family:inherit !important;font-size:2rem !important;line-height:1.25 !important;font-weight:700 !important;letter-spacing:-0.02em;color:var(--text-contrast) !important;margin-top:0 !important;margin-bottom:12px !important}.post-header .post-title,article.post-container .post-title{border-left:2px solid var(--accent-primary) !important;padding-left:16px !important;margin-left:-18px !important;text-indent:-2px;transition:border-color 0.2s ease}.post-meta-line{color:var(--text-secondary) !important;font-size:13.5px !important;margin-bottom:32px !important;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.post-meta-line .author-name{color:var(--text-contrast) !important;font-weight:600;text-decoration:none !important}.post-meta-line .handle{color:var(--text-secondary) !important;text-decoration:none !important}.post-meta-line .handle:hover{color:var(--accent-primary) !important;background:var(--badge-bg)}.post-meta-line .sep{color:var(--border-primary)}.post-meta-line .tag-badge{color:var(--accent-tag) !important}.post-meta-line .tag-badge a{color:inherit !important;text-decoration:none !important}.post-meta-line .tag-badge a:hover{text-decoration:underline !important}.post-lead{font-size:16.5px;line-height:1.6;color:var(--text-contrast);margin-bottom:24px}.post-content h2,.blog-content h2,article h2{font-family:inherit !important;font-size:1.35rem !important;font-weight:700 !important;letter-spacing:-0.015em;color:var(--text-contrast) !important;margin-top:2.8rem !important;margin-bottom:1rem !important;text-decoration:underline !important;text-decoration-thickness:1px !important;text-underline-offset:4px !important;text-decoration-color:var(--border-primary) !important}.post-content h2 a,.blog-content h2 a,article h2 a{color:inherit !important;text-decoration:inherit !important}.post-content h3,.blog-content h3,article h3{font-family:inherit !important;font-size:1.15rem !important;font-weight:700 !important;letter-spacing:-0.01em;color:var(--text-contrast) !important;margin-top:2rem !important;margin-bottom:0.75rem !important}.post-content ul:not(.unstyled):not(.icons):not(.share-icons):not(.toc),.blog-content ul:not(.unstyled){padding-inline-start:1.4em !important;list-style-type:"* " !important;margin-bottom:24px !important}.post-content ul:not(.unstyled):not(.icons):not(.share-icons):not(.toc) li,.blog-content ul:not(.unstyled) li{margin-bottom:0.5rem;line-height:1.6}.post-content ul:not(.unstyled):not(.icons):not(.share-icons):not(.toc) li::marker,.blog-content ul:not(.unstyled) li::marker{color:var(--accent-primary);font-weight:bold}.post-content ol,.blog-content ol{padding-left:3.5ch !important;list-style-position:outside;margin-bottom:24px !important}.post-content ol li,.blog-content ol li{margin-bottom:0.5rem;line-height:1.6}.post-content a:not(.anchor),.blog-content a{color:inherit;text-decoration:underline !important;text-decoration-color:var(--link-underline) !important;text-underline-offset:3px;transition:color 0.15s ease, text-decoration-color 0.15s ease}.post-content a:not(.anchor):hover,.blog-content a:hover{color:var(--accent-primary) !important;text-decoration-color:var(--accent-primary) !important}hr,hr.dot-fill,.post-content hr,.post-summary hr,.home-content-container hr,.post-preview hr,[data-theme="dark"] hr,[data-theme="light"] hr,[data-palette] hr{position:relative;border:none !important;width:100%;height:16px;line-height:1rem;overflow:hidden;margin:2.5rem 0 !important;color:var(--dot-color) !important;background:transparent !important;background-image:none !important;box-shadow:none !important;filter:none !important}hr::before,hr.dot-fill::before,.post-content hr::before,.post-summary hr::before,.home-content-container hr::before,.post-preview hr::before,[data-theme="dark"] hr::before,[data-theme="light"] hr::before,[data-palette] hr::before{content:".......................................................................................................................................................";position:absolute;left:0;right:0;white-space:nowrap;overflow:hidden;letter-spacing:2px}code,pre,kbd{font-family:ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, "Liberation Mono", monospace !important}pre{background-color:var(--code-bg) !important;border:1px solid var(--code-border) !important;border-radius:6px;padding:16px !important;transition:background-color 0.2s ease, border-color 0.2s ease}[data-theme="light"] pre{box-shadow:0 1px 3px rgba(0,0,0,0.05)}:not(pre)>code{background:var(--badge-bg) !important;border:1px solid var(--border-secondary) !important;color:var(--text-contrast) !important;padding:2px 6px !important;border-radius:4px;font-weight:500}[data-theme="light"] :not(pre)>code{background:rgba(0,0,0,0.05) !important;border-color:rgba(0,0,0,0.12) !important;color:#1f2328 !important}footer.site-footer{border-top:1px solid var(--border-primary);padding:40px 0;margin-top:auto;font-size:13px;color:var(--text-secondary);background:var(--bg-primary)}.site-footer .footer-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.site-footer .footer-links{display:flex;gap:16px}.site-footer .footer-links a{color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease}.site-footer .footer-links a:hover{color:var(--accent-primary)}.theme-and-palette-controls,.theme-control-capsule{display:inline-flex;align-items:center;gap:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:9999px;padding:2px 3px;z-index:101;cursor:pointer;user-select:none;transition:border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease}.theme-and-palette-controls.expanded,.theme-control-capsule.expanded{border-color:var(--text-secondary);box-shadow:0 2px 12px rgba(0,0,0,0.1)}.theme-and-palette-controls.expanded .capsule-trigger-btn,.theme-control-capsule.expanded .capsule-trigger-btn{color:var(--text-contrast);background:var(--badge-bg)}.theme-and-palette-controls.expanded .capsule-trigger-btn .capsule-trigger-icon,.theme-control-capsule.expanded .capsule-trigger-btn .capsule-trigger-icon{transform:rotate(15deg)}.theme-and-palette-controls.expanded .capsule-options,.theme-control-capsule.expanded .capsule-options{max-width:240px;opacity:1;pointer-events:auto;margin-right:2px}.theme-and-palette-controls.expanded .theme-capsule-divider,.theme-control-capsule.expanded .theme-capsule-divider{opacity:1;width:1px;margin:0 4px}.theme-and-palette-controls .capsule-trigger-btn:focus-visible,.theme-and-palette-controls .theme-toggle-btn:focus-visible,.theme-and-palette-controls .palette-dot-btn:focus-visible,.theme-control-capsule .capsule-trigger-btn:focus-visible,.theme-control-capsule .theme-toggle-btn:focus-visible,.theme-control-capsule .palette-dot-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.capsule-trigger-btn{background:transparent;border:none;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);outline:none;line-height:1;height:26px;width:26px;min-width:26px;border-radius:9999px;transition:color 0.15s ease, background-color 0.15s ease, transform 0.2s ease}.capsule-trigger-btn:hover{color:var(--text-contrast);background:var(--badge-bg)}.capsule-trigger-btn .capsule-trigger-icon{width:15px;height:15px;display:block;pointer-events:none;transition:transform 0.2s ease}.capsule-options{display:inline-flex;align-items:center;max-width:0;opacity:0;overflow:hidden;pointer-events:none;white-space:nowrap;transition:max-width 0.28s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1),margin 0.25s ease}.theme-capsule-divider{width:0;height:16px;background:var(--border-primary);flex-shrink:0;margin:0;opacity:0;pointer-events:none;transition:opacity 0.2s ease, margin 0.25s ease, width 0.25s ease}.theme-toggle-btn{background:transparent;border:none;padding:0 6px;margin:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);outline:none;line-height:1;height:26px;min-width:28px;border-radius:9999px;transition:color 0.15s ease, background-color 0.15s ease, transform 0.15s ease}.theme-toggle-btn:hover{color:var(--text-contrast);background:var(--badge-bg)}.theme-toggle-btn:hover svg{transform:scale(1.12)}.theme-toggle-btn svg{width:15px;height:15px;display:block;pointer-events:none;transition:transform 0.15s ease}.palette-switcher{display:inline-flex;align-items:center;gap:2px;background:transparent;border:none;padding:0}.palette-dot-btn{background:transparent;border:none;cursor:pointer;height:26px;min-width:24px;padding:0 5px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;outline:none;transition:background-color 0.15s ease, transform 0.15s ease}.palette-dot-btn:hover{background:var(--badge-bg)}.palette-dot-btn:hover .palette-dot{transform:scale(1.25)}.palette-dot-btn.active{background:rgba(125,125,125,0.08)}.palette-dot-btn.active .palette-dot{box-shadow:0 0 0 2px var(--bg-secondary),0 0 0 3.5px var(--accent-primary);transform:scale(1.12)}.palette-dot-btn.active:hover .palette-dot{transform:scale(1.25)}.palette-dot{width:9px;height:9px;border-radius:50%;display:block;pointer-events:none;transition:box-shadow 0.2s ease, transform 0.2s ease}.palette-dot--monochrome{background:#e4e4e7;border:1px solid #71717a}.palette-dot--nord{background:#88c0d0}.palette-dot--warm-amber{background:#f59e0b}.palette-dot--orange,.palette-dot--planetscale-orange{background:#f35815}@media (max-width: 900px){main.layout-split{flex-direction:column}aside.tree-nav{width:100%;position:static;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border-secondary);max-height:none}.post-header .post-title,article.post-container .post-title,main.post>h1,main.post article>h1{margin-left:0 !important;padding-left:12px !important}.site-header .header-inner{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}}@media (max-width: 684px){.site-nav .nav-links{flex-wrap:wrap;gap:12px}.hide-on-phone{display:none !important}}aside.tree-nav{text-align:left !important}aside.tree-nav .toc-title{text-align:left !important}aside.tree-nav nav#TableOfContents,aside.tree-nav .tree-nav-content{text-align:left !important}aside.tree-nav nav#TableOfContents ul,aside.tree-nav nav#TableOfContents li,aside.tree-nav nav#TableOfContents a,aside.tree-nav .tree-nav-content ul,aside.tree-nav .tree-nav-content li,aside.tree-nav .tree-nav-content a{text-align:left !important}.post-excerpt,.post-lead{text-align:left !important;font-size:1.1rem !important;line-height:1.6 !important;color:var(--text-secondary) !important;margin-top:12px !important;margin-bottom:28px !important;max-width:100% !important}strong,b{color:inherit !important;font-weight:700 !important}em,i{color:inherit !important}i.fa-solid,i.fa-regular,i.fa-brands,i.fas,i.far,i.fab{color:inherit}.page-title i,h1.page-title i,.post-title i,.post-title-text i,h1.post-title i,h1.page-title>i,h1.post-title>i,.posts-header h3 i,.section-title i{color:var(--accent-primary) !important;margin-right:8px}.posts-header,.section-title{background:transparent !important;box-shadow:none !important;padding:0 !important;margin-bottom:24px !important;border-bottom:1px solid var(--border-secondary) !important;padding-bottom:8px !important}.posts-header h3,.section-title h3{padding:0 !important;color:var(--text-contrast) !important;font-family:inherit !important;font-weight:700 !important;font-size:1.25rem !important;letter-spacing:-0.01em !important}.posts-header h3 i,.section-title h3 i{color:var(--accent-primary) !important}.post-preview.on-list{margin-bottom:3rem !important;border-bottom:1px solid var(--border-secondary) !important;padding-bottom:2rem !important}.post-preview.on-list .post-title{padding-left:16px !important;border-left:2px solid var(--accent-primary) !important;margin-left:0 !important;line-height:1.35 !important}.post-preview.on-list .post-title .post-meta{display:block !important;line-height:1.45 !important;margin-top:0 !important;margin-bottom:6px !important}.post-preview.on-list .post-title h1{margin-top:0 !important;line-height:1.2 !important}.post-preview.on-list .post-title h1 a{color:var(--text-contrast) !important;text-decoration:underline !important;text-decoration-color:var(--border-primary) !important;text-underline-offset:4px !important}.post-preview.on-list .post-title h1 a:hover{color:var(--accent-primary) !important;text-decoration-color:var(--accent-primary) !important}.post-preview.on-list .post{max-height:none !important;overflow:visible !important;position:static !important}.post-preview.on-list .post::after{display:none !important;content:none !important}.post-preview.on-list .post-summary{font-size:15px !important;line-height:1.65 !important;color:var(--text-primary) !important;margin-top:12px !important;margin-bottom:28px !important;padding:0 !important}.post-preview.on-list .post-summary a.post-summary-link{display:block !important;text-decoration:none !important;color:var(--text-primary) !important;cursor:pointer !important;transition:color 0.15s ease}.post-preview.on-list .post-summary a.post-summary-link:hover,.post-preview.on-list .post-summary a.post-summary-link:focus-visible{text-decoration:none !important}.post-preview.on-list .post-summary a.post-summary-link:hover .post-summary-text,.post-preview.on-list .post-summary a.post-summary-link:focus-visible .post-summary-text{color:var(--text-contrast) !important}.post-preview.on-list .post-summary a.post-summary-link:hover .read-more-link,.post-preview.on-list .post-summary a.post-summary-link:focus-visible .read-more-link{color:var(--accent-primary-hover) !important;text-decoration-color:var(--accent-primary-hover) !important;transform:translateX(3px)}.post-preview.on-list .post-summary a.post-summary-link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px;border-radius:4px}.post-preview.on-list .post-summary .post-summary-text{color:var(--text-primary) !important;line-height:1.65 !important;transition:color 0.15s ease}.post-preview.on-list .post-summary p{margin-bottom:0 !important;color:var(--text-primary) !important;line-height:1.65 !important}.post-preview.on-list .post-summary .read-more-link{color:var(--accent-primary) !important;font-weight:600 !important;text-decoration:underline !important;text-decoration-color:var(--link-underline) !important;text-underline-offset:3px;white-space:nowrap;display:inline-block;margin-left:6px;transition:color 0.15s ease, text-decoration-color 0.15s ease, transform 0.15s ease}.post-preview.on-list .post-summary .read-more-link:hover{color:var(--accent-primary-hover) !important;text-decoration-color:var(--accent-primary-hover) !important;transform:translateX(3px)}.post-preview.on-list .post-summary strong,.post-preview.on-list .post-summary b{color:var(--text-contrast) !important;font-weight:700 !important}.post-preview.on-list .post-summary h2,.post-preview.on-list .post-summary h3,.post-preview.on-list .post-summary h4{color:var(--text-contrast) !important;font-family:inherit !important;margin-top:1.5rem !important;margin-bottom:0.5rem !important}.post-preview.on-list .post-summary h2{font-size:1.25rem !important}.post-preview.on-list .post-summary h3{font-size:1.1rem !important}.post-preview.on-list .post-summary a:not(.read-more-link):not(.post-summary-link){color:inherit !important;text-decoration:underline !important;text-decoration-color:var(--link-underline) !important;text-underline-offset:3px}.post-preview.on-list .post-summary a:not(.read-more-link):not(.post-summary-link):hover{color:var(--accent-primary) !important;text-decoration-color:var(--accent-primary) !important}.post-preview.on-list .post-summary table{width:100%;margin:1.5rem 0;border-collapse:collapse;font-size:13.5px}.post-preview.on-list .post-summary table th,.post-preview.on-list .post-summary table td{border:1px solid var(--border-primary) !important;padding:8px 12px}.post-preview.on-list .post-summary table th{background:var(--bg-secondary) !important;color:var(--text-contrast) !important;font-weight:600}.post-preview.on-list .post-summary table td{background:transparent !important;color:var(--text-primary) !important}.post-preview.on-list .post-summary pre{background-color:var(--code-bg) !important;border:1px solid var(--code-border) !important;border-radius:4px;padding:14px !important}.stuff-container{max-width:780px}.stuff-section-heading{margin-top:40px !important;margin-bottom:20px !important;padding-bottom:8px;border-bottom:1px solid var(--border-primary);font-size:1.35rem !important;font-weight:700 !important;letter-spacing:-0.01em;color:var(--text-contrast) !important;display:flex;align-items:center;gap:10px}.stuff-section-heading:first-of-type{margin-top:10px !important}.project-card{background:var(--bg-secondary) !important;border:1px solid var(--border-primary) !important;border-radius:8px !important;padding:22px 24px;margin-bottom:20px;transition:border-color 0.15s ease, transform 0.15s ease, background-color 0.15s ease}.project-card:hover{border-color:var(--accent-primary) !important;transform:translateY(-1px)}.project-card .project-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px;flex-wrap:wrap}.project-card .project-card-title{margin:0 !important;font-size:1.15rem !important;font-weight:700 !important}.project-card .project-card-title a{color:var(--text-contrast) !important;text-decoration:none !important;transition:color 0.15s ease}.project-card .project-card-title a:hover{color:var(--accent-primary) !important}.project-card .project-card-actions{display:inline-flex;align-items:center;gap:12px}.project-card .project-card-actions a{color:var(--text-secondary) !important;font-size:15px;transition:color 0.15s ease, transform 0.15s ease}.project-card .project-card-actions a:hover{color:var(--accent-primary) !important;transform:scale(1.15)}.project-card .project-card-body{display:flex;gap:24px;align-items:flex-start}@media (max-width: 650px){.project-card .project-card-body{flex-direction:column-reverse}}.project-card .project-card-desc{flex:1;min-width:0}.project-card .project-card-desc p{margin:0 !important;font-size:14px;line-height:1.6;color:var(--text-primary) !important}.project-card .project-card-desc p a{color:var(--accent-primary) !important;text-decoration:underline}.project-card .project-card-desc p a:hover{text-decoration:none}.project-card .project-card-thumb{width:220px;flex-shrink:0}@media (max-width: 650px){.project-card .project-card-thumb{width:100%;max-width:320px}}.project-card .project-card-thumb img{width:100%;height:auto;border-radius:6px;border:1px solid var(--border-secondary);display:block;transition:border-color 0.15s ease, opacity 0.15s ease}.project-card .project-card-thumb img:hover{border-color:var(--accent-primary);opacity:0.92}.home-content-container{max-width:100% !important;margin:0 !important;padding:0 !important}.home-columns-container{display:grid;grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);gap:48px;align-items:start;width:100%}@media (max-width: 1060px){.home-columns-container{gap:32px}}@media (max-width: 900px){.home-columns-container{grid-template-columns:1fr;gap:48px}}.home-posts-col{min-width:0;width:100%}.home-posts-col .main-heading{max-width:100% !important;margin:0 !important}.home-posts-col .posts-list{width:100%}.home-projects-col{min-width:0;width:100%}.home-projects-col .main-heading{max-width:100% !important;margin:0 !important}.home-projects-col .projects-wrapper{display:flex !important;flex-direction:column !important;gap:16px !important;width:100% !important;margin-bottom:0 !important}.home-projects-col .projects-box{width:100% !important;margin:0 !important;padding:18px 20px !important;border-radius:8px !important;position:relative !important;overflow:hidden !important;border:1px solid var(--border-primary) !important;background-color:var(--bg-secondary) !important;transition:border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important}.home-projects-col .projects-box:hover{transform:translateY(-2px);border-color:var(--accent-primary) !important;box-shadow:0 6px 18px rgba(0,0,0,0.08) !important}.home-projects-col .projects-box.with-bg{background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important}.home-projects-col .projects-box.with-bg::before{content:"" !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;z-index:1 !important;transition:background 0.2s ease, backdrop-filter 0.2s ease !important}.home-projects-col .projects-box .projects-box-content{position:relative !important;z-index:2 !important}.home-projects-col .projects-box .projects-box-content h3{margin:0 0 8px 0 !important;font-size:1.15rem !important;font-weight:700 !important;line-height:1.3 !important}.home-projects-col .projects-box .projects-box-content h3 a{color:var(--text-contrast) !important;text-decoration:none !important;transition:color 0.15s ease !important}.home-projects-col .projects-box .projects-box-content h3 a:hover{color:var(--accent-primary) !important}.home-projects-col .projects-box .projects-box-content p{margin:0 !important;font-size:14px !important;line-height:1.6 !important;color:var(--text-primary) !important;text-shadow:0 1px 2px rgba(0,0,0,0.35)}.home-projects-col .projects-box .projects-box-content p a{color:var(--accent-primary) !important;text-decoration:underline !important;text-underline-offset:3px !important;font-weight:500}.home-projects-col .projects-box .projects-box-content p a:hover{color:var(--accent-primary-hover) !important}.home-projects-col .projects-footer-archive{text-align:center;padding:12px 18px;border-radius:6px;margin:16px 0 0 0;width:100%;font-size:14px;font-weight:600;cursor:pointer;transition:background 0.15s ease, border-color 0.15s ease, color 0.15s ease;background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-contrast)}.home-projects-col .projects-footer-archive:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}[data-theme="dark"] .home-projects-col .projects-box.with-bg::before,:root:not([data-theme]) .home-projects-col .projects-box.with-bg::before{background:rgba(12,12,15,0.88) !important;backdrop-filter:blur(8px) !important;-webkit-backdrop-filter:blur(8px) !important}[data-theme="dark"] .home-projects-col .projects-box.with-bg:hover::before,:root:not([data-theme]) .home-projects-col .projects-box.with-bg:hover::before{background:rgba(12,12,15,0.8) !important}[data-theme="light"] .home-projects-col .projects-box.with-bg::before{background:rgba(255,255,255,0.9) !important;backdrop-filter:blur(6px) !important;-webkit-backdrop-filter:blur(6px) !important}[data-theme="light"] .home-projects-col .projects-box.with-bg:hover::before{background:rgba(255,255,255,0.84) !important}.projects-box{background-color:var(--bg-secondary) !important;border:1px solid var(--border-primary) !important;box-shadow:none !important;border-radius:6px !important}.projects-box:hover{border-color:var(--accent-primary) !important;box-shadow:none !important}.me-container{max-width:820px;width:100%}.me-page-header{margin-bottom:24px}.me-identity-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.me-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:500;background:var(--bg-primary);border:1px solid var(--border-secondary);color:var(--text-primary);line-height:1.3}.me-badge i{color:var(--accent-primary);font-size:11px}.me-badge.me-badge-highlight{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--badge-bg);font-weight:600}.me-section-heading{margin-top:36px !important;margin-bottom:18px !important;padding-bottom:8px;border-bottom:1px solid var(--border-primary);font-size:1.35rem !important;font-weight:700 !important;letter-spacing:-0.01em;color:var(--text-contrast) !important;display:flex;align-items:center;gap:10px}.me-section-heading i{color:var(--accent-primary);font-size:1.15rem}.me-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:24px;margin-bottom:20px;transition:border-color 0.15s ease}.me-card p{font-size:15px;line-height:1.65;color:var(--text-primary);margin:0 0 16px}.me-card p:last-child{margin-bottom:0}.me-personal-layout{display:flex;gap:22px;align-items:flex-start;margin-bottom:18px}.me-personal-layout .me-personal-photo{width:220px;flex-shrink:0;border-radius:8px;overflow:hidden;border:1px solid var(--border-primary);box-shadow:0 4px 14px rgba(0,0,0,0.08);background:var(--bg-primary)}.me-personal-layout .me-personal-photo img{width:100%;height:auto;display:block;object-fit:cover}.me-personal-layout .me-personal-bio{flex:1;min-width:0}.me-personal-layout .me-personal-bio p:first-child{margin-top:0}.me-personal-layout .me-personal-bio p:last-child{margin-bottom:0}.me-timeline{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.me-timeline-item{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:18px 20px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;transition:border-color 0.15s ease}.me-timeline-item:hover{border-color:var(--accent-primary)}.me-timeline-item.me-timeline-item-featured{border-color:var(--accent-primary);box-shadow:0 2px 10px rgba(0,0,0,0.05)}.me-timeline-item .me-timeline-main{flex:1;min-width:0}.me-timeline-item .me-timeline-header{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.me-timeline-item .me-timeline-company{font-size:1.1rem;font-weight:700;color:var(--text-contrast)}.me-timeline-item .me-timeline-company a{color:inherit !important;text-decoration:none !important}.me-timeline-item .me-timeline-company a:hover{color:var(--accent-primary) !important}.me-timeline-item .me-timeline-badge{font-size:11px;padding:2px 8px;border-radius:9999px;font-weight:600;background:var(--bg-secondary);border:1px solid var(--border-secondary);color:var(--text-secondary)}.me-timeline-item .me-timeline-badge.me-timeline-current{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--badge-bg);font-weight:700}.me-timeline-item .me-timeline-role{font-size:13.5px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.me-timeline-item .me-timeline-desc{font-size:13.5px;line-height:1.55;color:var(--text-primary);margin:0}.me-timeline-item .me-timeline-desc a{color:var(--accent-primary);text-decoration:underline}.me-timeline-item .me-timeline-desc code{font-size:12px;padding:2px 5px;border-radius:4px;background:var(--code-bg);border:1px solid var(--code-border)}.me-timeline-item .me-timeline-thumb{width:80px;flex-shrink:0;text-align:center}.me-timeline-item .me-timeline-thumb img{width:100%;height:100px;object-fit:cover;border-radius:6px;border:1px solid var(--border-secondary);box-shadow:0 2px 8px rgba(0,0,0,0.08);display:block}.me-timeline-item .me-timeline-thumb .me-timeline-thumb-caption{font-size:10px;color:var(--text-secondary);margin-top:4px;display:block}.me-skills-matrix{display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:14px;margin:20px 0 10px}.me-skills-matrix .me-skills-group{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:16px}.me-skills-matrix .me-skills-group .me-skills-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-contrast);margin-bottom:10px;display:flex;align-items:center;gap:6px}.me-skills-matrix .me-skills-group .me-skills-title i{color:var(--accent-primary)}.me-skills-matrix .me-skills-group .me-skills-chips{display:flex;flex-wrap:wrap;gap:6px}.me-skills-matrix .me-skills-group .me-chip{font-size:12px;padding:3px 8px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border-secondary);color:var(--text-primary)}.me-skills-matrix .me-skills-group .me-chip.me-chip-highlight{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--badge-bg);font-weight:600}.me-social-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(170px, 1fr));gap:12px;margin:18px 0}.me-social-grid .me-social-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;text-decoration:none !important;color:var(--text-contrast) !important;transition:border-color 0.15s ease, transform 0.15s ease}.me-social-grid .me-social-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);color:var(--accent-primary) !important}.me-social-grid .me-social-card i{font-size:20px;color:var(--accent-primary);width:24px;text-align:center;flex-shrink:0}.me-social-grid .me-social-card .me-social-info{flex:1;min-width:0}.me-social-grid .me-social-card .me-social-name{font-size:13px;font-weight:600;line-height:1.2}.me-social-grid .me-social-card .me-social-handle{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-social-grid .me-social-card .me-social-arrow{font-size:11px;color:var(--text-secondary)}.me-callout{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:var(--bg-primary);border-left:3px solid var(--accent-primary);border-radius:0 8px 8px 0;margin-top:16px}.me-callout i{color:var(--accent-primary);font-size:16px;margin-top:2px;flex-shrink:0}.me-callout p{margin:0 !important;font-size:13.5px !important;line-height:1.55 !important}.me-all-projects-cta{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;margin-top:16px;background:var(--bg-primary);border:1px dashed var(--border-primary);border-radius:8px;text-decoration:none !important;color:var(--text-contrast) !important;transition:all 0.15s ease}.me-all-projects-cta:hover{border-color:var(--accent-primary);border-style:solid;color:var(--accent-primary) !important;background:var(--bg-secondary)}.me-all-projects-cta .me-cta-text{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px}.me-all-projects-cta .me-cta-text i{color:var(--accent-primary)}.me-all-projects-cta .me-cta-arrow{font-size:12px}.me-displate-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));gap:16px;margin-top:20px}.me-displate-grid .me-displate-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none !important;transition:border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease}.me-displate-grid .me-displate-card:hover{border-color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.12)}.me-displate-grid .me-displate-card:hover .me-displate-img{transform:scale(1.04);box-shadow:0 6px 20px rgba(0,0,0,0.5)}.me-displate-grid .me-displate-card .me-displate-media{height:250px;overflow:hidden;position:relative;background:rgba(0,0,0,0.12);display:flex;align-items:center;justify-content:center;padding:12px}.me-displate-grid .me-displate-card .me-displate-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,0.35);transition:transform 0.25s ease, box-shadow 0.25s ease}.me-displate-grid .me-displate-card .me-displate-badge{position:absolute;top:8px;right:8px;background:rgba(0,0,0,0.75);color:#fff;font-size:10px;font-weight:600;padding:3px 7px;border-radius:4px;backdrop-filter:blur(4px);letter-spacing:0.03em;z-index:2}.me-displate-grid .me-displate-card .me-displate-footer{padding:12px 14px;background:var(--bg-secondary);border-top:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center;gap:8px;flex:1}.me-displate-grid .me-displate-card .me-displate-footer .me-displate-title{font-size:12px;font-weight:600;color:var(--text-contrast);line-height:1.35}.me-displate-grid .me-displate-card .me-displate-footer .me-displate-link-icon{font-size:11px;color:var(--accent-primary);flex-shrink:0}@media (max-width: 650px){.me-card{padding:18px}.me-personal-layout{flex-direction:column;align-items:center}.me-personal-layout .me-personal-photo{width:180px;margin-bottom:6px}.me-timeline-item{flex-direction:column}.me-timeline-item .me-timeline-thumb{width:100%;max-width:100px;margin-top:6px}.me-timeline-item .me-timeline-thumb img{height:100px}}.site-main,.site-main.container,.container,main,main.posts,main.post,article,article.post-container,.post-content,.blog-content,.content,.post,.post-summary,.posts-group,.main-wrapper,.main-box,.post-excerpt,.post-lead,.page-title,.post-title,.post-title-text,p,li,blockquote{text-align:left !important}.main-box,.posts-group,.main-wrapper,.shop-box,.links-box{background:transparent !important;box-shadow:none !important;border:none !important;padding:0 !important;margin-left:0 !important;margin-right:0 !important}.main-box h2{font-family:inherit !important;font-size:1.35rem !important;font-weight:700 !important;letter-spacing:-0.01em !important;color:var(--text-contrast) !important;border-bottom:1px solid var(--border-secondary) !important;padding-bottom:8px !important;margin-top:36px !important;margin-bottom:16px !important}.posts-list{list-style:none !important;padding:0 !important;margin:0 !important}.post-item{border-bottom:1px dashed var(--border-secondary) !important;padding:10px 4px !important;transition:background-color 0.15s ease}.post-item:hover{background-color:var(--badge-bg) !important}[data-theme=dark] .post-item:hover{background:var(--badge-bg) !important}.post-item a{display:flex;justify-content:space-between;align-items:baseline;width:100%;color:var(--text-primary) !important;text-decoration:none !important}.post-item a:hover{color:var(--accent-primary) !important}.post-item .post-title-with-reading-time{display:inline-flex;align-items:baseline;gap:10px;flex:1;min-width:0}.post-item .post-title{color:var(--text-contrast) !important;font-weight:500}.post-item .reading-time{color:var(--text-secondary) !important;font-size:0.85em;font-style:italic;white-space:nowrap}.post-item .post-day{color:var(--text-secondary) !important;font-size:0.85em;font-family:monospace;white-space:nowrap;margin-left:16px}.links-wrapper{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:28px;margin-top:24px}.links-box{background:transparent !important;padding:0 !important;box-shadow:none !important;border:none !important}.links-box h2{font-size:1.2rem !important;font-weight:700 !important;color:var(--text-contrast) !important;border-bottom:1px solid var(--border-secondary) !important;padding-bottom:8px !important;margin-bottom:14px !important}.links-box ul{list-style:none !important;padding-left:0 !important;margin:0 !important}.links-box ul li{display:flex;justify-content:space-between;align-items:center;padding:7px 4px !important;border-bottom:1px dashed var(--border-secondary) !important}.links-box ul li a{color:var(--text-primary) !important;text-decoration:none !important}.links-box ul li a:hover{color:var(--accent-primary) !important}.links-box ul li a.fa-rss{color:var(--text-secondary) !important;margin-left:auto}.links-box ul li a.fa-rss:hover{color:var(--accent-primary) !important}p a,.content a,.post-content a:not(.anchor),.blog-content a,.post-excerpt a,.post-summary a:not(.post-summary-link),.project-card-desc a,.projects-box a:not(.project-icons a),.projects-box-content p a{color:var(--accent-primary) !important;text-decoration:underline !important;text-decoration-color:var(--link-underline) !important;text-underline-offset:3px}p a:hover,.content a:hover,.post-content a:not(.anchor):hover,.blog-content a:hover,.post-excerpt a:hover,.post-summary a:not(.post-summary-link):hover,.project-card-desc a:hover,.projects-box a:not(.project-icons a):hover,.projects-box-content p a:hover{color:var(--accent-primary-hover) !important;text-decoration-color:var(--accent-primary-hover) !important}.post-item a,.posts-list a,.site-brand,.site-nav a,.social-links a,.tree-nav a,.project-card-title a,.projects-box h3 a,.links-box h2 a{text-decoration:none !important}.project-icons a i,.project-card-actions a i{color:var(--text-secondary) !important;transition:color 0.15s ease}.project-icons a:hover i,.project-card-actions a:hover i{color:var(--accent-primary) !important}.prompt-outer{position:relative;display:flex !important;align-items:center;justify-content:center;background-size:cover !important;background-repeat:no-repeat !important;background-position:center !important;border-radius:14px !important;overflow:hidden;padding:56px 28px !important;margin:28px 0 36px 0 !important;border:1px solid var(--border-secondary) !important;box-shadow:0 4px 24px rgba(0,0,0,0.08) !important}@media (max-width: 768px){.prompt-outer{padding:36px 16px !important;margin:20px 0 28px 0 !important}}.prompt-outer article{width:100%;max-width:860px;display:flex;justify-content:center;margin:0 auto !important;padding:0 !important}.prompt-box{width:100%;max-width:840px;margin:0 auto !important;padding:2.25rem 2.75rem !important;border-radius:12px !important;text-align:center !important;backdrop-filter:blur(20px) saturate(180%) !important;-webkit-backdrop-filter:blur(20px) saturate(180%) !important;transition:all 0.2s ease-in-out}@media (max-width: 768px){.prompt-box{padding:1.5rem 1.25rem !important;border-radius:10px !important}}.prompt-box h2{font-family:inherit !important;font-size:clamp(1.25rem, 2.8vw, 1.75rem) !important;font-weight:600 !important;letter-spacing:-0.015em !important;line-height:1.45 !important;text-decoration:none !important;border:none !important;margin:0 !important;padding:0 !important;text-align:center !important}[data-theme="light"] .prompt-box{background:rgba(255,255,255,0.94) !important;border:1px solid rgba(255,255,255,0.85) !important;box-shadow:0 16px 36px rgba(0,0,0,0.22),0 2px 8px rgba(0,0,0,0.06) !important}[data-theme="light"] .prompt-box h2{color:#09090b !important}[data-theme="dark"] .prompt-box,:root:not([data-theme]) .prompt-box{background:rgba(18,18,20,0.85) !important;border:1px solid rgba(255,255,255,0.14) !important;box-shadow:0 20px 48px rgba(0,0,0,0.55),0 2px 8px rgba(0,0,0,0.3) !important}[data-theme="dark"] .prompt-box h2,:root:not([data-theme]) .prompt-box h2{color:#ffffff !important}.pagination__buttons{display:flex !important;align-items:center;justify-content:space-between;width:100% !important;gap:16px;margin-top:16px}@media (max-width: 640px){.pagination__buttons{flex-direction:column;align-items:stretch}}.pagination .button,.series-header .button{position:relative;display:inline-flex !important;flex:1 1 0%;min-width:0;max-width:calc(50% - 8px) !important;align-items:center;justify-content:center;font-size:0.9rem !important;font-weight:500 !important;border-radius:8px !important;padding:0 !important;cursor:pointer;appearance:none;transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;background:var(--bg-secondary) !important;border:1px solid var(--border-secondary) !important;color:var(--text-primary) !important;box-shadow:0 1px 3px rgba(0,0,0,0.05) !important}.pagination .button:only-child,.series-header .button:only-child{max-width:50% !important}.pagination .button.next:only-child,.series-header .button.next:only-child{margin-left:auto !important}@media (max-width: 640px){.pagination .button,.series-header .button{max-width:100% !important;width:100% !important}}.pagination .button:hover,.series-header .button:hover{background:var(--bg-tertiary) !important;border-color:var(--border-primary) !important;color:var(--text-contrast) !important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.08) !important}.pagination .button a,.series-header .button a{display:flex !important;align-items:center;padding:12px 18px !important;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:inherit !important;text-decoration:none !important;gap:10px;width:100%}.pagination .button__icon,.series-header .button__icon{font-size:1.1rem;line-height:1;color:var(--text-secondary) !important;transition:transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);display:inline-block;flex-shrink:0}.pagination .button:hover .button__icon,.series-header .button:hover .button__icon{color:var(--text-contrast) !important}.pagination .button.next:hover .button__icon,.series-header .button.next:hover .button__icon{transform:translateX(3px)}.pagination .button.previous:hover .button__icon,.series-header .button.previous:hover .button__icon{transform:translateX(-3px)}pre.chroma,.highlight pre{background-color:var(--code-bg) !important;border:1px solid var(--code-border) !important;border-radius:6px;padding:16px !important;line-height:1.55;overflow-x:auto}[data-theme="light"] pre.chroma,[data-theme="light"] .highlight pre{box-shadow:0 1px 3px rgba(0,0,0,0.05)}.chroma{background-color:transparent !important}:root .bg,[data-theme="dark"] .bg{color:#d8dee9}:root .chroma,[data-theme="dark"] .chroma{color:#d8dee9}:root .chroma .err,[data-theme="dark"] .chroma .err{color:#bf616a}:root .chroma .lnlinks,[data-theme="dark"] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root .chroma .lntd,[data-theme="dark"] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .lntable,[data-theme="dark"] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root .chroma .hl,[data-theme="dark"] .chroma .hl{background-color:#424853}:root .chroma .lnt,[data-theme="dark"] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74}:root .chroma .ln,[data-theme="dark"] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74}:root .chroma .line,[data-theme="dark"] .chroma .line{display:flex}:root .chroma .k,[data-theme="dark"] .chroma .k{color:#81a1c1;font-weight:bold}:root .chroma .kc,[data-theme="dark"] .chroma .kc{color:#81a1c1;font-weight:bold}:root .chroma .kd,[data-theme="dark"] .chroma .kd{color:#81a1c1;font-weight:bold}:root .chroma .kn,[data-theme="dark"] .chroma .kn{color:#81a1c1;font-weight:bold}:root .chroma .kp,[data-theme="dark"] .chroma .kp{color:#81a1c1}:root .chroma .kr,[data-theme="dark"] .chroma .kr{color:#81a1c1;font-weight:bold}:root .chroma .kt,[data-theme="dark"] .chroma .kt{color:#81a1c1}:root .chroma .na,[data-theme="dark"] .chroma .na{color:#8fbcbb}:root .chroma .nc,[data-theme="dark"] .chroma .nc{color:#8fbcbb}:root .chroma .no,[data-theme="dark"] .chroma .no{color:#8fbcbb}:root .chroma .nd,[data-theme="dark"] .chroma .nd{color:#d08770}:root .chroma .ni,[data-theme="dark"] .chroma .ni{color:#d08770}:root .chroma .ne,[data-theme="dark"] .chroma .ne{color:#bf616a}:root .chroma .nl,[data-theme="dark"] .chroma .nl{color:#8fbcbb}:root .chroma .nn,[data-theme="dark"] .chroma .nn{color:#8fbcbb}:root .chroma .py,[data-theme="dark"] .chroma .py{color:#8fbcbb}:root .chroma .nt,[data-theme="dark"] .chroma .nt{color:#81a1c1}:root .chroma .nb,[data-theme="dark"] .chroma .nb{color:#81a1c1}:root .chroma .bp,[data-theme="dark"] .chroma .bp{color:#81a1c1}:root .chroma .nf,[data-theme="dark"] .chroma .nf{color:#88c0d0}:root .chroma .fm,[data-theme="dark"] .chroma .fm{color:#88c0d0}:root .chroma .s,[data-theme="dark"] .chroma .s{color:#a3be8c}:root .chroma .sa,[data-theme="dark"] .chroma .sa{color:#a3be8c}:root .chroma .sb,[data-theme="dark"] .chroma .sb{color:#a3be8c}:root .chroma .sc,[data-theme="dark"] .chroma .sc{color:#a3be8c}:root .chroma .dl,[data-theme="dark"] .chroma .dl{color:#a3be8c}:root .chroma .sd,[data-theme="dark"] .chroma .sd{color:#616e87}:root .chroma .s2,[data-theme="dark"] .chroma .s2{color:#a3be8c}:root .chroma .se,[data-theme="dark"] .chroma .se{color:#ebcb8b}:root .chroma .sh,[data-theme="dark"] .chroma .sh{color:#a3be8c}:root .chroma .si,[data-theme="dark"] .chroma .si{color:#a3be8c}:root .chroma .sx,[data-theme="dark"] .chroma .sx{color:#a3be8c}:root .chroma .sr,[data-theme="dark"] .chroma .sr{color:#ebcb8b}:root .chroma .s1,[data-theme="dark"] .chroma .s1{color:#a3be8c}:root .chroma .ss,[data-theme="dark"] .chroma .ss{color:#a3be8c}:root .chroma .m,[data-theme="dark"] .chroma .m{color:#b48ead}:root .chroma .mb,[data-theme="dark"] .chroma .mb{color:#b48ead}:root .chroma .mf,[data-theme="dark"] .chroma .mf{color:#b48ead}:root .chroma .mh,[data-theme="dark"] .chroma .mh{color:#b48ead}:root .chroma .mi,[data-theme="dark"] .chroma .mi{color:#b48ead}:root .chroma .il,[data-theme="dark"] .chroma .il{color:#b48ead}:root .chroma .mo,[data-theme="dark"] .chroma .mo{color:#b48ead}:root .chroma .o,[data-theme="dark"] .chroma .o{color:#81a1c1}:root .chroma .ow,[data-theme="dark"] .chroma .ow{color:#81a1c1;font-weight:bold}:root .chroma .p,[data-theme="dark"] .chroma .p{color:#eceff4}:root .chroma .c,[data-theme="dark"] .chroma .c{color:#616e87;font-style:italic}:root .chroma .ch,[data-theme="dark"] .chroma .ch{color:#616e87;font-style:italic}:root .chroma .cm,[data-theme="dark"] .chroma .cm{color:#616e87;font-style:italic}:root .chroma .c1,[data-theme="dark"] .chroma .c1{color:#616e87;font-style:italic}:root .chroma .cs,[data-theme="dark"] .chroma .cs{color:#616e87;font-style:italic}:root .chroma .cp,[data-theme="dark"] .chroma .cp{color:#5e81ac;font-style:italic}:root .chroma .cpf,[data-theme="dark"] .chroma .cpf{color:#5e81ac;font-style:italic}:root .chroma .gd,[data-theme="dark"] .chroma .gd{color:#bf616a}:root .chroma .ge,[data-theme="dark"] .chroma .ge{font-style:italic}:root .chroma .gr,[data-theme="dark"] .chroma .gr{color:#bf616a}:root .chroma .gh,[data-theme="dark"] .chroma .gh{color:#88c0d0;font-weight:bold}:root .chroma .gi,[data-theme="dark"] .chroma .gi{color:#a3be8c}:root .chroma .gp,[data-theme="dark"] .chroma .gp{color:#4c566a;font-weight:bold}:root .chroma .gs,[data-theme="dark"] .chroma .gs{font-weight:bold}:root .chroma .gu,[data-theme="dark"] .chroma .gu{color:#88c0d0;font-weight:bold}:root .chroma .gt,[data-theme="dark"] .chroma .gt{color:#bf616a}[data-theme="light"] .bg{color:#1f2328}[data-theme="light"] .chroma{color:#1f2328}[data-theme="light"] .chroma .err{color:#f6f8fa;background-color:#82071e}[data-theme="light"] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}[data-theme="light"] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-theme="light"] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}[data-theme="light"] .chroma .hl{background-color:#e5e5e5}[data-theme="light"] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}[data-theme="light"] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}[data-theme="light"] .chroma .line{display:flex}[data-theme="light"] .chroma .k{color:#cf222e}[data-theme="light"] .chroma .kc{color:#cf222e}[data-theme="light"] .chroma .kd{color:#cf222e}[data-theme="light"] .chroma .kn{color:#cf222e}[data-theme="light"] .chroma .kp{color:#cf222e}[data-theme="light"] .chroma .kr{color:#cf222e}[data-theme="light"] .chroma .kt{color:#cf222e}[data-theme="light"] .chroma .na{color:#1f2328}[data-theme="light"] .chroma .nc{color:#1f2328}[data-theme="light"] .chroma .no{color:#0550ae}[data-theme="light"] .chroma .nd{color:#0550ae}[data-theme="light"] .chroma .ni{color:#6639ba}[data-theme="light"] .chroma .nl{color:#900;font-weight:bold}[data-theme="light"] .chroma .nn{color:#24292e}[data-theme="light"] .chroma .nx{color:#1f2328}[data-theme="light"] .chroma .nt{color:#0550ae}[data-theme="light"] .chroma .nb{color:#6639ba}[data-theme="light"] .chroma .bp{color:#6a737d}[data-theme="light"] .chroma .nv{color:#953800}[data-theme="light"] .chroma .vc{color:#953800}[data-theme="light"] .chroma .vg{color:#953800}[data-theme="light"] .chroma .vi{color:#953800}[data-theme="light"] .chroma .vm{color:#953800}[data-theme="light"] .chroma .nf{color:#6639ba}[data-theme="light"] .chroma .fm{color:#6639ba}[data-theme="light"] .chroma .s{color:#0a3069}[data-theme="light"] .chroma .sa{color:#0a3069}[data-theme="light"] .chroma .sb{color:#0a3069}[data-theme="light"] .chroma .sc{color:#0a3069}[data-theme="light"] .chroma .dl{color:#0a3069}[data-theme="light"] .chroma .sd{color:#0a3069}[data-theme="light"] .chroma .s2{color:#0a3069}[data-theme="light"] .chroma .se{color:#0a3069}[data-theme="light"] .chroma .sh{color:#0a3069}[data-theme="light"] .chroma .si{color:#0a3069}[data-theme="light"] .chroma .sx{color:#0a3069}[data-theme="light"] .chroma .sr{color:#0a3069}[data-theme="light"] .chroma .s1{color:#0a3069}[data-theme="light"] .chroma .ss{color:#032f62}[data-theme="light"] .chroma .m{color:#0550ae}[data-theme="light"] .chroma .mb{color:#0550ae}[data-theme="light"] .chroma .mf{color:#0550ae}[data-theme="light"] .chroma .mh{color:#0550ae}[data-theme="light"] .chroma .mi{color:#0550ae}[data-theme="light"] .chroma .il{color:#0550ae}[data-theme="light"] .chroma .mo{color:#0550ae}[data-theme="light"] .chroma .o{color:#0550ae}[data-theme="light"] .chroma .ow{color:#0550ae}[data-theme="light"] .chroma .p{color:#1f2328}[data-theme="light"] .chroma .c{color:#57606a}[data-theme="light"] .chroma .ch{color:#57606a}[data-theme="light"] .chroma .cm{color:#57606a}[data-theme="light"] .chroma .c1{color:#57606a}[data-theme="light"] .chroma .cs{color:#57606a}[data-theme="light"] .chroma .cp{color:#57606a}[data-theme="light"] .chroma .cpf{color:#57606a}[data-theme="light"] .chroma .gd{color:#82071e;background-color:#ffebe9}[data-theme="light"] .chroma .ge{color:#1f2328}[data-theme="light"] .chroma .gi{color:#116329;background-color:#dafbe1}[data-theme="light"] .chroma .go{color:#1f2328}[data-theme="light"] .chroma .gl{text-decoration:underline}[data-theme="light"] .chroma .w{color:#fff}

/*# sourceMappingURL=style.css.map */