:root{--fg:#1a1a1a;--bg:#fff;--muted:#666;--accent:#0a5;--rule:#e5e5e5;--max:760px}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:16px/1.6 system-ui,-apple-system,segoe ui,Roboto,sans-serif;color:var(--fg);background:var(--bg)}.wrap{max-width:var(--max);margin:0 auto;padding:1rem 1.25rem}.site-header{border-bottom:1px solid var(--rule)}.site-header .wrap{display:flex;align-items:baseline;gap:1.5rem}.site-header .brand{font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--fg)}.site-header nav a{margin-right:1rem;text-decoration:none;color:var(--muted)}.site-header nav a:hover{color:var(--accent)}.hero h1{font-size:2rem;margin:1.5rem 0 .5rem}.hero .lead{font-size:1.1rem;color:var(--muted)}h1,h2,h3{line-height:1.25}a{color:var(--accent)}a:hover{text-decoration-thickness:2px}.post-list{list-style:none;padding:0}.post-list li{padding:.75rem 0;border-bottom:1px solid var(--rule)}.post-list li a{font-weight:600}.post-list time{color:var(--muted);font-size:.85rem;display:block;margin-top:.25rem}.post-list p{margin:.35rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.5}.section-intro{color:var(--muted);margin:0 0 1.5rem}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0 1rem;padding:1rem 0;border-top:1px solid var(--rule);font-size:.95rem}.pagination a{text-decoration:none;padding:.4rem .9rem;border:1px solid var(--accent);border-radius:4px;color:var(--accent)}.pagination a:hover{background:var(--accent);color:var(--bg)}.pagination .page-info{color:var(--muted)}.post header .meta{color:var(--muted);font-size:.9rem}.post .toc{border-left:3px solid var(--accent);padding:.5rem 1rem;margin:1.5rem 0;background:#f8faf9;font-size:.95rem}.post .toc h2{margin-top:0;font-size:1rem}.post .content img{max-width:100%;height:auto}.post .content pre{background:#f5f5f5;padding:.75rem 1rem;overflow-x:auto;border-radius:4px}.post .content code{font:.9em ui-monospace,sf mono,Menlo,monospace}.site-footer{border-top:1px solid var(--rule);margin-top:3rem;color:var(--muted);font-size:.9rem}.site-footer .wrap{padding:1.5rem 1.25rem}.site-footer .footer-nav{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin:0 0 .75rem}.site-footer .footer-nav a{color:var(--muted);text-decoration:none}.site-footer .footer-nav a:hover{color:var(--accent)}.site-footer .footer-meta{font-size:.85rem;line-height:1.5}.site-footer .footer-meta p{margin:.25rem 0}.skip-link{position:absolute;top:-100px;left:0;padding:.6rem 1rem;background:var(--fg);color:var(--bg);text-decoration:none;font-weight:600;z-index:1000}.skip-link:focus{top:0;outline:3px solid var(--accent)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}main:focus{outline:none}.error-page{padding:3rem 0 4rem;text-align:center}.error-page h1{font-size:3rem;margin:0 0 .5rem}.error-page p{color:var(--muted);margin:.5rem 0 1.5rem}.error-page .actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.error-page .actions a{display:inline-block;padding:.6rem 1.25rem;border:1px solid var(--accent);border-radius:4px;text-decoration:none;color:var(--accent)}.error-page .actions a:hover{background:var(--accent);color:var(--bg)}@media print{.site-header,.site-footer,.skip-link,.toc,nav{display:none!important}body{font-size:11pt;color:#000}main{max-width:none!important}a{color:#000;text-decoration:underline}a[href]::after{content:" (" attr(href)")";font-size:.85em;color:#555}a[href^="#"]::after,a[href^="javascript:"]::after{content:""}h1,h2,h3{page-break-after:avoid}pre,blockquote,table{page-break-inside:avoid}}