:root{--font-body: "EB Garamond", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--color-text: #333;--color-text-light: #666;--color-link: #0066cc;--color-link-hover: #004499;--color-bg: #fffff8;--color-border: #ddd;--color-sidenote: #555;--color-code-bg: #f5f5f0;--color-code-border: #e0e0d8;--content-width: 740px;--sidenote-width: 250px;--sidenote-gap: 30px}*{box-sizing:border-box}html{font-size:22px}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.7;margin:0;padding:0}.page-wrapper{max-width:calc(var(--content-width) + var(--sidenote-width) + var(--sidenote-gap) + 4rem);margin:0 auto;padding:2rem}header{max-width:var(--content-width);margin:0 auto 2.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}nav.main-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}nav.main-nav .site-title{font-size:1.25rem;font-weight:600;color:var(--color-text);text-decoration:none}nav.main-nav .nav-links{display:flex;gap:1.75rem;align-items:center}nav.main-nav a{color:var(--color-text);text-decoration:none;font-size:.9rem;display:flex;align-items:center;gap:.35rem}nav.main-nav a:hover{color:var(--color-link)}nav.main-nav .nav-icon{font-size:.85rem;opacity:.7}.content-wrapper{display:grid;grid-template-columns:var(--content-width) var(--sidenote-width);gap:var(--sidenote-gap);align-items:start}.main-content{max-width:var(--content-width)}.sidenotes-column{position:sticky;top:2rem}.sidenote{font-size:.85rem;color:var(--color-sidenote);line-height:1.5;margin-bottom:1.5rem;padding-left:1rem;border-left:2px solid var(--color-border)}.sidenote-number{font-size:.75rem;vertical-align:super;color:var(--color-link);cursor:pointer}.sidenote-title{font-weight:600;color:var(--color-text);display:block;margin-bottom:.25rem}.sidenote-meta{font-size:.8rem;color:var(--color-text-light)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-top:1.8em;margin-bottom:.6em}h1{font-size:1.7rem}h2{font-size:1.35rem}h3{font-size:1.15rem}p{margin:1.2em 0}a{color:var(--color-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--color-link-hover)}code{font-family:var(--font-mono);font-size:.88em;background:var(--color-code-bg);padding:.15em .4em;border-radius:3px}pre{background:var(--color-code-bg);border:1px solid var(--color-code-border);border-radius:4px;padding:1rem 1.25rem;overflow-x:auto;font-size:.9rem;line-height:1.55;margin:1.5em 0}pre code{background:none;padding:0;border-radius:0;color:var(--color-text)}pre .comment{color:#6a737d}pre .keyword{color:#d73a49}pre .string{color:#22863a}pre .number{color:#005cc5}pre .function{color:#6f42c1}pre .operator{color:#d73a49}blockquote{margin:1.5em 0;padding-left:1.5em;border-left:3px solid var(--color-border);color:var(--color-text-light);font-style:italic}figure{margin:1.8em 0}figure img{max-width:100%;height:auto;border-radius:4px}figcaption{font-size:.85rem;color:var(--color-text-light);margin-top:.5em;text-align:center}img{max-width:100%;height:auto}ul,ol{margin:1.2em 0;padding-left:1.5em}li{margin:.4em 0}table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95rem}th,td{padding:.5em 1em;border-bottom:1px solid var(--color-border);text-align:left}th{font-weight:600}footer{max-width:var(--content-width);margin:4rem auto 0;padding-top:2rem;border-top:1px solid var(--color-border);font-size:.9rem;color:var(--color-text-light);text-align:center;display:flex;justify-content:center;align-items:center;gap:.5rem}footer a{color:var(--color-text-light);text-decoration:none}footer a:hover{color:var(--color-link)}footer .footer-sep{opacity:.5}.post-list{list-style:none;padding:0}.post-list li{margin:.75em 0}.post-date{color:var(--color-text-light);font-size:.9rem}.post-tags{display:inline-flex;gap:.5rem;margin-left:.5rem}.tag{font-size:.8rem;color:var(--color-text-light);background:#f0f0f0;padding:.1em .5em;border-radius:3px;text-decoration:none}.tag:hover{background:#e0e0e0}hr{border:none;border-top:1px solid var(--color-border);margin:2em 0}@media(max-width:1000px){.content-wrapper{grid-template-columns:1fr;max-width:var(--content-width)}.sidenotes-column{display:none}.sidenote-inline{display:block;font-size:.85rem;color:var(--color-sidenote);background:#f9f9f5;padding:.75rem 1rem;margin:1em 0;border-left:2px solid var(--color-border);border-radius:0 4px 4px 0}}@media(min-width:1001px){.sidenote-inline{display:none}}@media(max-width:700px){html{font-size:16px}.page-wrapper{padding:1.5rem 1rem}}.intro-row{display:flex;align-items:center;gap:1.5rem;margin-bottom:.5rem}.photo-wrapper{flex-shrink:0;margin-left:-20px;position:relative;--photo-size: 140px;width:var(--photo-size)}.auto-flair{position:absolute;top:70px;left:-28px;transform:translateY(-50%) rotate(-90deg);font-size:1.5rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));z-index:10;line-height:1;pointer-events:none}.intro-text{flex:1}.intro-text p{margin-top:0}.profile-photo{width:var(--photo-size);height:var(--photo-size);border-radius:50%;object-fit:cover;display:block}.location{display:flex;flex-direction:column;align-items:center;margin-top:.9rem;color:var(--color-text-light);width:100%}.location .pin{font-size:.9rem;line-height:1}.location .city{font-size:.7rem;letter-spacing:.03em;margin-top:.15rem}@media(max-width:500px){.intro-row{flex-direction:column;align-items:center;text-align:center}.photo-wrapper{margin-left:0;--photo-size: 120px;width:120px}.auto-flair{top:60px;left:-18px;font-size:1.1rem}}article{max-width:var(--content-width)}.post-header h1{margin-top:0}
