@font-face {font-family:'Ubuntu Mono';src:url('/fonts/UbuntuMono-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}@font-face {font-family:'Ubuntu Mono';src:url('/fonts/UbuntuMono-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap;}@font-face {font-family:'Ubuntu Mono';src:url('/fonts/UbuntuMono-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}@font-face {font-family:'Ubuntu Mono';src:url('/fonts/UbuntuMono-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap;}:root{--accent-color:#e05a00;--toolbar-background:#ffffff;--toolbar-foreground:#111111;--toolbar-foreground-hover:#000000;--code-background:transparent;--code-foreground:var(--text-color);--footer-background:#ffffff;--background-color:#ffffff;--text-color:#111111;--title-color:#0f0c0a;--subtitle-color:#2f2925;--link-color:#1a4fb5;--link-color-visited:#5a3c99;--button-width:48px;--angle:90deg;--syntax-text:#2b2b2b;--syntax-comment:#8e908c;--syntax-keyword:#e05a00;--syntax-string:#b07040;--syntax-number:#c46a1a;--syntax-attr:#555555;}@media (prefers-color-scheme:dark){:root{--toolbar-background:#0b0b0b;--code-background:#0f0f0f;--background-color:#0b0b0b;--text-color:#d8d8d8;--title-color:#ffffff;--subtitle-color:#a8a8a8;--footer-background:#0b0b0b;--link-color:#7fa6ff;--link-color-visited:#b199e8;--toolbar-foreground:#e6e6e6;--toolbar-foreground-hover:#ffffff;--syntax-text:#eaeaea;--syntax-comment:#707070;--syntax-keyword:#f08030;--syntax-string:#d4a070;--syntax-number:#e89050;--syntax-attr:#b0b0b0;}.themed{filter:invert(1);background:transparent;}}html{width:100%;font-family:'Ubuntu Mono','Courier New',Courier,monospace;background:var(--background-color);}::selection{background:var(--accent-color);color:#ffffff;}a{color:var(--link-color);text-decoration:underline;}a:visited{color:var(--link-color-visited);}nav{user-select:none;font-kerning:auto;background:var(--toolbar-background);overflow:hidden;min-height:80px;line-height:1;}nav a:visited{color:var(--toolbar-foreground);}nav a{color:var(--toolbar-foreground);text-decoration:none;}nav a:hover{color:var(--accent-color);}nav>div{box-sizing:border-box;width:100%;overflow:hidden;padding:0 28px 0 22px;display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:16px;}nav .links{display:flex;justify-content:space-evenly;width:fit-content;padding-right:10px;}@media (max-width:436px){.full{display:none;}}nav h1{white-space:nowrap;font-size:1.7em;margin-top:17px;margin-bottom:2px;letter-spacing:0.5px;border-bottom:2px solid var(--accent-color);padding-bottom:4px;}.home-tilde{color:var(--accent-color) !important;margin-left:6px;text-decoration:none;}nav h2{padding-top:4px;padding-right:26px;font-size:larger;float:right;}@media (max-width:436px){nav .links{gap:20px;padding-right:0;}nav h2{padding-right:0;}}body{color:var(--text-color);background:var(--background-color);margin:0;position:absolute;width:100%;min-height:100vh;font-size:14pt;font-weight:500;line-height:1.7;letter-spacing:-0.3px;word-spacing:1px;}h1{color:var(--title-color);letter-spacing:0.4px;}h2{color:var(--subtitle-color);}img{max-width:100%;max-height:100%;height:auto;margin-left:auto;margin-right:auto;display:flex;border-radius:0;}pre,.codehilite{border-radius:0;}pre{background:var(--code-background);color:var(--code-foreground);overflow-x:auto;border:1px solid var(--subtitle-color);box-shadow:none;padding:14px;position:relative;word-spacing:normal;}.copy-button{position:absolute;top:8px;right:8px;background:var(--text-color);color:var(--background-color);border:none;padding:4px 10px;font-size:12pt;cursor:pointer;opacity:0;transition:opacity 0.2s;}pre:hover .copy-button{opacity:1;}.copy-button:hover{background:var(--accent-color);color:#ffffff;}pre code{background:transparent;color:var(--syntax-text);}.comment{color:var(--syntax-comment);font-style:italic;}.storage,.keyword.control{color:var(--accent-color);font-weight:700;}.string{color:var(--syntax-string);}.constant{color:var(--syntax-number);}.entity.name.function,.support.function,.support.macro,.support.class,.support.type{color:var(--syntax-attr);}.variable{color:var(--syntax-number);}blockquote{font-style:italic;color:var(--subtitle-color);border-left:3px solid var(--accent-color);margin:1rem 0;margin-left:0;padding-left:1rem;backdrop-filter:contrast(0.9);}footer{background:var(--footer-background);color:var(--subtitle-color);margin-left:auto;margin-right:auto;justify-content:center;text-align:center;padding:50px 0;bottom:0;width:100%;border-top:1px solid var(--accent-color);}.content{overflow:hidden;margin-left:auto;margin-right:auto;}.post-content{max-width:800px;overflow:hidden;margin-left:auto;margin-right:auto;padding:0 22px;}.comment-section{max-width:800px;margin-left:auto;margin-right:auto;padding:25px;}.posts-list{overflow:hidden;margin-left:auto;margin-right:auto;}.post-header{max-height:450px;width:100%;resize:none;object-fit:cover;border-radius:0;}.posts-list li{display:flex;flex-direction:column;}.posts-list p{margin-top:5px;}.posts-list span{font-size:small;color:var(--subtitle-color);justify-content:right;}code{font-size:12pt;font-weight:400;}p>code,li>code{background:#000000;color:#ffffff;padding-left:5px;padding-right:5px;border-radius:0;border:none;}@media (prefers-color-scheme:dark){p>code,li>code{background:#ffffff;color:#000000;}}.date{color:var(--subtitle-color);opacity:0.9;font-size:small;}.author{color:var(--subtitle-color);opacity:0.9;font-size:small;margin-left:0.5em;}.updated{color:var(--subtitle-color);opacity:0.9;font-size:small;margin-left:0.5em;}table,td,th{text-align:left;padding:5px 16px;border-collapse:collapse;border:1px solid var(--subtitle-color);}table{margin-left:0;margin-right:auto;}.title{margin-bottom:0;}.subtitle{margin:0;}.home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,800px) minmax(0,1fr);column-gap:40px;padding:24px 22px 48px;}.home h2{font-size:larger;margin:0 0 12px;}.prompt-sign{color:var(--accent-color);margin-right:0.4em;}.post-tree{grid-column:1;grid-row:1;justify-self:end;width:260px;position:sticky;top:16px;align-self:start;max-height:calc(100vh - 32px);overflow-y:auto;line-height:1.5;padding-right:8px;}.post-tree{display:none;}.tree-ready .post-tree{display:block;}@keyframes tree-line-in{from{opacity:0;transform:translateX(-10px);}}@keyframes tree-rail-draw-open{from{transform:scaleY(0);}}@keyframes tree-rail-draw-closed{from{transform:scaleY(0);}}@keyframes tree-elbow-draw{from{transform:scaleX(0);}}.post-tree h2,.post-tree summary,.post-tree details[open] li{animation:tree-line-in 0.3s ease-out both;animation-delay:calc(var(--i,0) * 25ms);}.tree>li::before{transform-origin:top;animation:tree-rail-draw-closed 0.35s ease-out both;animation-delay:calc(var(--i,0) * 25ms);}.tree>li:has(>details[open])::before{animation-name:tree-rail-draw-open;}.tree>li::after{transform-origin:left;animation:tree-elbow-draw 0.2s ease-out both;animation-delay:calc(var(--i,0) * 25ms);}@media (prefers-reduced-motion:reduce){.post-tree h2,.post-tree summary,.post-tree details[open] li,.tree>li::before,.tree>li::after{animation:none;}}.post-tree h2 a{color:var(--title-color);text-decoration:none;}.post-tree h2 a:hover{color:var(--accent-color);}.tree,.tree ul{list-style:none;margin:0;padding:0;}.tree ul{margin-left:0.45em;}.tree li{position:relative;padding-left:1.4em;}.tree li::before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:1px solid var(--subtitle-color);opacity:0.6;}.tree li:last-child::before{bottom:auto;height:0.75em;}.tree li::after{content:"";position:absolute;left:0;top:0.75em;width:1em;border-top:1px solid var(--subtitle-color);opacity:0.6;}.tree summary{cursor:pointer;list-style:none;color:var(--title-color);font-weight:700;}.tree summary::-webkit-details-marker{display:none;}.tree summary:hover{color:var(--accent-color);}.tree .count{color:var(--subtitle-color);font-weight:400;opacity:0.8;}.tree a{color:var(--text-color);text-decoration:none;}.tree a:hover{color:var(--accent-color);text-decoration:underline;}.home-main{grid-column:2;grid-row:1;min-width:0;}.intro{margin-bottom:40px;}.intro .prompt{margin:0;font-weight:700;color:var(--title-color);}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:40px;}.project{display:flex;flex-direction:column;border:1px solid var(--subtitle-color);padding:14px 18px;transition:border-color 0.15s;}.project:hover{border-color:var(--accent-color);}.project h3{margin:0 0 6px;font-size:larger;}.project h3 a,.project h3 a:visited{color:var(--title-color);text-decoration:none;}.project h3 a:hover{color:var(--accent-color);}.project p{margin:0 0 12px;flex:1;}.project-meta{display:flex;justify-content:space-between;gap:12px;font-size:small;color:var(--subtitle-color);}.project-links a{margin-left:10px;}.project-list{list-style:none;padding:0;margin:0 0 12px;}.project-list li{padding:2px 0;}.project-list li>a:first-child{display:inline-block;min-width:8.5em;font-weight:700;}.project-list span{color:var(--subtitle-color);}.more{margin:0;}@media (max-width:1400px){.home.tree-ready{grid-template-columns:240px minmax(0,1fr);}.post-tree{width:auto;justify-self:stretch;}}@media (max-width:860px){.home,.home.tree-ready{grid-template-columns:minmax(0,1fr);gap:24px;}.home-main{grid-column:1;}.post-tree{grid-column:1;grid-row:2;position:static;max-height:none;border-top:1px solid var(--accent-color);padding-top:20px;}.project-list li>a:first-child{display:block;min-width:0;}}a.button,a.button:visited{display:inline-block;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;padding:0.5rem 1.1rem;border:1px solid var(--accent-color);background:var(--accent-color);color:#ffffff;}a.button:hover{background:transparent;color:var(--accent-color);}.note{font-size:small;color:var(--subtitle-color);}img.framed{border:1px solid var(--subtitle-color);}