:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;overflow:hidden;width:100vw;height:100vh;display:flex;place-items:center;justify-content:center}#murmuration-canvas{position:absolute;top:0;left:0;z-index:0;width:100%;height:100%}#ui-layer{position:relative;z-index:1;text-align:center;pointer-events:none;color:#000}h1{font-size:4rem;font-weight:200;letter-spacing:-.05em;margin:0;text-transform:uppercase;opacity:0;animation:fadeIn 2s ease-out forwards;animation-delay:.5s;margin-bottom:2rem}nav{display:flex;gap:2rem;justify-content:center;opacity:0;animation:fadeIn 2s ease-out forwards;animation-delay:1s}nav a{color:#000;text-decoration:none;font-size:1.2rem;font-weight:300;text-transform:uppercase;letter-spacing:.05em;padding:.5rem 1rem;border:1px solid transparent;transition:all .3s ease;pointer-events:auto}nav a:hover{border-color:#000;letter-spacing:.1em}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.content-page{display:block;overflow:auto;height:auto;min-height:100vh;background-color:#fff;color:#1a1a1a;padding:4rem 2rem}.container{max-width:800px;margin:0 auto;animation:fadeIn 1s ease-out forwards}.back-link{display:inline-block;margin-bottom:2rem;color:#666;text-decoration:none;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;transition:color .2s}.back-link:hover{color:#000}.content-page h1{font-size:3rem;margin-bottom:3rem;opacity:1;animation:none;transform:none}.content-page h2{font-weight:400;font-size:1.5rem;margin-top:3rem;margin-bottom:1rem;border-bottom:1px solid #eee;padding-bottom:.5rem}.content-page p{font-size:1.1rem;line-height:1.6;color:#333;margin-bottom:1.5rem}.content-page table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.content-page th,.content-page td{border:1px solid #ddd;padding:.75rem;text-align:left;vertical-align:top}.content-page th{background-color:#f5f5f5;font-weight:600}.content-page tr:hover{background-color:#fafafa}.link-list{list-style:none;padding:0}.link-list li{margin-bottom:1rem;font-size:1.1rem}.link-list a{color:#1a1a1a;text-decoration:none;border-bottom:1px solid #ccc;transition:border-color .2s}.link-list a:hover{border-color:#000}.date{display:block;font-size:.9rem;color:#888;margin-bottom:.5rem}article{margin-bottom:4rem}article h2{border:none;margin-top:0;margin-bottom:.5rem}article h2 a{color:#1a1a1a;text-decoration:none}article h2 a:hover{text-decoration:underline}body.night-mode{background-color:#0a1628}body.night-mode #ui-layer{color:#fff}body.night-mode nav a{color:#fff}body.night-mode nav a:hover{border-color:#fff}body.night-mode.content-page{background-color:#0a1628;color:#fff}body.night-mode.content-page h1{color:#fff}body.night-mode .back-link{color:#aaa}body.night-mode .back-link:hover{color:#fff}body.night-mode.content-page p,body.night-mode .content-page p{color:#ccc}body.night-mode.content-page h2,body.night-mode .content-page h2{border-bottom-color:#333;color:#fff}body.night-mode .link-list a{color:#fff;border-bottom-color:#555}body.night-mode .link-list a:hover{border-color:#fff}body.night-mode article h2 a{color:#fff}body.night-mode .date{color:#888}body.night-mode .content-page th,body.night-mode .content-page td{border-color:#333}body.night-mode .content-page th{background-color:#1a2a3a}body.night-mode .content-page tr:hover{background-color:#152030}.post-content details.aside{background-color:#f8f9fa;border-left:3px solid #aaa;padding:0;margin:1.5rem 0;border-radius:0 4px 4px 0;font-size:.9rem}.post-content details.aside summary{padding:.75rem 1rem;cursor:pointer;color:#666;font-style:italic;list-style:none}.post-content details.aside summary::-webkit-details-marker{display:none}.post-content details.aside summary:before{content:"▸ ";font-style:normal}.post-content details.aside[open] summary:before{content:"▾ "}.post-content details.aside[open] summary{border-bottom:1px solid #ddd}.post-content details.aside .aside-content{padding:1rem}.post-content details.aside p{margin-bottom:.75rem}.post-content details.aside p:last-child{margin-bottom:0}.post-content details.aside img{max-width:100%;margin:.75rem auto;display:block}body.night-mode .post-content details.aside{background-color:#1a2a3a;border-left-color:#4a5a6a}body.night-mode .post-content details.aside summary{color:#999}body.night-mode .post-content details.aside[open] summary{border-bottom-color:#333}.post-content h2{margin-top:2rem;border-bottom:none}.post-content ul,.post-content ol{margin-bottom:1.5rem;padding-left:2rem}.post-content li{margin-bottom:.5rem}.post-content strong{font-weight:600}.post-content code,.markdown-content code{font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.88em;background-color:#f4f4f4;padding:.15em .4em;border-radius:3px}.post-content pre,.markdown-content pre{background-color:#f4f4f4;border-left:3px solid #ccc;padding:1rem;overflow-x:auto;margin:1.5rem 0;border-radius:0 4px 4px 0}.post-content pre code,.markdown-content pre code{background:none;padding:0;font-size:.85rem;line-height:1.6}.post-content blockquote,.markdown-content blockquote{border-left:3px solid #ccc;margin:1.5rem 0;padding:.5rem 1rem;font-style:italic;color:#555}.post-content hr,.markdown-content hr{border:none;border-top:1px solid #ddd;margin:2rem 0}body.night-mode .post-content code,body.night-mode .markdown-content code{background-color:#1a2a3a}body.night-mode .post-content pre,body.night-mode .markdown-content pre{background-color:#1a2a3a;border-left-color:#4a5a6a}body.night-mode .post-content blockquote,body.night-mode .markdown-content blockquote{border-left-color:#4a5a6a;color:#999}body.night-mode .post-content hr,body.night-mode .markdown-content hr{border-top-color:#333}.post-content img{max-width:100%;height:auto;margin:1.5rem auto;border-radius:4px;display:block}@media(max-width:600px){h1{font-size:2rem}nav{flex-direction:column;gap:1rem}nav a{font-size:1rem}.content-page{padding:2rem 1rem}.content-page h1{font-size:2rem}.content-page table{font-size:.8rem}.content-page th,.content-page td{padding:.5rem}}.rss-link{text-decoration:none;vertical-align:middle;margin-left:.25em}.rss-icon{width:.5em;height:.5em;fill:#999;transition:fill .2s}.rss-link:hover .rss-icon{fill:#000}body.night-mode .rss-link:hover .rss-icon{fill:#fff}.tag-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto}.tag-chip{background:none;border:1px solid #999;color:#555;padding:.25rem .75rem;font-size:.7rem;font-family:inherit;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .15s ease}.tag-chip:hover{border-color:#000;color:#000}.tag-chip.active{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff}.tag-label{display:inline-block;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-right:.5rem;text-decoration:none}a.tag-label:hover{color:#000}.post-tags{margin-top:.25rem;margin-bottom:.5rem}body.night-mode .tag-chip{border-color:#555;color:#aaa}body.night-mode .tag-chip:hover{border-color:#fff;color:#fff}body.night-mode .tag-chip.active{background-color:#fff;border-color:#fff;color:#0a1628}body.night-mode .tag-label{color:#777}body.night-mode a.tag-label:hover{color:#fff}.post-layout{display:flex;margin:-4rem -2rem;padding:4rem 2rem;min-height:100vh}.post-layout .container{flex:1;min-width:0}.rule110-sidebar{display:none;width:160px;flex-shrink:0;align-self:flex-start;position:sticky;top:0;height:100vh;pointer-events:none;margin-right:4rem;margin-left:-2rem}@media(max-width:900px){.post-layout{display:block}.rule110-sidebar{display:none}}
