:root{--color-bg: white;--color-text: black;--color-muted: #333;--color-surface: #f5f5f5;--color-border: #ddd;--color-highlight: yellow;--color-hover: #e0e0e0;--color-active: #d0d0d0;--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);--transition: 0.2s ease}body[theme=dark]{filter:invert(1)}body[theme=dark] img{filter:invert(1)}body[theme=dark] img.invertable{filter:invert(0)}@media (prefers-color-scheme: dark){body[theme=auto]{filter:invert(1)}body[theme=auto] img{filter:invert(1)}body[theme=auto] img.invertable{filter:invert(0)}}html,body{background:var(--color-bg);overflow-x:hidden}html{height:100%}body{color:var(--color-text);font-family:monospace;font-size:16px;line-height:1.4;margin:0;min-height:100%;overflow-wrap:break-word;display:flex;flex-direction:column}*{box-sizing:border-box}h2,h3,h4,h5,h6{margin-top:3rem}p{margin:1rem 0}li{margin:.4rem 0}*:target{background:var(--color-highlight)}.w{max-width:960px;margin:0 auto;padding:1rem 2rem 4rem;flex:1}@media (max-width: 480px){.w{padding:1rem 1rem 4rem}}hr{margin:2rem 0;text-align:center;border:0}hr:before{content:"/////"}hr:after{content:attr(data-content) "/////"}table{width:100%}table,th,td{border:thin solid var(--color-text);border-collapse:collapse;padding:.4rem}code{color:var(--color-bg);background:var(--color-text)}pre code{display:block;overflow-x:auto;white-space:pre-wrap;padding:1rem}blockquote{font-style:italic;border:thin solid var(--color-text);padding:1rem}blockquote p{margin:0}img{max-width:100%;display:block;margin:0 auto}header{background:var(--color-surface);padding:1rem 2rem;margin:0 0 2rem;border-bottom:1px solid var(--color-border);width:100%;display:flex;align-items:center;gap:1.5rem}@media (max-width: 480px){header{padding:1rem;gap:1rem}}header h1{display:inline-block;margin:0;vertical-align:middle;font-size:1.5rem}header h1 a{text-decoration:none;color:inherit}.header-nav{display:flex;gap:.5rem;text-align:left}.header-nav a{white-space:nowrap;text-decoration:none;color:var(--color-muted);padding:.5rem 1rem;border-radius:6px;font-weight:500;transition:background-color var(--transition),color var(--transition)}.header-nav a:hover{background-color:var(--color-hover);color:var(--color-text)}.header-nav a:active{background-color:var(--color-active)}.header-nav a.active{background-color:rgba(0,0,0,0);color:var(--color-text);font-weight:600;border-bottom:2px solid var(--color-text);border-radius:0;padding-bottom:calc(.5rem - 2px)}.header-nav a.active:hover{background-color:rgba(0,0,0,0)}.logo-link{display:inline-block;line-height:0;flex-shrink:0}.site-logo{max-height:50px;width:auto}.site-logo.invertable{filter:invert(0)}nav,.taxonomies{text-align:center}.post-meta{text-align:right}.footnote-definition{padding:0 1rem}.footnote-definition:target{background:var(--color-highlight);color:#212121}.footnote-definition p{display:inline}footer{background:var(--color-surface);padding:1rem 2rem;margin:0;border-top:1px solid var(--color-border);width:100%;text-align:center;margin-top:auto}@media (max-width: 480px){footer{padding:1rem}}footer p{margin:0}footer .social-link{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;margin:0 .5rem}@media (max-width: 480px){footer .social-link{margin:.25rem}}footer .social-icon{display:inline-block;vertical-align:middle}@media (max-width: 600px){footer .footer-social{display:block;margin-top:.5rem}}@media (max-width: 480px){footer .footer-social{display:flex;flex-wrap:wrap;justify-content:center}}.downloads-intro{margin-bottom:2rem}.download-item{display:flex;gap:2rem;padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--color-border);align-items:flex-start}.download-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}@media (max-width: 600px){.download-item{flex-direction:column}}.download-thumbnail{flex-shrink:0;width:200px;margin:0}@media (max-width: 600px){.download-thumbnail{width:100%}}.download-thumbnail a{display:block;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);text-decoration:none;transition:all var(--transition)}.download-thumbnail a:hover{background:var(--color-bg);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.download-thumbnail img{width:100%;height:auto}.download-info{flex:1}.download-info h2{margin-top:0;margin-bottom:.5rem}.download-info p{margin-bottom:.75rem}.download-link{font-weight:500}