:root{--bg:#f5f5f0;--text:#222222;--link:#1a4d80;--link-visited:#4a3560;--link-hover:#2a6db0;--border:#888888;--muted:#555555;--surface:#e8e8e0;--code-bg:#eaeae2;--highlight:#b8860b}[data-theme=dark]{--bg:#1a1a1a;--text:#d8d8d8;--link:#8ab4e0;--link-visited:#b8a0c8;--link-hover:#a8c8f0;--border:#555555;--muted:#999999;--surface:#252525;--code-bg:#202020;--highlight:#d4a84b}*,*::before,*::after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:times new roman,Times,serif;font-size:16px;line-height:1.6}header,main,footer{max-width:800px;margin:0 auto;padding:10px 20px}header{border-bottom:2px solid var(--border)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}header h1{margin:10px 0;font-size:24px}header h1 a{color:var(--text);text-decoration:none}header h1 a:hover{text-decoration:underline}.header-actions{display:flex;gap:8px;align-items:center}.theme-toggle{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:6px 10px;cursor:pointer;font-family:inherit;font-size:16px;line-height:1}.theme-toggle:hover,.theme-toggle:focus{background:var(--text);color:var(--bg)}.mobile-menu-toggle{display:none;background:var(--surface);color:var(--text);border:1px solid var(--border);padding:8px 12px;cursor:pointer;font-family:inherit;font-size:16px}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus{background:var(--text);color:var(--bg)}.desktop-nav ul{list-style:none;margin:10px 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.desktop-nav li{display:inline}.desktop-nav a{display:inline-block;padding:5px 10px;text-decoration:none;border:1px solid var(--border);background:var(--surface);color:var(--text)}.desktop-nav a:hover,.desktop-nav a:focus{background:var(--text);color:var(--bg)}.desktop-nav a[aria-current=page]{background:var(--text);color:var(--bg);font-weight:700}.mobile-menu{background:var(--surface);border:1px solid var(--border);padding:15px;margin-top:10px}.mobile-menu[hidden]{display:none}.mobile-menu ul{list-style:none;margin:0;padding:0}.mobile-menu li{margin-bottom:5px}.mobile-menu a{display:block;padding:12px 15px;text-decoration:none;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:18px;text-align:center}.mobile-menu a:hover,.mobile-menu a:focus{background:var(--text);color:var(--bg)}.mobile-menu a[aria-current=page]{background:var(--text);color:var(--bg);font-weight:700}@media(max-width:600px){.mobile-menu-toggle{display:block}.desktop-nav{display:none}.header-row{justify-content:space-between}header h1{font-size:20px}}a{color:var(--link)}a:visited{color:var(--link-visited)}a:hover,a:focus{color:var(--link-hover)}a:focus{outline:2px solid var(--highlight);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:var(--text);margin:1em 0 .5em;line-height:1.3}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}h4{font-size:16px}main{min-height:50vh}main>h1:first-child{text-align:center;border-bottom:1px solid var(--border);padding-bottom:10px}p{margin:0 0 1em}ul,ol{margin:0 0 1em;padding-left:30px}li{margin-bottom:5px}hr{border:none;border-top:1px solid var(--border);margin:20px 0}img{max-width:100%;height:auto;border:1px solid var(--border)}code{font-family:courier new,Courier,monospace;background:var(--code-bg);padding:2px 4px;border:1px solid var(--border)}pre{background:var(--code-bg);border:1px solid var(--border);padding:10px;overflow-x:auto;margin:1em 0}pre code{background:0 0;border:none;padding:0}.highlight,.chroma{background:var(--code-bg);border:1px solid var(--border);padding:10px;overflow-x:auto;margin:1em 0}.highlight pre,.chroma pre{background:0 0;border:none;margin:0;padding:0}.chroma span{background:0 0 !important}blockquote{border-left:3px solid var(--border);margin:1em 0;padding:10px 20px;background:var(--surface)}table{border-collapse:collapse;width:100%;margin:1em 0}th,td{border:1px solid var(--border);padding:8px;text-align:left}th{background:var(--surface)}.btn{display:inline-block;background:var(--surface);color:var(--text);border:2px solid var(--border);padding:5px 15px;text-decoration:none;cursor:pointer;font-family:inherit;font-size:14px}.btn:hover,.btn:focus{background:var(--text);color:var(--bg)}.btn:focus{outline:2px solid var(--highlight);outline-offset:2px}.post-preview,article{margin-bottom:20px;padding-bottom:20px;border-bottom:1px dashed var(--border)}.post-preview:last-child,article:last-child{border-bottom:none}.post-preview h2,.post-preview h3{margin-top:0}.post-meta{color:var(--muted);font-size:14px;margin-bottom:10px}.post-summary{margin-bottom:10px}.series-label{background:var(--surface);border:1px solid var(--border);padding:2px 6px;font-size:12px;margin-left:10px}.page-meta{background:var(--surface);border:1px solid var(--border);padding:10px;margin-bottom:20px;font-size:14px}.page-meta dt{font-weight:700;display:inline}.page-meta dd{display:inline;margin:0 20px 0 5px}.filter-section{background:var(--surface);border:1px solid var(--border);padding:10px;margin-bottom:20px}.filter-section legend{font-weight:700;padding:0 5px}.series-btn{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:3px 8px;margin:2px;cursor:pointer;font-family:inherit;font-size:12px}.series-btn:hover,.series-btn:focus,.series-btn.active{background:var(--text);color:var(--bg)}.series-btn:focus{outline:2px solid var(--highlight);outline-offset:1px}.references-section{margin-bottom:30px}.references-section h2{border-bottom:1px solid var(--border);padding-bottom:5px}.reference-url-small{font-size:12px;color:var(--muted);word-break:break-all}.ref-links{margin-left:8px;font-size:12px;font-family:monospace}.ref-links::before{content:"[";color:var(--muted)}.ref-links::after{content:"]";color:var(--muted)}.archive-link{text-decoration:none;color:var(--muted)}.archive-link:hover,.archive-link:focus{color:var(--text);text-decoration:underline}.archive-link:visited{color:var(--muted)}.archive-link+.archive-link::before{content:" | ";color:var(--muted);text-decoration:none}.pagination{text-align:center;margin:20px 0;padding:10px 0;border-top:1px solid var(--border)}.pagination a,.pagination span{display:inline-block;padding:5px 10px;margin:2px;border:1px solid var(--border)}.pagination a{text-decoration:none;background:var(--surface)}.pagination a:hover,.pagination a:focus{background:var(--text);color:var(--bg)}.pagination-current{background:var(--text);color:var(--bg);font-weight:700}footer{border-top:2px solid var(--border);text-align:center;font-size:14px;margin-top:20px}.social-link{display:inline-block;margin-right:10px;margin-bottom:5px}.social-icon svg{width:16px;height:16px;vertical-align:middle}.hidden{display:none !important}#bluesky-comments-container{margin-top:30px;border-top:2px solid var(--border);padding-top:20px}.comment-reply-box{background:var(--surface);border:1px solid var(--border);padding:10px;margin-bottom:20px}.comment-element{margin-bottom:15px;padding-bottom:15px;border-bottom:1px dashed var(--border)}.comment-container{display:flex;gap:10px}.comment-avatar{width:40px;height:40px;border:1px solid var(--border)}.comment-details{flex:1}.comment-header{font-size:12px;color:var(--muted);margin-bottom:5px}.comment-text{margin:0}.comment-meta{font-size:12px;color:var(--muted)}.child-comments{margin-left:50px;padding-left:10px;border-left:1px solid var(--border)}.comment-loading,.no-comments-found,.comment-error{text-align:center;padding:10px;color:var(--muted)}.error-404{text-align:center;padding:40px 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}mark,::selection{background:var(--highlight);color:var(--bg)}strong,b{color:var(--text)}em,i{color:var(--text)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}@media print{body{background:#fff;color:#000}header,footer,nav,.btn{display:none}a{color:#000;text-decoration:underline}a[href]::after{content:" (" attr(href)")";font-size:12px}}