:root{--bg: #fafafa;--bg-elevated: #ffffff;--bg-hover: #f0f0f0;--text: #404040;--text-dim: #8a8a8a;--text-bright: #171717;--accent: #171717;--accent-dim: rgba(23, 23, 23, .06);--border: #e5e5e5;--mono: "JetBrains Mono", monospace;--serif: "Source Serif 4", Georgia, serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--mono);background:var(--bg);color:var(--text);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}::selection{background:var(--text-bright);color:var(--bg)}a{color:var(--accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.75}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#fafafad9;backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-logo{font-weight:600;font-size:1rem;color:var(--text-bright);letter-spacing:-.5px}.nav-links{display:flex;gap:1.75rem}.nav-links a{color:var(--text-dim);font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;transition:color .2s}.nav-links a:hover{color:var(--text-bright);opacity:1}.container{max-width:700px;margin:0 auto;padding:0 2rem}section{padding:5rem 0}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:5rem}.hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;color:var(--text-bright);line-height:1.15;letter-spacing:-1.5px;margin-bottom:1.5rem}.hero h1 .cursor{display:inline-block;width:3px;height:.85em;background:var(--accent);margin-left:4px;vertical-align:baseline;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.hero-subline{font-size:1rem;color:var(--text-dim);margin-bottom:1.5rem;letter-spacing:-.2px}.hero-bio{font-size:.95rem;color:var(--text);max-width:520px;line-height:1.8}.hero-bio strong{color:var(--text-bright);font-weight:500}.hero-links{margin-top:2.5rem;display:flex;gap:1.25rem}.hero-links a{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-dim);font-size:.8rem;letter-spacing:.3px;padding:.5rem 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.hero-links a:hover{color:var(--text-bright);border-bottom-color:var(--border);opacity:1}.hero-links svg{width:16px;height:16px;fill:currentColor}.divider{border:none;height:1px;background:var(--border);margin:0}.section-label{font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);margin-bottom:2.5rem}.role{margin-bottom:2.5rem}.role:last-child{margin-bottom:0}.role-title{font-size:1rem;font-weight:600;color:var(--text-bright);margin-bottom:.15rem}.role-desc{font-size:.85rem;color:var(--text-dim);margin-top:.5rem;line-height:1.7}.now-badge{display:inline-block;font-size:.65rem;letter-spacing:1px;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);padding:.15rem .5rem;border-radius:3px;margin-left:.5rem;vertical-align:middle}.posts-list{list-style:none}.post-item{border-bottom:1px solid var(--border)}.post-item:first-child{border-top:1px solid var(--border)}.post-link{display:flex;justify-content:space-between;align-items:baseline;padding:1.25rem 0;color:var(--text);transition:background .15s,padding .15s;gap:1rem}.post-link:hover{color:var(--text-bright);opacity:1}.post-title{font-size:.95rem;font-weight:500;color:inherit}.post-meta{font-size:.78rem;color:var(--text-dim);white-space:nowrap}.post-tag{font-size:.7rem;color:var(--accent);background:var(--accent-dim);padding:.1rem .45rem;border-radius:2px;margin-right:.75rem}.post-content{font-family:var(--mono);font-size:1.05rem;line-height:1.9;color:var(--text)}.post-content p{margin-bottom:1.25rem}.post-content strong{color:var(--text-bright);font-weight:600}.post-content h2{font-family:var(--mono);font-size:1.2rem;font-weight:600;color:var(--text-bright);margin:2.5rem 0 1rem}.post-content h3{font-family:var(--mono);font-size:1rem;font-weight:600;color:var(--text-bright);margin:2rem 0 .75rem}.post-content ul,.post-content ol{margin:1rem 0 1.25rem 1.5rem}.post-content li{margin-bottom:.5rem}.post-content code{font-family:var(--mono);font-size:.85rem;background:var(--accent-dim);padding:.15rem .4rem;border-radius:3px}.post-content pre{background:var(--text-bright);color:#e5e5e5;padding:1.25rem;border-radius:6px;overflow-x:auto;margin:1.5rem 0}.post-content pre code{background:none;padding:0;color:inherit}.post-content blockquote{border-left:3px solid var(--border);padding-left:1.25rem;margin:1.5rem 0;color:var(--text-dim);font-style:italic}.media-list{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-top:.75rem}.media-thumb{display:block;position:relative;width:100%;max-width:420px;border-radius:6px;overflow:hidden;background:var(--bg-elevated);transition:transform .18s ease,box-shadow .18s ease;border:1px solid var(--border)}.media-thumb img{display:block;width:100%;height:auto;vertical-align:middle}.media-thumb .play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.media-thumb .play-overlay svg{width:56px;height:56px;color:#fffffff2;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}.media-thumb:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 30px #1717171f}.media-caption{font-size:.9rem;color:var(--text-dim);margin-top:8px}.post-content a{text-decoration:underline;text-underline-offset:2px}.post-header{margin-bottom:3rem}.post-header h1{font-family:var(--mono);font-size:clamp(1.5rem,4vw,2.2rem);font-weight:700;color:var(--text-bright);line-height:1.25;letter-spacing:-1px;margin-bottom:.75rem}.post-header-meta{font-size:.8rem;color:var(--text-dim)}footer{padding:3rem 0;border-top:1px solid var(--border);margin-top:2rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--text-dim)}.footer-links{display:flex;gap:1.25rem}.footer-links a{color:var(--text-dim);font-size:.78rem}.footer-links a:hover{color:var(--text-bright)}.fade-in{opacity:0;transform:translateY(12px);animation:fadeUp .6s ease forwards}.fade-in:nth-child(1){animation-delay:.1s}.fade-in:nth-child(2){animation-delay:.2s}.fade-in:nth-child(3){animation-delay:.35s}.fade-in:nth-child(4){animation-delay:.5s}.fade-in:nth-child(5){animation-delay:.65s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media(max-width:600px){nav{padding:1rem 1.25rem}.container{padding:0 1.25rem}.hero-links{flex-wrap:wrap}.post-link{flex-direction:column;gap:.25rem}}
