@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;500;600;700;900&family=Merriweather:wght@300;400;700;900&display=swap");:root{--text-color: #100F0F;--background-color: #ffffff;--highlight-color: #ffd00066;--muted-bg: #f2f0e5;--surface-color: #fafafa;--surface-elevated-color: #f2f0e5;--border-color: rgba(16, 15, 15, 0.1);--border: 1px solid var(--border-color);--secondary-text-color: #6b6b6b;--secondary-text: #6b6b6b;--placeholder-color: #999999;--link-color: #100F0F;--link-hover-color: #100F0F;--link-active-color: #100F0F;--link-visited-color: #100F0F;--link-underline-color: rgba(16, 15, 15, 0.3);--base-color: #100F0F;--focus-ring-color: rgba(16, 15, 15, 0.3);--selection-background: #ffd00066;--selection-text: #100F0F;--inline-code-background: #f2f0e5;--inline-code-color: #100F0F;--code-color-1: #6b6b6b;--code-color-2: #f2f0e5;--code-color-3: #c7254e;--code-color-4: #ffeef0;--code-color-5: #8959a8;--code-color-6: #718c00;--code-color-7: #c7254e;--code-color-8: #4271ae;--code-color-9: #718c00;--code-color-10: #6b6b6b;--code-color-11: #999999;--code-color-12: #8959a8;--code-color-13: #3e999f;--code-color-14: #f5871f;--code-color-15: #4d4d4c;--code-color-16: #4271ae;--code-color-17: #eab700;--code-color-18: #e0e0e0;--color-scroll-thumb: rgba(16, 15, 15, 0.2);--color-shadow-soft: none}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background-color);color:var(--text-color);font-family:"Roboto Mono",monospace;font-size:14px;line-height:1.6;margin:0;padding:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.site-container{max-width:1200px;margin:0 auto}main{width:100%}h1,h2,h3,h4,h5,h6{font-family:"Merriweather",serif;color:var(--text-color);font-weight:700;margin:1.5rem 0 1rem;line-height:1.3}h1{font-size:24px;margin-top:0}h2{font-size:20px}h3{font-size:18px}h4,h5,h6{font-size:16px;font-weight:600}p{color:var(--text-color);margin:0 0 1rem;line-height:1.6}a{color:var(--link-color);text-decoration:none;border-bottom:1px solid var(--link-underline-color)}a:hover{background:var(--highlight-color)}strong{font-weight:600}em{font-style:italic}hr{border:none;border-top:1px solid var(--border-color);margin:2rem 0}blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:3px solid var(--text-color);background:var(--surface-elevated-color);font-style:italic}:not(.menu)>ul{list-style:none;padding-left:0;margin:0 0 1.1rem;color:var(--text-color)}:not(.menu)>ul>li{position:relative;padding-left:1.4rem;margin-bottom:0.6rem}:not(.menu)>ul>li:before{content:"▹";position:absolute;left:0;top:0.1rem;color:var(--link-color)}ol{margin:0 0 1.1rem 1.25rem;color:var(--text-color)}li>ul,li>ol{margin-top:0.5rem}.site-header{margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.site-title{font-size:24px;font-family:"Merriweather",serif;font-weight:700;margin-bottom:0.75rem;display:block}.site-title a{color:var(--text-color);text-decoration:none;border:none}.site-title a:hover{background:transparent}.site-nav{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.site-nav a{color:var(--text-color);text-decoration:none;font-size:14px;border:none}.site-nav a:hover{background:var(--highlight-color)}.theme-toggle{display:none}.container{width:100%;max-width:650px;margin:0 auto}footer{color:var(--secondary-text-color);border-top:var(--border);margin:3rem auto 1rem;padding-top:1rem;font-size:12px}input,select,textarea,button{font-family:"Roboto Mono",monospace}input,select,textarea{background-color:var(--surface-elevated-color);border:1px solid var(--border-color);color:var(--text-color);font-size:14px;padding:0.5rem;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--text-color);outline-offset:2px}::placeholder{color:var(--placeholder-color)}button{background:var(--text-color);border:1px solid var(--text-color);color:var(--background-color);font-size:14px;padding:0.5rem 1rem;cursor:pointer}button:hover{background:var(--highlight-color);color:var(--text-color)}code{font-family:"Roboto Mono",monospace;font-size:13px;background-color:var(--inline-code-background);color:var(--inline-code-color);padding:2px 4px}pre{background-color:var(--surface-elevated-color);border:1px solid var(--border-color);padding:1rem;margin:1.5rem 0;overflow-x:auto;font-size:13px;line-height:1.5}pre code{background-color:transparent;padding:0}.lineno{color:var(--secondary-text-color);margin-right:1rem;user-select:none}figure.highlight{margin:1.5rem 0;background:var(--surface-elevated-color);border:1px solid var(--border-color)}figure.highlight pre{margin:0;border:none}.highlighter-rouge,.language-typescript,.language-javascript,.language-python,.language-dockerfile,.language-bash{background-color:var(--surface-elevated-color);border:1px solid var(--border-color);margin:1.5rem 0}.mermaid{background-color:var(--surface-elevated-color);border:1px solid var(--border-color);padding:1.5rem;margin:1.5rem 0;text-align:center;overflow-x:auto}.highlight .hll{background-color:var(--code-color-2)}.highlight .c{color:var(--code-color-1);font-style:italic}.highlight .err{color:var(--code-color-3);background-color:var(--code-color-4)}.highlight .k{color:var(--code-color-5)}.highlight .cm{color:var(--code-color-1);font-style:italic}.highlight .cp{color:var(--code-color-6)}.highlight .c1{color:var(--code-color-1);font-style:italic}.highlight .cs{color:var(--code-color-5);font-style:italic}.highlight .gd{color:var(--code-color-7)}.highlight .ge{font-style:italic}.highlight .gr{color:var(--code-color-7)}.highlight .gh{color:var(--code-color-8);font-weight:bold}.highlight .gi{color:var(--code-color-9)}.highlight .go{color:var(--code-color-10)}.highlight .gp{color:var(--code-color-11)}.highlight .gs{font-weight:bold}.highlight .gu{color:var(--code-color-12);font-weight:bold}.highlight .gt{color:var(--code-color-7)}.highlight .kc{color:var(--code-color-5)}.highlight .kd{color:var(--code-color-5)}.highlight .kn{color:var(--code-color-5)}.highlight .kp{color:var(--code-color-5)}.highlight .kr{color:var(--code-color-5)}.highlight .kt{color:var(--code-color-13)}.highlight .m{color:var(--code-color-14)}.highlight .s{color:var(--code-color-15)}.highlight .na{color:var(--code-color-16)}.highlight .nb{color:var(--code-color-13)}.highlight .nc{color:var(--code-color-9);text-decoration:underline}.highlight .no{color:var(--code-color-7)}.highlight .nd{color:var(--code-color-10)}.highlight .ni{color:var(--code-color-17);font-weight:bold}.highlight .nf{color:var(--code-color-9)}.highlight .nn{color:var(--code-color-13);text-decoration:underline}.highlight .nt{color:var(--code-color-16);font-weight:bold}.highlight .nv{color:var(--code-color-7)}.highlight .ow{color:var(--code-color-5)}.highlight .w{color:var(--code-color-18)}.highlight .mf{color:var(--code-color-14)}.highlight .mh{color:var(--code-color-14)}.highlight .mi{color:var(--code-color-14)}.highlight .mo{color:var(--code-color-14)}.highlight .sb{color:var(--code-color-15)}.highlight .sc{color:var(--code-color-15)}.highlight .sd{color:var(--code-color-15)}.highlight .s2{color:var(--code-color-15)}.highlight .se{color:var(--code-color-15)}.highlight .sh{color:var(--code-color-15)}.highlight .si{color:var(--code-color-15)}.highlight .sx{color:var(--code-color-15)}.highlight .sr{color:var(--code-color-14)}.highlight .s1{color:var(--code-color-15)}.highlight .ss{color:var(--code-color-5)}.highlight .bp{color:var(--code-color-13)}.highlight .vc{color:var(--code-color-7)}.highlight .vg{color:var(--code-color-7)}.highlight .vi{color:var(--code-color-7)}.highlight .il{color:var(--code-color-14)}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:0.95rem}table th,table td{border:1px solid var(--border-color);padding:0.75rem 0.9rem;text-align:left}table th{background:var(--surface-elevated-color);color:var(--secondary-text-color)}::selection{background:var(--selection-background);color:var(--selection-text)}::-moz-selection{background:var(--selection-background);color:var(--selection-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-scroll-thumb, var(--link-color));border-radius:999px}img[src*='#center']{display:block;margin:auto}@media (max-width: 480px){body{padding:32px 16px 16px}.site-header{position:relative;top:auto;left:auto;right:auto;margin-bottom:2rem}.site-title{font-size:20px}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}pre,code{font-size:12px}}
