@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}body{margin:0;min-width:320px;min-height:100vh;font-family:Geist,system-ui,sans-serif}code,pre,kbd,samp{font-family:Geist Mono,monospace}html,body{height:100%}body{margin:0;padding:0;font-family:Geist,system-ui,sans-serif;background:#e9e6df;color:#222;height:100%;min-height:100vh;display:flex;align-items:center;justify-content:center}*,*:before,*:after{box-sizing:border-box}.container{min-width:370px;max-width:520px;padding:3.5rem 2.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.name{font-size:3rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-1px}.tagline{font-size:1.25rem;color:#666;margin-bottom:2.5rem}.links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.links a{font-size:1.1rem;text-decoration:none;color:#222;border:1px solid #eee;padding:.75rem 1.5rem;border-radius:999px;transition:background .2s,color .2s,box-shadow .2s;box-shadow:0 1px 4px #00000008;background:#fafafa}.links a:hover{background:#222;color:#fff;border-color:#222}.profile-row{display:flex;align-items:center;gap:2rem;margin-bottom:2.5rem}.profile-pic{width:120px;height:120px;object-fit:cover;border-radius:50%;box-shadow:0 2px 12px #00000014;border:2px solid #000;background:#fafafa}.profile-pic,.profile-pic.small{border:2px solid #000}.icon{display:inline-flex;align-items:center;margin-right:.4em;font-size:1.2em;position:static}.profile-row.minimal{gap:1.2rem;margin-bottom:.7rem}.profile-pic.small{width:130px;height:130px}.name.minimal{font-size:2.1rem;font-weight:700;margin-bottom:.2rem;letter-spacing:-.5px}.location{font-size:1.18rem;color:#888;margin-bottom:.05rem;text-align:left}.tagline.minimal{font-size:1.35rem;color:#666;margin-bottom:0;margin-top:.1rem}.bio{font-size:.82rem;color:#666;line-height:1.55;margin:.45rem 0 0;text-align:left}.icon-grid{display:grid;grid-template-columns:repeat(5,44px);gap:.9rem;justify-content:center;margin-top:.7rem}.grid-icon{font-size:1.5rem;color:#222;transition:color .2s,transform .2s;display:block;margin:0 auto;position:static}.icon-grid a{display:flex;align-items:center;justify-content:center;border-radius:50%;width:44px;height:44px;background:#f5f5f5;box-shadow:0 1px 4px #00000008;transition:background .2s,box-shadow .2s,transform .2s}.icon-grid a:hover .grid-icon{color:#fff}.icon-grid a:hover{background:#222;box-shadow:0 2px 8px #00000014;transform:translateY(-2px) scale(1.08)}.location-icon{margin-right:.4em;vertical-align:middle;font-size:1.1em;color:#222;position:relative;top:-2px}@media (max-width: 600px){.name{font-size:2rem}.links{gap:1rem}.links a{padding:.5rem 1rem;font-size:1rem}.profile-row{flex-direction:column;gap:1.25rem}.profile-pic{width:90px;height:90px}.icon-grid{grid-template-columns:repeat(5,40px);gap:.7rem}.grid-icon{font-size:1.3rem}.profile-pic.small{width:100px;height:100px}.name.minimal{font-size:1.3rem}.location{font-size:1rem}.tagline.minimal{font-size:1.05rem}}.back-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#f5f5f5;color:#222;font-size:1.2rem;text-decoration:none;transition:background .2s,transform .2s;margin-bottom:2rem}.back-btn:hover{background:#222;color:#fff;transform:translateY(-1px)}.blog-page{max-width:640px;margin:0 auto;padding:3rem 2rem}.blog-page h2{font-size:1.6rem;font-weight:700;margin-bottom:2rem;letter-spacing:-.3px}.post-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.2rem}.post-item a{display:block;text-decoration:none;color:#222;padding:1.1rem 1.3rem;border-radius:10px;background:#f5f5f5;transition:background .2s,transform .15s}.post-item a:hover{background:#222;color:#fff;transform:translateY(-2px)}.post-item a:hover .post-date{color:#aaa}.post-title{font-size:1.05rem;font-weight:600;margin-bottom:.25rem}.post-date{font-size:.85rem;color:#888}.post-desc{font-size:.92rem;margin-top:.2rem;opacity:.8}.post-page{max-width:640px;margin:0 auto;padding:3rem 2rem}.post-page h1{font-size:2rem;font-weight:700;margin-bottom:.4rem;letter-spacing:-.5px;line-height:1.2}.post-meta{font-size:.88rem;color:#888;margin-bottom:2.2rem}.post-body{font-size:1rem;line-height:1.75;color:#333}.post-body h1,.post-body h2,.post-body h3{margin-top:2rem;margin-bottom:.5rem;font-weight:700;color:#111}.post-body p{margin-bottom:1.2rem}.post-body a{color:#222;text-decoration:underline}.post-body code{font-family:Geist Mono,monospace;font-size:.88em;background:#ebe8e1;padding:.15em .35em;border-radius:4px}.post-body pre{background:#ebe8e1;border-radius:8px;padding:1.1rem 1.3rem;overflow-x:auto;margin-bottom:1.2rem}.post-body pre code{background:none;padding:0}@media (max-width: 600px){.blog-page,.post-page{padding:2rem 1.2rem}.post-page h1{font-size:1.5rem}}.books-page{max-width:640px;margin:0 auto;padding:3rem 2rem}.books-section{margin-bottom:2.5rem}.books-section h2{font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:1rem}.book-list{display:flex;flex-direction:column;gap:.85rem}.book-entry{background:#f5f5f5;border-radius:10px;padding:.9rem 1.1rem}.book-main{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.2rem}.book-title{font-weight:600;font-size:.98rem;color:#222}.book-title-link{font-weight:600;font-size:.98rem;color:#222;text-decoration:none;border-bottom:1px solid #bbb;transition:color .2s,border-color .2s}.book-title-link:hover{color:#000;border-color:#000}.book-type{font-size:.75rem;color:#aaa;background:#e8e8e8;padding:.1em .45em;border-radius:4px;text-transform:lowercase}.book-sub{display:flex;gap:.6rem;align-items:baseline;margin-bottom:.25rem}.book-author{font-size:.87rem;color:#555}.book-year{font-size:.8rem;color:#aaa}.book-meta{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.book-rating{font-size:.8rem;color:#b5924c;letter-spacing:.05em}.book-notes{font-size:.82rem;color:#888;font-style:italic}@media (max-width: 600px){.books-page{padding:2rem 1.2rem}}
