:root{--bg: #f5ebe0;--bg-2: #efe4d6;--text: #5c5347;--text-muted: #6f6257;--accent: #8b5a3c;--accent-strong: #c49a6c;--accent-mid: #a67c52;--accent-soft: rgba(139,90,60,0.2)}html[data-theme="dark"]{--bg: #1c1c1e;--bg-2: #2c2c2e;--text: #e5e5e7;--text-muted: #9e9ea4;--accent: #64b5f6;--accent-strong: #22d3ee;--accent-mid: #38bdf8;--accent-soft: rgba(100,181,246,0.2)}.rounded-social-buttons{text-align:center}.rounded-social-buttons .social-button{display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;width:2.5rem;height:2.5rem;border:none;padding:0;text-decoration:none;text-align:center;font-size:1.25rem;font-weight:normal;line-height:2.5rem;border-radius:50%;transition:transform 0.2s ease, opacity 0.2s ease;margin:0 0.4rem;background:transparent}.rounded-social-buttons .social-button:hover,.rounded-social-buttons .social-button:focus{transform:translateY(-3px);opacity:0.8}.rounded-social-buttons .social-button svg{display:block;width:25px;height:25px;fill:currentColor}.rounded-social-buttons .social-button{color:var(--text)}.rounded-social-buttons .social-button:hover,.rounded-social-buttons .social-button:focus{color:var(--accent)}.profile{border:none;margin-left:1rem;margin-right:1rem;margin-bottom:1rem;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.15)}[data-theme="dark"] .profile{box-shadow:0 4px 20px rgba(0,0,0,0.4)}.left{float:left}.right{float:right}@media screen and (max-width: 450px) and (max-width: 450px){.profile{width:40%}}footer{clear:both;margin-top:auto;padding-top:2em;max-width:800px;margin-left:auto;margin-right:auto;width:100%}.links-wrapper{display:flex;justify-content:center;align-items:center;gap:0.6em;margin:1.2em 0}.links{display:inline-block;padding:0.6em 1.2em;border-radius:20px;background:rgba(255,255,255,0.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.08);position:relative;box-shadow:0 4px 24px rgba(0,0,0,0.06),0 0 40px color-mix(in srgb, var(--accent-mid) 4%, transparent),inset 0 1px 0 rgba(255,255,255,0.1);transition:box-shadow 0.4s ease, transform 0.3s ease}@media screen and (max-width: 450px){.links{padding:0.5em 0.9em;font-size:0.92em}}.links:hover{box-shadow:0 8px 32px rgba(0,0,0,0.08),0 0 60px color-mix(in srgb, var(--accent-mid) 8%, transparent),inset 0 1px 0 rgba(255,255,255,0.15);transform:translateY(-1px)}[data-theme="light"] .links{background:rgba(255,255,255,0.4);border:1px solid color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:0 4px 24px color-mix(in srgb, var(--accent) 6%, transparent),0 0 40px color-mix(in srgb, var(--accent) 3%, transparent),inset 0 1px 0 rgba(255,255,255,0.6)}[data-theme="light"] .links:hover{box-shadow:0 8px 32px color-mix(in srgb, var(--accent) 10%, transparent),0 0 60px color-mix(in srgb, var(--accent) 6%, transparent),inset 0 1px 0 rgba(255,255,255,0.8)}.links>a,.nav-dropdown-toggle{position:relative;padding-bottom:2px;transition:transform 0.2s ease, text-shadow 0.2s ease}.links>a{margin-right:1em}@media screen and (max-width: 450px){.links>a{margin-right:0.7em}}.links>a:hover,.nav-dropdown-toggle:hover{transform:scale(1.05)}.links>a::after,.nav-dropdown-toggle::after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width 0.3s ease}.links>a:hover::after,.links>a[aria-current="page"]::after,.nav-dropdown-toggle:hover::after{width:100%}.links>a[aria-current="page"]{color:var(--text);font-weight:600}.nav-dropdown{display:inline-block}.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:0.3em;padding:0 0 2px;border:none;background:none;cursor:pointer;color:var(--accent);font:inherit}.nav-dropdown-toggle:hover{color:var(--text)}.nav-dropdown-toggle[aria-expanded="true"] .nav-dropdown-caret{transform:rotate(180deg)}.nav-dropdown-caret{transition:transform 0.2s ease}@keyframes nav-dropdown-in{from{opacity:0;transform:translateX(-50%) translateY(-6px) scale(0.97)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@keyframes nav-dropdown-out{from{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}to{opacity:0;transform:translateX(-50%) translateY(-6px) scale(0.97)}}.nav-dropdown-menu{position:fixed;z-index:1000;min-width:9em;padding:0.35em;border-radius:12px;transform:translateX(-50%);background:rgba(30,30,34,0.75);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);box-shadow:0 12px 40px rgba(0,0,0,0.35),0 0 30px color-mix(in srgb, var(--accent-mid) 8%, transparent),inset 0 1px 0 rgba(255,255,255,0.1);animation:nav-dropdown-in 0.16s ease-out both}.nav-dropdown-menu.closing{animation:nav-dropdown-out 0.14s ease-in both}[data-theme="light"] .nav-dropdown-menu{background:rgba(255,255,255,0.78);border-color:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:0 12px 40px color-mix(in srgb, var(--accent) 18%, transparent),0 0 30px color-mix(in srgb, var(--accent-strong) 10%, transparent),inset 0 1px 0 rgba(255,255,255,0.7)}.nav-dropdown-menu a{display:block;padding:0.45em 0.9em;border-radius:8px;white-space:nowrap;transition:transform 0.18s ease, background 0.18s ease, color 0.18s ease}.nav-dropdown-menu a:hover{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text)}.nav-dropdown-menu a::after{display:none}.local-time{position:fixed;top:1.1em;right:1.2em;z-index:900;font-size:0.9em;opacity:0.8;margin:0;font-variant-numeric:tabular-nums}@media screen and (max-width: 600px){.local-time{position:absolute;top:1.2em;right:1em;font-size:0.72em;opacity:0.65}}html{height:100%;overflow-x:hidden;background-color:var(--bg)}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;margin:0;line-height:1.58;font-size:17px;color:var(--text);padding:3em 1.5em;text-rendering:optimizeLegibility;min-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;transition:background-color 0.3s ease, color 0.3s ease}body::before{content:"";position:fixed;top:-100vh;bottom:-100vh;left:0;right:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg, var(--bg) 0%, var(--bg) 33.33%, var(--bg-2) 66.67%, var(--bg-2) 100%)}main{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:800px;margin:0 auto;width:100%}header{text-align:center}@media screen and (max-width: 600px){header{padding-top:3.6em}}article{text-align:center}article p{max-width:600px;margin-left:auto;margin-right:auto;margin-bottom:1.5em}.article-preview p:not(.post-meta){text-align:left}h1,h2,h3,h4,h5,h6{font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;line-height:1.4;letter-spacing:-0.01em;margin:0 0 0.5em 0;text-transform:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--text)}p a{position:relative}p a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width 0.3s ease}p a:hover::after{width:100%}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.command-palette-input:focus-visible{box-shadow:inset 0 -2px 0 var(--accent)}.skip-link{position:fixed;top:0.75em;left:50%;z-index:3000;transform:translate(-50%, -300%);padding:0.5em 1em;border-radius:10px;font-weight:600;transition:transform 0.2s ease}.skip-link:focus-visible{transform:translate(-50%, 0)}.skip-link{color:var(--bg);background:var(--accent)}figure{margin:0}img{max-width:100%}pre,code{font-family:ui-monospace,SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace;font-size:0.85em}pre{overflow:auto;padding:1em 1.2em;border-radius:8px}code{padding:0.15em 0.4em;border-radius:4px}pre code{padding:0;font-size:1em}blockquote{border-left:2px solid var(--accent);padding-left:1em;font-family:Georgia, Times, Times New Roman, serif;font-size:15.3px;font-style:italic}.headline,.post-headline{font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;font-size:3.2em;font-weight:700;letter-spacing:-0.03em;margin-bottom:0.15em;line-height:1.1;text-align:center}@media screen and (max-width: 660px){.headline,.post-headline{font-size:2.4em}}.post-headline{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-mid) 25%, var(--accent-strong) 50%, var(--accent-mid) 75%, var(--accent) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 4s ease 1;text-shadow:0 0 40px color-mix(in srgb, var(--accent) 30%, transparent)}[data-theme="dark"] .post-headline{text-shadow:0 0 18px color-mix(in srgb, var(--accent-mid) 55%, transparent),0 0 42px color-mix(in srgb, var(--accent-mid) 40%, transparent)}@keyframes gradient-shift{0%{background-position:0% center}50%{background-position:100% center}100%{background-position:0% center}}.post-description{margin-top:0;margin-bottom:1.2em;text-align:center}.project-headline{font-size:2em;margin-top:2em;margin-bottom:2em;text-align:center}@media screen and (max-width: 660px){.project-headline{font-size:2em}}.project-preview{margin:2em 2em}.cta-buttons a{padding:0.7em 1.6em;border-radius:20px;display:inline-block;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;color:var(--text);border:1px solid var(--accent-soft);background:rgba(255,255,255,0.4)}.cta-buttons a:hover{transform:translateY(-2px);background:var(--accent);color:var(--bg);border-color:transparent}[data-theme="dark"] .cta-buttons a{background:rgba(255,255,255,0.05)}[data-theme="dark"] .cta-buttons a:hover{background:color-mix(in srgb, var(--accent) 60%, #000);color:#fff}.video{width:100%;height:360px}@media screen and (max-width: 1000px){.video{height:300px}}@media screen and (max-width: 660px){.video{height:180px}}.divider{margin:1em}hr{border:none;height:1px;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--accent) 30%, transparent) 20%, color-mix(in srgb, var(--accent) 30%, transparent) 80%, transparent 100%);margin:2em 0}hr.nav-separator{margin:2em 0}header hr{margin-top:1.2em}.scroll{white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.scroll::-webkit-scrollbar{display:none}.simplebutton{display:inline-block;cursor:pointer;font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;font-weight:500;border-radius:25px;padding:12px 28px;border:1.5px solid var(--accent);color:var(--text);background:transparent;transition:all 0.2s ease}.simplebutton:hover{background:var(--accent);color:var(--bg);transform:translateY(-2px)}[data-theme="dark"] .simplebutton:hover{background:color-mix(in srgb, var(--accent) 60%, #000);color:#fff}.cta-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:1em}.article-list{margin:-2em 0 1em}.article-list hr{margin:0}.article-preview{position:relative;padding:2em 1.5em;border-radius:12px;isolation:isolate}.article-preview h2{margin-bottom:0}.article-preview h2 a{transition:color 0.3s ease}.article-preview::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity 0.8s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:radial-gradient(240px circle at var(--x, 50%) var(--y, 50%), color-mix(in srgb, var(--accent) 15%, transparent), transparent 65%),linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--accent) 8%, transparent) 20%, color-mix(in srgb, var(--accent) 8%, transparent) 80%, transparent 100%)}.article-preview:hover::before{opacity:1}.article-preview::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;opacity:0;transform:scaleY(0);pointer-events:none;transition:opacity 0.6s ease, transform 0.6s ease;background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--accent) 45%, transparent) 50%, transparent 100%) left/2px 100% no-repeat,linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--accent) 45%, transparent) 50%, transparent 100%) right/2px 100% no-repeat}.article-preview:hover::after{opacity:1;transform:scaleY(1)}article>.article-preview{margin:-2em 0}[data-theme="dark"] .article-preview::before{background:radial-gradient(240px circle at var(--x, 50%) var(--y, 50%), color-mix(in srgb, var(--accent-mid) 15%, transparent), transparent 65%),linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--accent-mid) 8%, transparent) 20%, color-mix(in srgb, var(--accent-mid) 8%, transparent) 80%, transparent 100%)}[data-theme="dark"] .article-preview::after{background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--accent-mid) 45%, transparent) 50%, transparent 100%) left/2px 100% no-repeat,linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--accent-mid) 45%, transparent) 50%, transparent 100%) right/2px 100% no-repeat}@keyframes fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.article-list .article-preview{animation:fade-up 0.6s ease both}.article-list div:nth-of-type(2){animation-delay:0.1s}.article-list div:nth-of-type(3){animation-delay:0.2s}.article-list div:nth-of-type(4){animation-delay:0.3s}.article-list div:nth-of-type(n+5){animation-delay:0.4s}header{animation:fade-up 0.5s ease backwards}article{animation:fade-up 0.5s ease 0.1s backwards}footer{animation:fade-up 0.5s ease 0.2s backwards}.post-title{position:relative;z-index:0;font-size:2em;margin-top:0em;margin-bottom:0.5em;text-align:center}@media screen and (max-width: 660px){.post-title{font-size:2em}}.post-title::before{content:"";position:absolute;top:calc(-2rem - 2px);bottom:-1.8em;left:50%;transform:translateX(-50%);width:calc(100% + 1.5em);z-index:-1;border-radius:14px 14px 0 0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);-webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 55%, transparent 90%);mask-image:linear-gradient(to bottom, #000 0%, #000 55%, transparent 90%);opacity:0;transition:opacity 0.5s ease;pointer-events:none;background:radial-gradient(300px circle at var(--x, 50%) var(--y, 50%), color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%),linear-gradient(180deg, color-mix(in srgb, var(--accent) 20%, transparent) 0%, color-mix(in srgb, var(--accent) 6%, transparent) 50%, transparent 100%)}.post-title:hover::before{opacity:1}[data-theme="dark"] .post-title::before{background:radial-gradient(300px circle at var(--x, 50%) var(--y, 50%), color-mix(in srgb, var(--accent-mid) 16%, transparent), transparent 70%),linear-gradient(180deg, color-mix(in srgb, var(--accent-mid) 18%, transparent) 0%, color-mix(in srgb, var(--accent-mid) 5%, transparent) 50%, transparent 100%)}.post-title::after{content:"";position:absolute;top:-2rem;bottom:-1.8em;left:50%;transform:translateX(-50%) scaleY(0.5);transform-origin:top center;width:calc(100% + 1.5em);border-radius:14px;pointer-events:none;opacity:0;transition:opacity 0.5s ease, transform 0.5s ease;background:linear-gradient(180deg, color-mix(in srgb, var(--accent-strong) 45%, transparent) 0%, color-mix(in srgb, var(--accent-strong) 45%, transparent) 25%, color-mix(in srgb, var(--accent-strong) 15%, transparent) 55%, transparent 85%) left/2px 100% no-repeat,linear-gradient(180deg, color-mix(in srgb, var(--accent-strong) 45%, transparent) 0%, color-mix(in srgb, var(--accent-strong) 45%, transparent) 25%, color-mix(in srgb, var(--accent-strong) 15%, transparent) 55%, transparent 85%) right/2px 100% no-repeat}.post-title:hover::after{opacity:1;transform:translateX(-50%) scaleY(1)}[data-theme="dark"] .post-title::after{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-mid) 45%, transparent) 0%, color-mix(in srgb, var(--accent-mid) 45%, transparent) 25%, color-mix(in srgb, var(--accent-mid) 15%, transparent) 55%, transparent 85%) left/2px 100% no-repeat,linear-gradient(180deg, color-mix(in srgb, var(--accent-mid) 45%, transparent) 0%, color-mix(in srgb, var(--accent-mid) 45%, transparent) 25%, color-mix(in srgb, var(--accent-mid) 15%, transparent) 55%, transparent 85%) right/2px 100% no-repeat}.post-meta{text-align:center;color:var(--text-muted);font-size:0.9em;margin-top:0}.post-meta a{color:var(--accent)}.post-content{text-align:left;max-width:600px;margin:0 auto}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{text-align:left}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:1000;background:linear-gradient(90deg, var(--accent) 0%, var(--accent-mid) 50%, var(--accent-strong) 100%);transition:width 0.1s linear}.command-palette-trigger{position:fixed;top:1.1em;left:1.2em;z-index:900;display:flex;align-items:center;gap:0.5em;padding:0.4em 0.8em;border-radius:10px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:inherit;font:inherit;font-size:0.9em;cursor:pointer;transition:background 0.25s ease}.command-palette-trigger:hover{background:rgba(255,255,255,0.12)}.command-palette-trigger .command-palette-kbd{font-family:inherit;font-size:0.85em;opacity:0.55}@media screen and (max-width: 600px){.command-palette-trigger{position:absolute;width:40px;height:40px;padding:0;gap:0;justify-content:center;font-size:1.05em}.command-palette-trigger span,.command-palette-trigger .command-palette-kbd{display:none}}[data-theme="light"] .command-palette-trigger{background:rgba(255,255,255,0.55);border-color:var(--accent-soft)}[data-theme="light"] .command-palette-trigger:hover{background:rgba(255,255,255,0.75)}@keyframes palette-fade{from{opacity:0}to{opacity:1}}@keyframes palette-pop{from{opacity:0;transform:scale(0.96) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes palette-fade-out{from{opacity:1}to{opacity:0}}@keyframes palette-pop-out{from{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(0.96) translateY(-10px)}}.command-palette{position:fixed;inset:0;z-index:2000}.command-palette[hidden]{display:none}.command-palette.closing .command-palette-backdrop{animation:palette-fade-out 0.18s ease-in both}.command-palette.closing .command-palette-panel{animation:palette-pop-out 0.18s ease-in both}.command-palette-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:palette-fade 0.15s ease-out both}.command-palette-panel{position:relative;width:min(560px, calc(100vw - 2em));margin:30vh auto 0;border-radius:16px;overflow:hidden;animation:palette-pop 0.18s cubic-bezier(0.2, 0.9, 0.25, 1.1) both;background:rgba(30,30,34,0.75);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);box-shadow:0 16px 60px rgba(0,0,0,0.45),0 0 60px color-mix(in srgb, var(--accent-mid) 7%, transparent),inset 0 1px 0 rgba(255,255,255,0.1)}.command-palette-input{display:block;width:100%;padding:0.9em 1.1em;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,0.08);color:inherit;font:inherit;font-size:1em;outline:none}.command-palette-input::placeholder{opacity:0.45}.command-palette-list{list-style:none;margin:0;padding:0.4em;max-height:320px;overflow-y:auto}@keyframes palette-item-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes palette-item-confirm{0%{transform:scale(1)}40%{transform:scale(1.03);background:color-mix(in srgb, var(--accent-mid) 30%, transparent)}100%{transform:scale(1)}}.command-palette-item{display:flex;justify-content:space-between;align-items:center;gap:1em;padding:0.55em 0.8em;border-radius:10px;cursor:pointer;animation:palette-item-in 0.15s ease-out both;transition:background 0.12s ease}.command-palette-item.active{background:color-mix(in srgb, var(--accent-mid) 13%, transparent)}.command-palette-item.executing{animation:palette-item-confirm 0.2s ease-out both}.command-palette-type{font-size:0.78em;opacity:0.5;text-transform:capitalize}.command-palette-empty{padding:1.2em;text-align:center;opacity:0.5;animation:palette-fade 0.2s ease both}.command-palette-footer{display:flex;gap:1.2em;justify-content:center;padding:0.55em;border-top:1px solid rgba(255,255,255,0.08);font-size:0.72em;opacity:0.55}.command-palette-footer kbd{display:inline-block;padding:0.05em 0.4em;margin:0 0.15em;border-radius:4px;border:1px solid rgba(255,255,255,0.18);border-bottom-width:2px;font-family:inherit}[data-theme="light"] .command-palette-backdrop{background:rgba(60,50,40,0.28)}[data-theme="light"] .command-palette-panel{background:rgba(255,255,255,0.78);border-color:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:0 16px 60px color-mix(in srgb, var(--accent) 18%, transparent),0 0 60px color-mix(in srgb, var(--accent-strong) 10%, transparent),inset 0 1px 0 rgba(255,255,255,0.7)}[data-theme="light"] .command-palette-input{border-bottom-color:color-mix(in srgb, var(--accent) 12%, transparent)}[data-theme="light"] .command-palette-item.active{background:color-mix(in srgb, var(--accent) 12%, transparent)}[data-theme="light"] .command-palette-footer{border-top-color:color-mix(in srgb, var(--accent) 12%, transparent)}[data-theme="light"] .command-palette-footer kbd{border-color:color-mix(in srgb, var(--accent) 25%, transparent)}div.highlighter-rouge{position:relative}.copy-code-button{position:absolute;top:0.45em;right:0.45em;z-index:2;padding:0.25em 0.7em;border-radius:6px;border:1px solid var(--accent-soft);background:var(--bg-2);color:var(--text);font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;font-size:0.75em;line-height:1.4;cursor:pointer;opacity:0;transition:opacity 0.2s ease, background 0.2s ease, color 0.2s ease}div.highlighter-rouge:hover .copy-code-button,.copy-code-button:focus-visible,.copy-code-button.copied{opacity:1}.copy-code-button:hover{background:var(--accent);color:var(--bg)}[data-theme="dark"] .copy-code-button:hover{background:color-mix(in srgb, var(--accent) 60%, #000);color:#fff}@media (hover: none){.copy-code-button{opacity:1}}.blog-meta{margin-top:2.5em}.tag-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:0.4em;margin:0.5em 0 0.9em}.tag-pill{padding:0.12em 0.75em;border-radius:999px;border:1px solid var(--accent-soft);font-size:0.75em;line-height:1.6;transition:border-color 0.2s ease}.tag-pill:hover{border-color:var(--accent)}.tag-index{max-width:600px;margin:0 auto;text-align:left}.tag-index h2{margin-top:1.8em;font-size:1.2em}.tag-count{font-size:0.75em;font-weight:400;opacity:0.55}.tag-index ul{list-style:none;margin:0.6em 0 0;padding:0}.tag-index li{display:flex;justify-content:space-between;align-items:baseline;gap:1.5em;padding:0.3em 0}.tag-index li .post-meta{text-align:right;white-space:nowrap;margin:0}.author-box{position:relative;isolation:isolate;text-align:center;max-width:480px;margin:0 auto 2.2em;padding:1.4em 1.5em 1.3em;border-radius:12px;border:1px solid var(--accent-soft);background:rgba(255,255,255,0.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color 0.3s ease}.author-box::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity 0.8s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:radial-gradient(240px circle at var(--x, 50%) var(--y, 50%), color-mix(in srgb, var(--accent) 15%, transparent), transparent 65%)}.author-box:hover{border-color:var(--accent)}.author-box:hover::before{opacity:1}[data-theme="dark"] .author-box{background:rgba(255,255,255,0.04)}[data-theme="dark"] .author-box::before{background:radial-gradient(240px circle at var(--x, 50%) var(--y, 50%), color-mix(in srgb, var(--accent-mid) 15%, transparent), transparent 65%)}.author-box p{margin-bottom:0.25em}.author-box-avatar{width:72px;height:72px;margin:0 auto 0.7em;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.05em;letter-spacing:0.03em;color:var(--bg);background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, transparent));object-fit:cover;box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--accent-soft)}.author-box-name{font-weight:600;font-size:1.05em}.author-box-bio{opacity:0.75;font-size:0.9em}.author-box-links{display:flex;justify-content:center;gap:0.6em;font-size:0.9em;margin-top:0.7em}.author-box-links a{display:inline-block;padding:0.35em 1.1em;border-radius:999px;border:1px solid var(--accent-soft);transition:background-color 0.25s ease, color 0.25s ease, transform 0.25s ease}.author-box-links a::after{display:none}.author-box-links a:hover{transform:translateY(-2px);background:var(--accent);color:var(--bg);border-color:transparent}[data-theme="dark"] .author-box-links a:hover{background:color-mix(in srgb, var(--accent) 60%, #000);color:#fff}.post-nav{display:flex;justify-content:space-between;gap:1.5em;margin:2em 0 1.8em;font-size:0.95em}.post-nav a{min-width:0;max-width:48%;transition:color 0.3s ease}.post-nav-next{margin-left:auto;text-align:right}.heading-anchor{margin-left:0.35em;font-size:0.75em;font-weight:400;opacity:0;transition:opacity 0.2s ease}.post-content h2:hover .heading-anchor,.post-content h3:hover .heading-anchor,.post-content h2:focus-within .heading-anchor,.post-content h3:focus-within .heading-anchor{opacity:0.55}.heading-anchor:hover,.heading-anchor:focus-visible{opacity:1}.about{max-width:600px;margin:0 auto;text-align:left}.about-photo{display:block;width:140px;height:140px;margin:0.5em auto 1.5em;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent-soft),0 8px 30px color-mix(in srgb, var(--accent) 20%, transparent)}@media screen and (max-width: 660px){.about-photo{width:112px;height:112px}}.about-heading{text-align:center;font-size:1.35em;margin:1.4em 0 1.2em}.about-heading::after{content:"";display:block;width:3.2em;height:2px;margin:0.5em auto 0;border-radius:2px;background:linear-gradient(90deg, var(--accent), var(--accent-mid), var(--accent-strong))}.timeline{margin-left:0.4em;padding-left:1.4em;border-left:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}.timeline-item{position:relative;padding-bottom:2em}.timeline-item:last-child{padding-bottom:0.4em}.timeline-item::before{content:"";position:absolute;left:calc(-1.4em - 6px);top:0.45em;width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg, var(--accent), var(--accent-mid));box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent)}.timeline-role{font-weight:600;font-size:1.05em;margin-bottom:0.1em}.timeline-meta{text-align:left;margin-bottom:0.9em}.timeline-item ul{margin:0.5em 0 0;padding-left:1.2em}.timeline-item li{margin-bottom:0.45em}.timeline-item li::marker{color:var(--accent)}.timeline-desc,.timeline-note{margin-bottom:0.4em}.timeline-note{font-size:0.9em;opacity:0.8}.timeline-path{margin-top:1em;font-size:0.85em;opacity:0.75}.timeline-path strong{color:var(--accent)}.skill-group{margin-bottom:1.4em}.skill-label{font-size:0.78em;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);margin-bottom:0.55em}.skill-group .tag-pills{justify-content:flex-start;margin:0}.skill-group .tag-pill{font-size:0.8em;opacity:1;background:rgba(255,255,255,0.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme="dark"] .skill-group .tag-pill{background:rgba(255,255,255,0.06)}@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/inter-latin-var.woff2") format("woff2")}pre.highlight{background-color:#fbf6ef;border:1px solid var(--accent-soft);-moz-box-shadow:1px 1px rgba(0,0,0,0.1);-webkit-box-shadow:1px 1px rgba(0,0,0,0.1);box-shadow:1px 1px rgba(0,0,0,0.1);margin:20px 0 20px 0}code{color:var(--text);background-color:color-mix(in srgb, var(--accent) 9%, transparent)}pre code{color:inherit;background-color:transparent}.highlight,.highlight .w{color:#586e75}.highlight .err{color:#ffffff;background-color:#c92a22}.highlight .c,.highlight .cd,.highlight .cm,.highlight .c1,.highlight .cs{color:#4f626a;font-style:italic}.highlight .cp{color:#7d5f00}.highlight .nt{color:#7d5f00}.highlight .o,.highlight .ow{color:#5a7075}.highlight .p,.highlight .pi{color:#5a7075}.highlight .gi{color:#4c6f00}.highlight .gd{color:#bf2f26}.highlight .gh{color:#66b3e8;background-color:#002b36;font-weight:bold}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#595cb3}.highlight .kc{color:#b84512}.highlight .kt{color:#b84512}.highlight .kd{color:#b84512}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1{color:#4c6f00}.highlight .sr{color:#1a7566}.highlight .si{color:#c2186b}.highlight .se{color:#c2186b}.highlight .nn{color:#7d5f00}.highlight .nc{color:#7d5f00}.highlight .no{color:#7d5f00}.highlight .na{color:#1a6fae}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mb,.highlight .mx{color:#4c6f00}.highlight .ss{color:#4c6f00}[data-theme="dark"] pre.highlight{background-color:#263238;border:1px solid var(--accent-soft);-moz-box-shadow:3px 3px rgba(0,0,0,0.1);-webkit-box-shadow:3px 3px rgba(0,0,0,0.1);box-shadow:3px 3px rgba(0,0,0,0.1);margin:20px 0 20px 0}[data-theme="dark"] code{color:#c9d1d9;background-color:#263238}[data-theme="dark"] pre code{color:inherit;background-color:transparent}[data-theme="dark"] .highlight .c,[data-theme="dark"] .highlight .cd,[data-theme="dark"] .highlight .cm,[data-theme="dark"] .highlight .c1,[data-theme="dark"] .highlight .cp,[data-theme="dark"] .highlight .cs{color:#8fa3ad;font-style:italic}[data-theme="dark"] .highlight .cs{font-weight:bold}[data-theme="dark"] .highlight .err{color:#ff7ad9;background-color:#1e0010}[data-theme="dark"] .highlight .gi{color:#ffffff;background-color:#324932}[data-theme="dark"] .highlight .gd{color:#ffffff;background-color:#493131}[data-theme="dark"] .highlight .ge{color:#f8f8f2;font-style:italic}[data-theme="dark"] .highlight .gr{color:#ff7b72}[data-theme="dark"] .highlight .gt{color:#ff7b72}[data-theme="dark"] .highlight .gh{color:#a8a8a8}[data-theme="dark"] .highlight .go{color:#9e9e9e}[data-theme="dark"] .highlight .gp{color:#9e9e9e}[data-theme="dark"] .highlight .gs{font-weight:bold}[data-theme="dark"] .highlight .gu{color:#aaaaaa}[data-theme="dark"] .highlight .k,[data-theme="dark"] .highlight .kv{color:#66d9ef;font-weight:bold}[data-theme="dark"] .highlight .kc{color:#66d9ef;font-weight:bold}[data-theme="dark"] .highlight .kd{color:#66d9ef;font-weight:bold}[data-theme="dark"] .highlight .kp{color:#66d9ef;font-weight:bold}[data-theme="dark"] .highlight .kr{color:#66d9ef;font-weight:bold}[data-theme="dark"] .highlight .kt{color:#66d9ef;font-weight:bold}[data-theme="dark"] .highlight .kn{color:#ff7fa8;font-weight:bold}[data-theme="dark"] .highlight .ow{color:#ff7fa8;font-weight:bold}[data-theme="dark"] .highlight .o{color:#ff7fa8;font-weight:bold}[data-theme="dark"] .highlight .mf{color:#ae81ff}[data-theme="dark"] .highlight .mh{color:#ae81ff}[data-theme="dark"] .highlight .il{color:#ae81ff}[data-theme="dark"] .highlight .mi{color:#ae81ff}[data-theme="dark"] .highlight .mo{color:#ae81ff}[data-theme="dark"] .highlight .m,[data-theme="dark"] .highlight .mb,[data-theme="dark"] .highlight .mx{color:#ae81ff}[data-theme="dark"] .highlight .se{color:#ae81ff}[data-theme="dark"] .highlight .sb{color:#e6db74}[data-theme="dark"] .highlight .sc{color:#e6db74}[data-theme="dark"] .highlight .sd{color:#e6db74}[data-theme="dark"] .highlight .s2{color:#e6db74}[data-theme="dark"] .highlight .sh{color:#e6db74}[data-theme="dark"] .highlight .si{color:#e6db74}[data-theme="dark"] .highlight .sx{color:#e6db74}[data-theme="dark"] .highlight .sr{color:#e6db74}[data-theme="dark"] .highlight .s1{color:#e6db74}[data-theme="dark"] .highlight .ss{color:#e6db74}[data-theme="dark"] .highlight .s{color:#e6db74}[data-theme="dark"] .highlight .na{color:#a6e22e}[data-theme="dark"] .highlight .nc{color:#a6e22e;font-weight:bold}[data-theme="dark"] .highlight .nd{color:#a6e22e;font-weight:bold}[data-theme="dark"] .highlight .ne{color:#a6e22e;font-weight:bold}[data-theme="dark"] .highlight .nf{color:#a6e22e;font-weight:bold}[data-theme="dark"] .highlight .no{color:#66d9ef}[data-theme="dark"] .highlight .bp{color:#f8f8f2}[data-theme="dark"] .highlight .nb{color:#f8f8f2}[data-theme="dark"] .highlight .ni{color:#f8f8f2}[data-theme="dark"] .highlight .nn{color:#f8f8f2}[data-theme="dark"] .highlight .vc{color:#f8f8f2}[data-theme="dark"] .highlight .vg{color:#f8f8f2}[data-theme="dark"] .highlight .vi{color:#f8f8f2}[data-theme="dark"] .highlight .nv{color:#f8f8f2}[data-theme="dark"] .highlight .w{color:#f8f8f2}[data-theme="dark"] .highlight .nl{color:#f8f8f2;font-weight:bold}[data-theme="dark"] .highlight .nt{color:#ff7fa8}[data-theme="dark"] .highlight{color:#f8f8f2}#theme-toggle{flex-shrink:0;width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all 0.3s ease;padding:0}html[data-theme="light"] #theme-toggle{background-color:rgba(255,255,255,0.4) !important;border:1px solid color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text);box-shadow:0 3px 8px rgba(0,0,0,0.15)}html[data-theme="dark"] #theme-toggle{background-color:rgba(255,255,255,0.05) !important;border:1px solid rgba(255,255,255,0.08);color:var(--text);box-shadow:0 3px 8px rgba(0,0,0,0.3)}html[data-theme="light"] #theme-toggle:hover{background-color:var(--bg-2) !important;transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 15%, transparent)}html[data-theme="dark"] #theme-toggle:hover{background-color:var(--accent) !important;transform:translateY(-3px);box-shadow:0 5px 12px rgba(0,0,0,0.4)}#theme-toggle:active{transform:translateY(1px);box-shadow:0 2px 5px rgba(0,0,0,0.2)}.cursor-gradient{pointer-events:none;position:fixed;inset:0;z-index:1}.cursor-gradient-blob{position:absolute;width:1000px;height:1000px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb, var(--accent-mid) 25%, transparent) 0%, color-mix(in srgb, var(--accent-mid) 10%, transparent) 40%, transparent 70%);filter:blur(60px);transform:translate(-50%, -50%);opacity:0;transition:opacity 0.6s ease}.cursor-gradient-blob.active{opacity:1}[data-theme="dark"] .cursor-gradient-blob{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 10%, transparent) 0%, color-mix(in srgb, var(--accent-mid) 5%, transparent) 40%, transparent 70%)}@media (max-width: 768px){.cursor-gradient-blob{display:none}}
