:root{--color-gray-050: #eff1f5;--color-gray-100: #e3e6e8;--color-gray-500: #6b7280;--color-gray-800: #4c4f69;--color-gray-950: #0d0f12;--color-teal-500: #14b8a6;--font-sans: "Inter Variable", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-toc-base: .95rem;--font-size-toc-sub: .92rem;--font-size-toc-deep: .88rem;--font-size-toc-card: .9rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--color-bg: var(--color-gray-950);--color-bg-overlay: color-mix(in srgb, var(--color-bg) 80%, transparent);--color-text: var(--color-gray-100);--color-text-link: var(--color-teal-500);--color-text-muted: var(--color-gray-500)}html,body{max-width:100%;margin:0}body{box-sizing:border-box;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.75;min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-text-link);text-decoration:none}a:hover{color:var(--color-text)}p{margin-bottom:0}hr{border:none;height:2px;background-color:var(--color-text)}pre{background:#1e1e1e;border-radius:10px;padding:1.5rem 1rem 1rem;position:relative;overflow-x:auto}pre:before{content:"";position:absolute;top:.6rem;left:.75rem;width:12px;height:12px;background:#ff5f56;border-radius:50%;box-shadow:20px 0 #ffbd2e,40px 0 #27c93f}code{font-family:JetBrains Mono,SF Mono,monospace;font-size:var(--font-size-sm)}@keyframes growShrink{0%{transform:scale(1)}40%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark]{--bg-color: var(--color-gray-950);--color-text: var(--color-gray-100)}[data-theme=light]{--bg-color: var(--color-gray-050);--color-text: var(--color-gray-800)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg-color: var(--color-gray-950);--color-text: var(--color-gray-100)}}@media (prefers-color-scheme: light){:root:not([data-theme]){--bg-color: var(--color-gray-050);--color-text: var(--color-gray-800)}}[data-theme=dark] .sun,[data-theme=light] .moon{display:none}.content{flex-grow:1;width:100%;max-width:45rem;margin:.5rem auto 1rem;padding:0 1rem 1rem;box-sizing:border-box}.header{position:sticky;top:0;width:100%;height:3.5rem;z-index:1000;box-sizing:border-box;background:var(--color-bg-overlay)}.header-container{height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 1rem}.header-container-left,.header-container-right{display:flex;align-items:center;gap:1rem}.name-link{text-decoration:none;color:inherit;font-weight:var(--font-weight-bold);font-size:var(--font-size-xl)}.nav{display:flex;gap:2rem;align-items:center}.nav-link{color:var(--color-text-link)}.nav-link.active{color:var(--color-text);text-decoration:none}.nav-menu{display:none;background:none;border:none;cursor:pointer;color:var(--color-text)}.nav-menu .icon{font-size:var(--font-size-lg)}@media (max-width: 768px){.nav{display:none;flex-direction:column;gap:1rem;background:var(--color-bg-overlay);position:absolute;top:3.5rem;left:0;right:0;width:100%;padding:1rem;box-sizing:border-box;border-radius:0 0 .5rem .5rem}.nav.open{display:flex}.nav-menu{display:block}}.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background:none;cursor:pointer}.theme-toggle .icon{font-size:var(--font-size-lg)}.sun,.moon{position:absolute;color:var(--color-text)}.footer{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem}.social-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.75rem}.social-links a{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:var(--font-weight-medium)}.social-links .icon{font-size:var(--font-size-xl)}.copyright{font-size:var(--font-size-xs);line-height:1rem;color:var(--color-text-muted);text-align:center;padding-left:1rem;padding-right:1rem}.page-title{animation:growShrink .8s ease-in-out}.markdown-content img{display:block;width:100%;max-width:600px;height:auto;margin:1.5rem auto;border-radius:.5rem}.profile-container{display:flex;justify-content:center;padding:3rem 0 1.5rem}.profile-image-container{width:200px;height:200px;display:flex;justify-content:center;align-items:center;overflow:hidden;flex-shrink:0;border-radius:50%;transition:transform .2s ease-in-out;background:var(--color-bg)}.profile-image-container:hover{transform:translateY(-5px)}.profile-image{width:100%;height:100%;object-fit:cover;transform:scale(1.4) translate(-20px,10px)}.fade-up-container{opacity:0}.fade-up-container.ready{animation:fadeUp .8s ease-out forwards}.blog-list{display:grid;grid-template-columns:1fr;gap:1.25rem}.meta-info{display:flex;align-items:center;gap:1rem;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:1rem}.meta-info span{display:flex;align-items:center;gap:.5rem}.post-wrapper{position:relative}.toc-container{position:absolute;top:0;left:calc(100% + 2.5rem);width:220px;height:100%}@media (max-width: 1100px){.toc-container{display:none}}.blog-card{display:block;color:var(--color-text);border:1px solid var(--color-text);text-decoration:none;padding:1.5rem;border-radius:.625rem;transition:transform .2s ease-in-out}.blog-card:hover{transform:translateY(-5px)}.blog-card-title{font-size:var(--font-size-xl);margin:0 0 .625rem}.blog-card-date{font-size:var(--font-size-toc-card);margin-bottom:.625rem}.toc{position:sticky;top:5rem;font-size:var(--font-size-toc-base);line-height:1.35}.toc h2{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin-bottom:.6rem}.toc ul{list-style:none;margin:0;padding:0}.toc a{display:block;text-decoration:none;color:inherit;opacity:.65;transition:opacity .15s ease,color .15s ease}.toc a:hover{opacity:1}.toc a.active{opacity:1;font-weight:var(--font-weight-semibold)}.toc .depth-1 a{font-weight:var(--font-weight-semibold);font-size:var(--font-size-toc-base);margin-top:.7rem}.toc .depth-2 a{padding-left:.6rem;font-weight:var(--font-weight-medium);font-size:var(--font-size-toc-sub)}.toc .depth-3 a{padding-left:1.2rem;font-size:var(--font-size-toc-deep);opacity:.75}
