@import"https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap";html{height:100%}body{font-family:"Inter",-apple-system,"avenir next",avenir,roboto,noto,ubuntu,"helvetica neue",helvetica,sans-serif;font-size:1.2rem;line-height:1.8;margin:0;min-height:100%}pre,code{font-family:"Roboto Mono","Courier New",monospace;font-size:1rem}h1{font-size:2.25rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h2,h3,h4,h5{margin-top:1.5em}hr{margin:1em 0}hr.page-break{text-align:center;border:0}hr.page-break:before{content:"-----"}hr.page-break:after{content:attr(data-content) "-----"}p{margin:1em 0;font-size:1.1rem}li{margin:.4em 0;font-size:1.1rem}.w{max-width:720px;margin:0 auto;padding:4em 2em}table,th,td{width:100%;border:thin solid #000;border-collapse:collapse;padding:.5em;font-size:1.1rem}div.highlighter-rouge pre code,pre code.highlighter-rouge{display:block;overflow-x:auto;padding:1em}blockquote{font-style:italic;border:thin solid #000;padding:1em;font-size:1.1rem}blockquote p{margin:0}img{max-width:100%;display:block;margin:0 auto}html[data-theme=dark] html,html[data-theme=dark] body{--headings: #74c0fc;--links: #91A7FF;--highlight: #41C7C7;--bg: #1f242A;--bg-secondary: #323945;--text: #adb5bd;--text-secondary: #9CA3AF;--code-text: #91A7FF;--share-text: #C4C4C4;--sidebar-text: #eaeaea;--sidebar-bg: #323945}html[data-theme=light] html,html[data-theme=light] body{--bg: #f0f0f0;--bg-secondary: #e0e0e0;--headings: #1e293b;--text: #374151;--text-secondary: #6b7280;--links: #6366f1;--highlight: #FFECB2;--code-text: #9D174D;--share-text: #999;--sidebar-text: #2a2a2a;--sidebar-bg: #999}@media(prefers-color-scheme: dark){body[data-theme=auto] html,body[data-theme=auto] body{--headings: #74c0fc;--links: #91A7FF;--highlight: #41C7C7;--bg: #1f242A;--bg-secondary: #323945;--text: #adb5bd;--text-secondary: #9CA3AF;--code-text: #91A7FF;--share-text: #C4C4C4;--sidebar-text: #eaeaea;--sidebar-bg: #323945}}@media(prefers-color-scheme: light){body[data-theme=auto] html,body[data-theme=auto] body{--bg: #f0f0f0;--bg-secondary: #e0e0e0;--headings: #1e293b;--text: #374151;--text-secondary: #6b7280;--links: #6366f1;--highlight: #FFECB2;--code-text: #9D174D;--share-text: #999;--sidebar-text: #2a2a2a;--sidebar-bg: #999}}html,body{background-color:var(--bg);color:var(--text)}h1,h2,h3,h4,h5,h6{color:var(--headings)}p,strong,b,em,small,li,hr,table,figcaption{color:var(--text)}.highlight,pre code,blockquote{border-radius:.5em}blockquote{background-color:var(--bg-secondary);border:1px var(--border) solid}a{color:var(--links)}*:target{background-color:var(--bg-secondary)}html.transition,html.transition *,html.transition *:before,html.transition *:after{transition:all 250ms !important;transition-delay:0 !important}.theme-toggle{color:var(--text);background-color:rgba(0,0,0,0);padding:4px;cursor:pointer;margin:1em;position:fixed;right:0;top:0;border:2px rgba(0,0,0,0) solid;outline:none}.theme-toggle:hover{color:var(--links);outline:none}.theme-toggle:focus{outline:none}.dashed{border-top:1px var(--text) dashed;margin:.5em 0}mark{padding:.4em;background-color:var(--highlight);font-size:.6em;letter-spacing:1px}.post-date{color:var(--text-secondary);margin-top:1rem;font-size:.7em;font-family:"Roboto Mono","Courier New",monospace}.home-date{font-family:"Roboto Mono","Courier New",monospace}.post-list-item a{text-decoration:none}.text-bold{font-weight:bold}.text-upcase{text-transform:uppercase;letter-spacing:1px}p code,li code{background-color:var(--bg-secondary);padding:.2rem;color:var(--code-text);font-weight:bold}.post-title{margin-bottom:-1.5rem;font-size:2rem}.project-title{margin-bottom:.8rem;font-size:1.75rem}.credits{font-size:1rem;color:var(--text);margin:8em auto -4em auto;text-align:center}.credits a{color:var(--text);text-decoration:none;font-weight:bold}.credits a:hover{color:var(--links)}.tag{font-family:"Roboto Mono","Courier New",monospace;color:var(--text-secondary);padding:.4em 1em;margin-right:.5em;border-radius:1em;background-color:var(--bg-secondary);font-size:.7em;font-weight:bold;text-transform:lowercase}ul.horizontal-list{display:flex;flex-wrap:wrap;margin-top:0;margin-left:-40px}ul.horizontal-list li{display:inline;margin-right:1em}ul.horizontal-list li a{text-decoration:none;font-weight:normal}.card{padding:1em;border:1px var(--text) solid;width:11em;height:auto;text-align:center;font-size:1em;align-items:center;background-color:var(--bg-secondary);margin-bottom:.8em;border-radius:.5em}.card .header{color:var(--links)}.card .body{font-size:.8em}.card hr{margin:.5em 0}.highlight .hll{background-color:#515151}.highlight{background:#1a1f35;color:#f2f0ec}.highlight .c{color:#747369}.highlight .err{color:#f2777a}.highlight .k{color:#c9c}.highlight .l{color:#f99157}.highlight .n{color:#f2f0ec}.highlight .o{color:#6cc}.highlight .p{color:#f2f0ec}.highlight .ch{color:#747369}.highlight .cm{color:#747369}.highlight .cp{color:#747369}.highlight .cpf{color:#747369}.highlight .c1{color:#747369}.highlight .cs{color:#747369}.highlight .gd{color:#f2777a}.highlight .ge{font-style:italic}.highlight .gh{color:#f2f0ec;font-weight:bold}.highlight .gi{color:#9c9}.highlight .gp{color:#747369;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#6cc;font-weight:bold}.highlight .kc{color:#c9c}.highlight .kd{color:#c9c}.highlight .kn{color:#6cc}.highlight .kp{color:#c9c}.highlight .kr{color:#c9c}.highlight .kt{color:#fc6}.highlight .ld{color:#9c9}.highlight .m{color:#f99157}.highlight .s{color:#9c9}.highlight .na{color:#69c}.highlight .nb{color:#f2f0ec}.highlight .nc{color:#fc6}.highlight .no{color:#f2777a}.highlight .nd{color:#6cc}.highlight .ni{color:#f2f0ec}.highlight .ne{color:#f2777a}.highlight .nf{color:#69c}.highlight .nl{color:#f2f0ec}.highlight .nn{color:#fc6}.highlight .nx{color:#69c}.highlight .py{color:#f2f0ec}.highlight .nt{color:#6cc}.highlight .nv{color:#f2777a}.highlight .ow{color:#6cc}.highlight .w{color:#f2f0ec}.highlight .mb{color:#f99157}.highlight .mf{color:#f99157}.highlight .mh{color:#f99157}.highlight .mi{color:#f99157}.highlight .mo{color:#f99157}.highlight .sa{color:#9c9}.highlight .sb{color:#9c9}.highlight .sc{color:#f2f0ec}.highlight .dl{color:#9c9}.highlight .sd{color:#747369}.highlight .s2{color:#9c9}.highlight .se{color:#f99157}.highlight .sh{color:#9c9}.highlight .si{color:#f99157}.highlight .sx{color:#9c9}.highlight .sr{color:#9c9}.highlight .s1{color:#9c9}.highlight .ss{color:#9c9}.highlight .bp{color:#f2f0ec}.highlight .fm{color:#69c}.highlight .vc{color:#f2777a}.highlight .vg{color:#f2777a}.highlight .vi{color:#f2777a}.highlight .vm{color:#f2777a}.highlight .il{color:#f99157}html,body{margin:0;padding:0;width:100%;box-sizing:border-box;overflow-x:clip}.container{display:flex;align-items:stretch;min-height:100vh}h1[id],h2[id],h3[id],h4[id],h5[id],h6[id]{scroll-margin-top:1.5rem}.main-content{flex:1;min-width:0}.content-wrapper{max-width:760px;margin:0 auto;padding:3rem 2rem}.sidebar{background-color:var(--sidebar-bg, var(--bg-secondary));color:var(--sidebar-text, var(--text));width:260px;flex-shrink:0;padding:2rem 1.25rem;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto;box-sizing:border-box}.sidebar .sidebar-section h2{margin:0 0 1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.sidebar .sidebar-section ul{list-style-type:none;padding:0;margin:0}.sidebar .sidebar-section li{margin:.15rem 0}.sidebar .sidebar-section a{display:block;padding:.4rem .6rem;border-radius:6px;text-decoration:none;color:inherit;transition:background-color 150ms,color 150ms}.sidebar .sidebar-section a:hover{color:var(--links);background-color:var(--bg)}.sidebar .sidebar-section a[aria-current=page]{color:var(--links);background-color:var(--bg);font-weight:600}.sidebar .sidebar-section a:focus-visible{outline:2px solid var(--links);outline-offset:2px}.sidebar .sidebar-section .group-heading{display:block;padding:.4rem .6rem;margin-top:.75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.sidebar .sidebar-section ul ul{padding-left:.5rem;margin-bottom:.5rem}.sidebar .sidebar-section ul ul a{font-size:.95em}.nav-toggle{display:none;position:fixed;top:.75rem;left:.75rem;z-index:30;padding:.45rem;background-color:var(--bg-secondary);color:var(--text);border:1px solid var(--bg-secondary);border-radius:6px;cursor:pointer;line-height:0}.nav-toggle:hover{color:var(--links)}.nav-toggle:focus-visible{outline:2px solid var(--links);outline-offset:2px}.nav-overlay{display:none;position:fixed;inset:0;background-color:rgba(0,0,0,.5);z-index:18}@media(max-width: 767px){.container{display:block}.nav-toggle{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100vh;max-height:none;z-index:20;transform:translateX(-100%);transition:transform 250ms ease;box-shadow:2px 0 16px rgba(0,0,0,.25)}body.nav-open{overflow:hidden}body.nav-open .sidebar{transform:translateX(0)}body.nav-open .nav-overlay{display:block}.content-wrapper{padding:4rem 1.25rem 2rem}}@media(prefers-reduced-motion: reduce){.sidebar{transition:none}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background-color:var(--text-secondary);border-radius:10px;border:2px solid rgba(0,0,0,0)}/*# sourceMappingURL=main.css.map */