@font-face{font-family:Inter;src:url(/fonts/inter-variable.woff2) format("woff2");font-weight:100 900;font-display:swap;font-style:normal}:root{--color-bg: #faf9f7;--color-bg-elevated: #ffffff;--color-bg-subtle: #f3f1ed;--color-text: #1a1a1a;--color-text-secondary: #4a4a4a;--color-text-muted: #888;--color-accent: #c05621;--color-accent-hover: #a04518;--color-accent-light: rgba(192, 86, 33, .08);--color-border: #e5e2dd;--color-selection: rgba(192, 86, 33, .15);--font-serif: "Lora", "Georgia", serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--max-width: 680px;--transition: .25s ease}[data-theme=dark]{--color-bg: #002b36;--color-bg-elevated: #073642;--color-bg-subtle: #073642;--color-text: #c4ccce;--color-text-secondary: #93a1a8;--color-text-muted: #7d8f97;--color-accent: #ff8b48;--color-accent-hover: #ffab76;--color-accent-light: rgba(255, 139, 72, .1);--color-border: #586e75;--color-selection: rgba(255, 139, 72, .15)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}::selection{background:var(--color-selection)}body{font-family:var(--font-sans);font-size:1.0625rem;background:var(--color-bg);color:var(--color-text);line-height:1.72;-webkit-font-smoothing:antialiased;transition:background var(--transition),color var(--transition)}a{color:var(--color-accent);text-decoration:underline;text-decoration-color:#c056214d;text-underline-offset:2px;transition:color var(--transition),text-decoration-color var(--transition)}[data-theme=dark] a{text-decoration-color:#ff8b484d}a:hover{color:var(--color-accent-hover);text-decoration-color:var(--color-accent-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.progress-bar{position:fixed;top:0;left:0;height:2px;background:var(--color-accent);width:0%;z-index:100;transition:width .1s linear}.site-header{padding:2.5rem 0 2rem;display:flex;justify-content:space-between;align-items:center}.site-name{font-family:var(--font-serif);font-size:1.3rem;font-weight:700;color:var(--color-text);text-decoration:none;letter-spacing:-.01em}.site-name:hover{color:var(--color-text);text-decoration:none}.site-nav{display:flex;align-items:center;gap:1.5rem}.site-nav a{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;text-decoration:none;transition:color var(--transition)}.site-nav a:hover{color:var(--color-text)}.site-header{position:sticky;top:0;z-index:50;background:var(--color-bg);transition:background var(--transition)}.theme-toggle{background:none;border:1px solid var(--color-border);border-radius:50%;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--color-text-muted);transition:all var(--transition)}.theme-toggle:hover{border-color:var(--color-text-muted);color:var(--color-text)}.hero{padding:2.5rem 0 3.5rem;text-align:center}.hero .avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center;border:2px solid var(--color-border);margin-bottom:1.25rem}.hero h1{font-family:var(--font-serif);font-size:2.15rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:1rem;color:var(--color-text);text-align:left}.hero .intro{font-size:1.05rem;color:var(--color-text-secondary);line-height:1.65;max-width:560px;text-align:left}.hero-links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.25rem}hr{border:none;border-top:1px solid var(--color-border);margin:0}.section-heading{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:2.5rem 0 1.5rem;padding-bottom:.65rem;border-bottom:2px solid var(--color-accent);display:inline-block}.home-post-list{list-style:none}.home-post-item{padding:1.5rem 0;border-bottom:1px solid var(--color-border)}.home-post-item:first-child{border-top:1px solid var(--color-border)}.home-post-item a.post-item-link{text-decoration:none;display:block}.home-post-item a.post-item-link:hover h2{color:var(--color-accent)}.home-post-item h2{font-family:var(--font-serif);font-size:1.45rem;font-weight:600;line-height:1.3;color:var(--color-text);margin-bottom:.35rem;transition:color var(--transition)}.home-post-item .excerpt{color:var(--color-text-secondary);font-size:.925rem;line-height:1.6;margin-bottom:.4rem}.post-meta{color:var(--color-text-muted);font-size:.8rem}.all-posts-link{display:inline-block;margin-top:1.75rem;font-size:.9rem;font-weight:500}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.card{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem}.card h3{font-family:var(--font-serif);font-size:1rem;font-weight:600;margin-bottom:.4rem}.card p{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:0}.social-grid{display:flex;gap:.75rem;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);font-size:.9rem;font-weight:500;text-decoration:none;transition:all var(--transition)}.social-link:hover{color:var(--color-accent);border-color:var(--color-accent);text-decoration:none}.social-link i{font-size:1rem}.subscribe-form{display:flex;gap:.5rem;max-width:380px}.subscribe-form input[type=email]{flex:1;padding:.55rem .85rem;font-family:var(--font-sans);font-size:.875rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color var(--transition)}.subscribe-form input[type=email]::placeholder{color:var(--color-text-muted)}.subscribe-form input[type=email]:focus{border-color:var(--color-accent)}.subscribe-form button{padding:.55rem 1.1rem;font-family:var(--font-sans);font-size:.85rem;font-weight:600;background:var(--color-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background var(--transition)}.subscribe-form button:hover{background:var(--color-accent-hover)}.contact-form{max-width:560px}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.4rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem 1rem;font-family:var(--font-sans);font-size:1rem;background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;outline:none;transition:border-color var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent)}.form-group textarea{resize:vertical;min-height:120px}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.contact-submit{padding:.65rem 1.25rem;font-family:var(--font-sans);font-size:.9rem;font-weight:600;background:var(--color-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background var(--transition)}.contact-submit:hover{background:var(--color-accent-hover)}.page-header{margin-bottom:2rem}.page-header h1{font-family:var(--font-serif);font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.page-header p{color:var(--color-text-secondary)}.page-content{margin-bottom:3rem}.page-content p{margin-bottom:1rem}.page-content h2{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;margin:2.5rem 0 1rem;color:var(--color-text)}.page-section{margin-bottom:2.5rem}.page-section h2{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text)}.page-section p{color:var(--color-text-secondary);margin-bottom:1rem}.gpg-note{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);margin-top:.75rem}.gpg-note a{color:var(--color-text-muted);text-decoration:none}.gpg-note a:hover{color:var(--color-accent)}.site-footer{padding:2rem 0 3.5rem;margin-top:3.5rem;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;color:var(--color-text-muted);font-size:.8rem}.footer-nav{display:flex;gap:1.25rem;align-items:center}.footer-nav a{color:var(--color-text-muted);font-size:.8rem;text-decoration:none;transition:color var(--transition)}.footer-nav a:hover{color:var(--color-text-secondary)}.footer-sep{color:var(--color-border);font-size:.7rem;user-select:none}.footer-icons{display:flex;gap:1rem;align-items:center}.footer-icons a{color:var(--color-text-muted);font-size:.9rem;text-decoration:none;transition:color var(--transition)}.footer-icons a:hover{color:var(--color-accent)}@media(max-width:600px){.site-header{padding:2rem 0 1.5rem;flex-wrap:wrap;gap:.75rem}.hero h1{font-size:1.75rem}.card-grid{grid-template-columns:1fr}.subscribe-form,.social-grid{flex-direction:column}.site-footer{flex-direction:column;gap:1rem;align-items:flex-start}.page-header h1{font-size:1.5rem}}.blog-nav{display:flex;align-items:center;padding:1.5rem 0;margin-bottom:2rem}.blog-nav .back-link{font-size:.85rem;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition)}.blog-nav .back-link:hover{color:var(--color-text)}.blog-header{margin-bottom:2.5rem}.blog-header h1{font-family:var(--font-serif);font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.blog-header p{color:var(--color-text-secondary)}.post-list{list-style:none}.post-list li{padding:1.5rem 0;border-bottom:1px solid var(--color-border)}.post-list li:first-child{border-top:1px solid var(--color-border)}.post-list a.post-title{font-family:var(--font-serif);color:var(--color-text);font-weight:600;font-size:1.15rem;text-decoration:none;transition:color var(--transition)}.post-list a.post-title:hover{color:var(--color-accent)}.post-list time{display:block;color:var(--color-text-muted);font-size:.8rem;margin-bottom:.25rem}.post-list .post-desc{color:var(--color-text-secondary);font-size:.925rem;margin-top:.3rem;line-height:1.55}.read-more{font-size:.85rem;margin-top:.35rem;display:inline-block}.shorts-stream{margin-top:3rem}.shorts-stream h2{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:1.5rem}.short-item{padding:1rem 0;border-bottom:1px solid var(--color-border)}.short-item:first-of-type{border-top:1px solid var(--color-border)}.short-date-link{text-decoration:none}.short-date-link time,.short-item time{display:block;color:var(--color-text-muted);font-size:.8rem;margin-bottom:.35rem}.short-date-link:hover time{color:var(--color-accent)}.short-item p{color:var(--color-text);font-size:.95rem;line-height:1.6}.post-header{margin-bottom:2.5rem}.post-header h1{font-family:var(--font-serif);font-size:2.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:.75rem}.post-byline{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:.25rem}.post-header time{display:block;color:var(--color-text-muted);font-size:.8rem;margin-bottom:.5rem}.post-tags{display:flex;gap:.5rem;flex-wrap:wrap}.tag{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;transition:color var(--transition)}a.tag{text-decoration:none}a.tag:hover{color:var(--color-accent)}.post-tags .tag+.tag:before{content:"·";margin-right:.5rem;color:var(--color-text-muted)}.article-divider{width:40px;border:none;border-top:2px solid var(--color-border);margin:0 0 2.5rem}.post-content>p:first-of-type:first-letter{font-family:var(--font-serif);font-size:3.5rem;font-weight:700;float:left;line-height:.85;margin-right:.1em;margin-top:.1em;color:var(--color-accent)}.post-content h2{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;margin:2.75rem 0 .85rem;color:var(--color-text);letter-spacing:-.01em}.post-content h3{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;margin:2.25rem 0 .65rem}.post-content p{margin-bottom:1.35rem;color:var(--color-text)}.post-content ul,.post-content ol{margin-bottom:1.35rem;padding-left:1.5rem}.post-content li{margin-bottom:.45rem}.post-content blockquote{border-left:3px solid var(--color-accent);padding:.75rem 0 .75rem 1.25rem;margin:1.75rem 0;background:var(--color-bg-subtle);border-radius:0 6px 6px 0;font-style:normal}.post-content blockquote p{color:var(--color-text-secondary);font-size:.975rem;line-height:1.65;margin-bottom:0}.callout{display:flex;gap:.75rem;align-items:flex-start;background:var(--color-accent-light);border-left:3px solid var(--color-accent);border-radius:0 6px 6px 0;padding:1rem 1.25rem;margin:1.75rem 0}.callout i{color:var(--color-accent);font-size:.9rem;flex-shrink:0;margin-top:.2rem}.callout p{font-size:.95rem;line-height:1.6;color:var(--color-text);margin-bottom:0}.callout strong{color:var(--color-accent);font-weight:600}.pull-quote{font-family:var(--font-serif);font-size:1.4rem;font-weight:600;line-height:1.35;color:var(--color-accent);text-align:center;padding:2rem 1.5rem;margin:2.5rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.post-content code{font-family:var(--font-mono);font-size:.85em;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:4px;padding:.15rem .35rem}.post-content pre{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;overflow-x:auto;margin:1.75rem 0}.post-content pre code{background:none;border:none;padding:0;font-size:.85rem;line-height:1.65}.post-content img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0}.post-content hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.share-row{display:flex;align-items:center;gap:.75rem;padding-top:2rem;margin-top:2rem;border-top:1px solid var(--color-border)}.share-label{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.share-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:6px;font-size:1rem;text-decoration:none;transition:all var(--transition)}.share-btn:hover{color:var(--color-accent);border-color:var(--color-accent);text-decoration:none}.author-card{display:flex;align-items:center;gap:1rem;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-top:2rem}.author-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}.author-info strong{display:block;font-size:1rem;margin-bottom:.25rem}.author-info p{color:var(--color-text-secondary);font-size:.9rem;margin:0;line-height:1.5}.author-social{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--color-text-muted);margin-top:.4rem;text-decoration:none}.author-social:hover{color:var(--color-accent)}.subscribe-section{text-align:center;padding:1.75rem;background:var(--color-bg-subtle);border-radius:8px;margin:2.5rem 0}.subscribe-section h3{font-family:var(--font-serif);font-size:1.15rem;font-weight:600;margin-bottom:.3rem}.subscribe-section p{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:.85rem}.subscribe-section .subscribe-form{margin:0 auto}.subscribe-links{display:flex;justify-content:center;gap:1rem;margin-top:.75rem}.subscribe-links a{color:var(--color-text-muted);font-size:.85rem;text-decoration:none;transition:color var(--transition)}.subscribe-links a:hover{color:var(--color-accent)}.related-posts{border-top:1px solid var(--color-border);padding-top:2.25rem;margin-top:3rem}.related-posts h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:1rem}.related-list{list-style:none}.related-list li{margin-bottom:.85rem}.related-list a{font-family:var(--font-serif);font-size:1.05rem;font-weight:600;color:var(--color-text);text-decoration:none}.related-list a:hover{color:var(--color-accent)}.coming-soon{text-align:center;padding:3rem 0;color:var(--color-text-muted)}.coming-soon p{margin-bottom:1.5rem}@media(max-width:600px){.post-header h1{font-size:2rem}.blog-header h1{font-size:1.75rem}.post-content{font-size:1rem}.pull-quote{font-size:1.2rem}.subscribe-section .subscribe-form{flex-direction:column}}
