*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}html{font-size:17px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.7;font-weight:400;color:#1a1a1a;background-color:#fff}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure{margin-bottom:1.5rem}h1{font-size:2rem;font-weight:600;line-height:1.3;letter-spacing:-0.01em;margin-bottom:1.5rem}h2{font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-0.01em;margin-top:3rem;margin-bottom:1.125rem}h3{font-size:1.25rem;font-weight:500;line-height:1.3;margin-top:2.25rem;margin-bottom:.75rem}h4{font-size:1.1rem;font-weight:500;line-height:1.3;margin-top:1.5rem;margin-bottom:.75rem}a{color:#B54A3C;text-decoration:none;transition:color 0.15s ease}a:visited{color:#B54A3C}a:hover{color:#8E3A2E;text-decoration:underline}ul,ol{margin-left:1.5rem}li{margin-bottom:0.25rem}li>ul,li>ol{margin-bottom:0}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px;color:#6b6b6b}pre,code{font-size:0.9rem;font-family:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;background-color:#f7f7f7;border-radius:3px}code{padding:0.15em 0.4em}pre{padding:1rem 1.25rem;overflow-x:auto;border:1px solid #e5e5e5;margin-bottom:1.5rem}pre>code{padding:0;background:none;border:none}blockquote{color:#6b6b6b;border-left:3px solid #B54A3C;padding-left:1.5rem;font-style:italic}blockquote>:last-child{margin-bottom:0}hr{border:none;border-top:1px solid #e5e5e5;margin:3rem 0}.site-banner{width:100%;max-height:196px;overflow:hidden;display:flex;justify-content:center}.site-banner img{display:block;width:900px;height:280px;max-width:none;opacity:0.85}.site-nav{border-bottom:1px solid #e5e5e5;padding:1rem 2rem}.site-nav .nav-wrapper{max-width:720px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.site-nav .site-title{font-size:1.15rem;font-weight:600;color:#1a1a1a;text-decoration:none;letter-spacing:-0.01em}.site-nav .site-title:hover{color:#B54A3C;text-decoration:none}.site-nav .site-title:visited{color:#1a1a1a}.site-nav .nav-links{display:flex;gap:1.75rem;align-items:center}.site-nav .nav-links a{color:#6b6b6b;font-size:0.9rem;text-decoration:none;transition:color 0.15s ease}.site-nav .nav-links a:hover{color:#B54A3C}.site-nav .nav-links a:visited{color:#6b6b6b}@media screen and (max-width: 600px){.site-nav{padding:0.75rem 1.25rem}.site-nav .nav-wrapper{flex-direction:column;gap:0.5rem}.site-nav .nav-links{gap:1.25rem}}.page-content{max-width:720px;margin:0 auto;padding:3rem 2rem}@media screen and (max-width: 800px){.page-content{padding:2.25rem 2rem}}@media screen and (max-width: 600px){.page-content{padding:1.5rem 1.25rem}}.post-header{margin-bottom:2.25rem}.post-title{font-size:2rem;font-weight:600;color:#1a1a1a;line-height:1.3;letter-spacing:-0.01em}.post-meta{font-size:14px;color:#6b6b6b;margin-top:0.5rem}.post-content{margin-bottom:3rem}.project-nav,.navbar,.sectionnav{border:1px solid #e5e5e5;border-radius:4px;padding:0.75rem 1rem;margin-bottom:2.25rem;background-color:#fafafa}.project-nav .project-nav-title,.navbar .project-nav-title,.sectionnav .project-nav-title{font-weight:600;font-size:0.95rem;margin-bottom:0.5rem;color:#1a1a1a}.project-nav a,.navbar a,.sectionnav a{font-size:0.9rem;color:#6b6b6b;margin-right:0.25rem}.project-nav a:hover,.navbar a:hover,.sectionnav a:hover{color:#B54A3C}.section-title,.title{font-size:1.75rem;font-weight:600;color:#1a1a1a;margin-bottom:1.5rem}.section-header,.header{font-size:1.2rem;font-weight:600;color:#1a1a1a;margin-top:1.875rem;margin-bottom:.75rem}.section-header a,.header a{color:#1a1a1a}.section-header a:hover,.header a:hover{color:#B54A3C}.site-footer{border-top:1px solid #e5e5e5;padding:2.25rem 2rem;text-align:center;color:#6b6b6b;font-size:14px;margin-top:3rem}@media screen and (max-width: 600px){.site-footer{padding:1.5rem 1.25rem}}#main,.main{float:none;width:auto;padding:0;min-height:auto}#wrap{width:auto;max-width:none;margin:0;border:none;background:transparent}.subheader{font-size:1rem;font-weight:600;color:#1a1a1a}.highlight{background:#f7f7f7;margin-bottom:1.5rem}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{font-weight:bold}.highlight .o{font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{font-weight:bold}.highlight .kd{font-weight:bold}.highlight .kp{font-weight:bold}.highlight .kr{font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}
