*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;background:#09090b;color:#a1a1aa;line-height:1.65;-webkit-font-smoothing:antialiased}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,#3f3f46,#52525b);width:0%;z-index:10000;transition:width .1s ease-out}main{max-width:520px;margin:0 auto;padding:80px 24px 100px}header{margin-bottom:48px}.avatar{width:64px;height:64px;border-radius:50%;margin-bottom:20px;opacity:.95;animation:breathe 4s ease-in-out infinite}@keyframes breathe{0%,to{box-shadow:0 0 #fafafa00}50%{box-shadow:0 0 20px 2px #fafafa0f}}.avatar:hover{box-shadow:0 0 0 3px #fafafa1a;animation:none}h1{font-size:20px;font-weight:600;color:#fafafa;letter-spacing:-.02em;margin-bottom:4px}.role{font-size:15px;color:#71717a}.role a{color:#fafafa;text-decoration:none;border-bottom:1px solid #3f3f46;transition:border-color .2s}.role a:hover{border-color:#71717a}.role a:after{content:" ↗";font-size:.7em;opacity:.5}.about{margin-bottom:56px}.about p{font-size:15px;margin-bottom:16px}.about p:last-child{margin-bottom:0}.about strong{color:#d4d4d8;font-weight:500}.about a{color:#d4d4d8;text-decoration:none;position:relative;transition:color .2s}.about a:before{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:#52525b;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.about a:hover:before{transform:scaleX(1)}.about a:hover{color:#fafafa}.about a[href^=mailto]:after,.about a[href^=http]:after{content:" ↗";font-size:.75em;opacity:.5}.about em{color:#d4d4d8;font-style:italic}.writing{margin-bottom:56px}h2{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#52525b;margin-bottom:20px}.featured{display:block;text-decoration:none;padding:16px;margin:0 -16px 16px;background:#111113;border-radius:8px;border:1px solid #27272a;transition:border-color .2s}.featured:hover{border-color:#3f3f46}.featured-label{display:block;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#52525b;margin-bottom:6px}.featured-title{font-size:16px;color:#fafafa;font-weight:500}.post{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;text-decoration:none;border-bottom:1px solid #18181b}.post:last-of-type{border-bottom:none}.post span{font-size:14px;color:#d4d4d8;transition:color .2s}.post:hover span{color:#fafafa}.post time{font-size:13px;color:#3f3f46;flex-shrink:0}.more{display:inline-block;margin-top:16px;font-size:13px;color:#52525b;text-decoration:none;transition:color .2s}.more:hover{color:#71717a}.reading{margin-bottom:56px}.book{display:block;text-decoration:none;padding:10px 0;border-bottom:1px solid #18181b}.book:last-of-type{border-bottom:none}.book-title{display:block;font-size:14px;color:#d4d4d8;transition:color .2s}.book-title:after{content:" ↗";font-size:.7em;opacity:.4}.book:hover .book-title{color:#fafafa}.book-author{font-size:13px;color:#52525b}.links{display:flex;gap:20px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:64px;padding-bottom:4px}.links a{font-size:13px;color:#52525b;text-decoration:none;transition:color .2s}.links a:hover{color:#a1a1aa}.links a[href^=http]:after,.links a[href^=mailto]:after{content:" ↗";font-size:.7em;opacity:.4}footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#27272a}.avae-credit{color:#27272a;text-decoration:none;transition:color .2s}.avae-credit:hover{color:#52525b}.sticky-header{position:fixed;top:16px;left:50%;transform:translate(-50%) translateY(-60px);max-width:520px;width:calc(100% - 48px);background:#09090bd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(39,39,42,.5);border-radius:12px;opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s ease-out;z-index:1000}.sticky-header.visible{transform:translate(-50%) translateY(0);opacity:1}.sticky-inner{padding:12px 20px;display:flex;align-items:center;gap:12px}.sticky-avatar{width:28px;height:28px;border-radius:50%;opacity:.95;transition:transform .3s ease}.sticky-header:hover .sticky-avatar{transform:scale(1.05)}.sticky-name{font-size:14px;font-weight:500;color:#fafafa}.sticky-spacer{flex:1}.sticky-time{font-size:12px;color:#52525b;font-variant-numeric:tabular-nums}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-section{opacity:0;animation:fadeInUp .6s ease-out forwards;animation-delay:calc(var(--delay, 0) * .1s)}@keyframes avatarPop{0%{transform:scale(.9);opacity:.5}to{transform:scale(1);opacity:1}}.avatar{animation:avatarPop .5s ease-out forwards}.post{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;border-left:2px solid transparent;padding-left:12px;margin-left:-14px}.post:hover{transform:translate(4px);border-left-color:#3f3f46}.featured{transition:transform .2s ease,box-shadow .2s ease}.featured:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.books-grid{display:flex;flex-wrap:wrap;gap:24px;margin-top:16px}.book{display:flex;flex-direction:column;gap:10px;text-decoration:none;max-width:160px;perspective:800px}.book-cover-wrapper{display:contents}.book-cover{width:100%;height:auto;max-height:240px;object-fit:contain;border-radius:4px;box-shadow:0 8px 24px #0006,inset 4px 0 8px -4px #0000004d;transition:transform .4s ease,box-shadow .4s ease;transform-style:preserve-3d}.book:hover .book-cover{transform:rotateY(-12deg) rotateX(4deg) scale(1.03);box-shadow:12px 16px 32px #00000080,inset 6px 0 12px -4px #0006}.book-info{display:flex;flex-direction:column;gap:2px;min-width:0}.book-title{font-size:14px;color:#d4d4d8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.book-author{font-size:12px;color:#52525b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grain{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.015;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}@media (max-width: 520px){main{padding:48px 20px 64px}.post{flex-direction:column;gap:4px}.sticky-header{top:12px;width:calc(100% - 32px)}.sticky-inner{padding:10px 16px;gap:8px}.sticky-avatar{width:24px;height:24px}.sticky-name{font-size:13px}.sticky-time{font-size:11px}.links{gap:12px}.links a{font-size:11px}}
