@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Geist+Mono:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap");.parallax-stage{position:relative;--posts-overlap: 32vh;--stage-height: 100dvh;--ambient-opacity: 0.05;--ambient-shift: 0%}.parallax-stage::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(95% 62% at 50% calc(44% + var(--ambient-shift)), rgba(255,255,255,0.14) 0%, rgba(255,255,255,0.04) 44%, transparent 72%);opacity:var(--ambient-opacity)}body[a="dark"] .parallax-stage::before{background:radial-gradient(95% 62% at 50% calc(44% + var(--ambient-shift)), rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 44%, transparent 72%)}html.home-parallax-locked,body.home-parallax-locked{height:100%;overflow:hidden;overscroll-behavior:none}body.home-parallax-locked .page-content{padding:0;min-height:100vh;min-height:100svh}body.home-parallax-locked .w{padding-bottom:0}body.home-parallax-locked .parallax-stage{height:var(--stage-height);overflow:hidden;touch-action:none}.parallax-hero{position:sticky;top:0;min-height:100dvh;min-height:100vh;min-height:100svh;height:100dvh;height:100vh;height:100svh;display:flex;align-items:flex-start;justify-content:center;z-index:1;overflow:hidden;perspective:1000px}.parallax-hero .homepage-content{width:100%;display:flex;justify-content:center;align-items:center;padding-top:0;min-height:100%}.parallax-hero .home-hero{min-height:0;padding:0 1rem}.posts-section{position:relative;z-index:2;margin-top:calc(var(--posts-overlap) * -1);padding:calc(var(--posts-overlap) + 4rem) 0 6rem;min-height:60vh;background:transparent;opacity:1;transform:none;transform-origin:center center}.posts-shell{width:100%;max-width:var(--content-width);margin:0 auto;padding:0 1rem}body.home-parallax-locked .parallax-hero,body.home-parallax-locked .posts-section{position:absolute;inset:0;margin-top:0}body.home-parallax-locked .parallax-hero{align-items:center}body.home-parallax-locked .posts-section{padding:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.posts-title{font-family:var(--font-mono-ui, "Geist Mono", monospace);font-size:0.9rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;margin:0;opacity:1;transform:none}.posts-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.posts-archive-link{font-family:var(--font-mono-ui, "Geist Mono", monospace);font-size:0.78rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;opacity:0.62;text-decoration:none !important;transition:opacity 0.2s ease}.posts-archive-link:hover{opacity:1;text-decoration:none !important}.posts-list{list-style:none;padding:0;margin:0}.post-item{display:flex;justify-content:space-between;align-items:baseline;padding:1.05rem 0;border-bottom:1px solid var(--c-line);opacity:1;transform:none;transform-origin:center top}body.js-parallax-ready .homepage-content,body.js-parallax-ready .posts-section,body.js-parallax-ready .posts-title,body.js-parallax-ready .posts-head,body.js-parallax-ready .post-item{will-change:opacity, transform, filter}body.js-parallax-ready .posts-section{opacity:0.08;transform:none}body.js-parallax-ready .posts-title{opacity:0;transform:translate3d(0, 14px, 0)}body.js-parallax-ready .post-item{opacity:0;transform:translate3d(0, 18px, 0)}.post-item:first-child{border-top:1px solid var(--c-line)}.post-item a{font-family:var(--font-mono-ui, "Geist Mono", monospace);font-size:1rem;font-weight:500;letter-spacing:0.01em;text-decoration:none !important;color:currentColor;opacity:0.76;transition:opacity 0.3s ease, transform 0.3s ease}.post-item a:hover{opacity:1;text-decoration:none !important;transform:translateX(3px)}.post-item time{font-family:var(--font-mono-ui, "Geist Mono", monospace);font-size:0.82rem;opacity:0.46;letter-spacing:0.04em;flex-shrink:0;margin-left:2rem}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);opacity:0;animation:fadeInIndicator 1.8s 1.5s ease forwards;pointer-events:none;will-change:transform, opacity}.scroll-indicator svg{width:20px !important;height:20px !important;stroke:currentColor;opacity:0.3;fill:none !important;display:block}@keyframes fadeInIndicator{to{opacity:1}}@keyframes bounceDown{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}@media (max-width: 768px){.parallax-stage{--posts-overlap: 18vh}.parallax-hero{min-height:100dvh;min-height:100svh;height:100dvh;height:100svh}.posts-section{padding:calc(var(--posts-overlap) + 2.2rem) 0 3rem}.posts-shell{width:100%;padding:0 0.35rem}.post-item{flex-direction:column;gap:0.3rem}.post-item time{margin-left:0}.posts-title{font-size:0.82rem}.posts-head{margin-bottom:1.05rem}.posts-archive-link{font-size:0.72rem}body.js-parallax-ready .posts-section{transform:none}body.js-parallax-ready .posts-title{transform:none}body.js-parallax-ready .post-item{transform:translate3d(0, 12px, 0)}}:root{--font-ui: "Manrope", "Avenir Next", "Segoe UI", sans-serif;--font-mono-ui: "Geist Mono", "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--font-display: "Cormorant Garamond", Georgia, serif;--max-width: 1080px;--content-width: 820px;--c-text: #141414;--c-muted: #5d5d5d;--c-soft: #7f7f7f;--c-line: rgba(0, 0, 0, 0.18);--c-line-strong: rgba(0, 0, 0, 0.32);--c-hover: rgba(0, 0, 0, 0.06);--c-header-bg: rgba(240, 240, 240, 0.78)}body[a="dark"]{--c-text: #ededed;--c-muted: #a6a6a6;--c-soft: #8e8e8e;--c-line: rgba(255, 255, 255, 0.2);--c-line-strong: rgba(255, 255, 255, 0.34);--c-hover: rgba(255, 255, 255, 0.08);--c-header-bg: rgba(19, 18, 18, 0.82)}@media (prefers-color-scheme: dark){body[a="auto"]{--c-text: #ededed;--c-muted: #a6a6a6;--c-soft: #8e8e8e;--c-line: rgba(255, 255, 255, 0.2);--c-line-strong: rgba(255, 255, 255, 0.34);--c-hover: rgba(255, 255, 255, 0.08);--c-header-bg: rgba(19, 18, 18, 0.82)}}html{height:100%;scroll-behavior:smooth}*,*::before,*::after{box-sizing:border-box}body{margin:0;min-height:100%;color:var(--c-text);font-family:var(--font-ui);font-size:16px;line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}body.page-transition-ready .header,body.page-transition-ready .header-controls,body.page-transition-ready .page-content{transition:transform 0.36s cubic-bezier(0.22, 1, 0.36, 1),opacity 0.28s ease,filter 0.36s cubic-bezier(0.22, 1, 0.36, 1)}body.page-leaving{pointer-events:none}body.page-leaving .header{opacity:0.72;transform:translate3d(0, -8px, 0)}body.page-leaving .header-controls{opacity:0;transform:translate3d(0, -8px, 0)}body.page-leaving .page-content{opacity:0;filter:blur(3px);transform:translate3d(0, 20px, 0) scale(0.992)}@media (prefers-reduced-motion: reduce){body.page-transition-ready .header,body.page-transition-ready .header-controls,body.page-transition-ready .page-content{transition:none !important}}a{color:inherit}a:hover{text-decoration:none}img{max-width:100%;display:block;border-radius:10px}hr{border:0;border-top:1px solid var(--c-line);margin:2.2rem 0}.header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--c-line);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);background:var(--c-header-bg)}.nav{max-width:var(--max-width);margin:0 auto;padding:0.95rem clamp(1rem, 3vw, 1.8rem);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.4rem}.logo{font-size:1rem;letter-spacing:0}.logo a{font-family:var(--font-mono-ui);font-weight:600;text-transform:uppercase;letter-spacing:0.14em;font-size:clamp(1rem, 1.5vw, 1.18rem);text-decoration:none;opacity:0.94}.logo a:hover{opacity:1}#menu{margin:0;padding:0;list-style:none;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:1rem}#menu li{margin:0;padding:0}#menu a{font-family:var(--font-mono-ui);text-transform:uppercase;letter-spacing:0.08em;font-size:0.78rem;font-weight:500;text-decoration:none;opacity:0.68;border-bottom:1px solid transparent;padding-bottom:0.28rem;transition:opacity 0.2s ease, border-color 0.2s ease}#menu a::before{content:none}#menu a:hover{opacity:1;border-bottom-color:var(--c-line-strong)}#menu .active{opacity:1;border-bottom:1px solid var(--c-line-strong);background:transparent;padding-bottom:0.28rem;font-weight:600}.header-controls{position:fixed;top:0.95rem;right:clamp(0.7rem, 2.4vw, 1.3rem);display:flex;align-items:center;gap:0.45rem;--control-size: 30px;z-index:70}.lang-switch{margin:0;padding:0;list-style:none;display:flex;gap:0.35rem}.lang-switch li{margin:0}.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--control-size) + 16px);height:var(--control-size);padding:0 0.56rem;line-height:1;font-family:var(--font-mono-ui);font-size:0.64rem;font-weight:600;text-transform:uppercase;letter-spacing:0.11em;text-decoration:none;color:var(--c-muted);border-radius:999px;border:1px solid var(--c-line);background:transparent;transition:color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease}.lang-switch a:hover{color:var(--c-text);border-color:var(--c-line-strong);background:var(--c-hover);transform:translateY(-1px)}.theme-toggle{background:transparent;border:1px solid var(--c-line);color:var(--c-muted);width:var(--control-size);height:var(--control-size);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease}.theme-toggle:hover{color:var(--c-text);border-color:var(--c-line-strong);background:var(--c-hover) !important;transform:translateY(-1px)}.theme-icon-svg{width:15px;height:15px}#sun-icon,#moon-icon{display:none}body[a="dark"] #moon-icon{display:block}body[a="light"] #sun-icon{display:block}@media (prefers-color-scheme: dark){body[a="auto"] #moon-icon{display:block}body[a="auto"] #sun-icon{display:none}}@media (prefers-color-scheme: light){body[a="auto"] #sun-icon{display:block}body[a="auto"] #moon-icon{display:none}}.page-content{padding:clamp(1.4rem, 2.8vw, 2.2rem) 0 3.5rem}.w{max-width:var(--max-width);margin:0 auto;padding:0 clamp(1rem, 3vw, 1.8rem)}.page-shell{width:100%;max-width:var(--content-width);margin:0 auto}.breadcrumbs{margin:0 0 1.4rem;font-family:var(--font-mono-ui);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.09em;color:var(--c-soft)}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0.45rem}.breadcrumbs li{display:inline-flex;align-items:center}.breadcrumbs li+li::before{content:"/";margin-right:0.45rem;opacity:0.4}.page-head{margin:0 0 1.4rem}.page-head h1{margin:0;font-family:var(--font-mono-ui);font-size:clamp(1.55rem, 3vw, 2.1rem);font-weight:600;letter-spacing:0.03em;line-height:1.15}.page-intro{margin-top:0.75rem;color:var(--c-muted);font-size:1rem;max-width:68ch}.page-empty{color:var(--c-muted);font-size:0.98rem}.content-list{margin:1.8rem 0 0;padding:0;list-style:none;border-top:1px solid var(--c-line)}.content-item{margin:0;padding:1.15rem 0;border-bottom:1px solid var(--c-line);display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start}.content-item-link{display:grid;gap:0.34rem;text-decoration:none}.content-item-title{font-family:var(--font-mono-ui);font-size:1rem;font-weight:500;letter-spacing:0.012em;line-height:1.35}.content-item-summary{color:var(--c-muted);font-size:0.93rem;line-height:1.55}.content-item-date{font-family:var(--font-mono-ui);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--c-soft);white-space:nowrap;padding-top:0.22rem}.post-single{width:100%;max-width:var(--content-width);margin:0 auto}.post-head{margin:0 0 1.5rem;padding-bottom:0.9rem;border-bottom:1px solid var(--c-line)}.post-head h1{margin:0;font-family:var(--font-mono-ui);font-size:clamp(1.8rem, 3.3vw, 2.45rem);line-height:1.15;letter-spacing:0.02em;font-weight:600}.post-meta{margin-top:0.8rem;display:flex;gap:0.75rem;align-items:center;font-family:var(--font-mono-ui);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.09em;color:var(--c-soft)}.post-content{font-size:1.03rem;line-height:1.78}.post-content h2,.post-content h3,.post-content h4{font-family:var(--font-mono-ui);letter-spacing:0.02em;margin-top:2.25rem;margin-bottom:0.85rem;line-height:1.25}.post-content h2{font-size:clamp(1.35rem, 2.5vw, 1.65rem)}.post-content h3{font-size:clamp(1.16rem, 2.1vw, 1.35rem)}.post-content p,.post-content ul,.post-content ol,.post-content blockquote,.post-content pre,.post-content table{margin-top:0;margin-bottom:1.2rem}.post-content ul,.post-content ol{padding-left:1.15rem}.post-content li{margin:0.32rem 0}.post-content blockquote,.home-quote{margin:0}.post-content blockquote{border-left:2px solid var(--c-line-strong);padding:0.35rem 0 0.35rem 1rem;color:var(--c-muted);font-style:italic}.post-content pre{border:1px solid var(--c-line);border-radius:10px;padding:0.95rem;overflow-x:auto}.post-content code:not(pre code){font-family:var(--font-mono-ui);font-size:0.88em;border:1px solid var(--c-line);border-radius:6px;padding:0.1rem 0.3rem}.post-content table{width:100%;border-collapse:collapse;border:1px solid var(--c-line)}.post-content th,.post-content td{border:1px solid var(--c-line);padding:0.5rem 0.65rem;text-align:left}.home-hero{display:grid;place-items:center;text-align:center;min-height:38vh;padding:1.1rem 0}.home-quote{font-family:var(--font-display);font-size:clamp(2.1rem, 5.3vw, 3.35rem);line-height:1.05;font-style:italic;font-weight:500;max-width:16ch;border:0 !important;padding:0;opacity:1;transform:none;animation:none}.home-quote cite{display:block;margin-top:1.2rem;font-family:var(--font-mono-ui);font-size:0.74rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;opacity:0.7;font-style:normal}@media (max-width: 900px){.nav{grid-template-columns:1fr;gap:0.7rem;justify-items:center}#menu{justify-content:center;gap:0.75rem}.header-controls{top:0.72rem;right:0.78rem}.content-item{grid-template-columns:1fr;gap:0.45rem}.content-item-date{padding-top:0}}@media (max-width: 640px){.page-content{padding-top:1.2rem}.logo a{font-size:0.96rem;letter-spacing:0.1em}#menu a{font-size:0.72rem}.header-controls{--control-size: 28px}.lang-switch a{min-width:calc(var(--control-size) + 13px);font-size:0.6rem;padding:0 0.4rem}.post-content{font-size:1rem;line-height:1.7}}
