.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}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Segoe UI Symbol","Segoe UI Emoji","Apple Color Emoji",Roboto,Helvetica,Arial,sans-serif;color:#111;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:15px}hr{margin-top:30px;margin-bottom:30px}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px}ul,ol{margin-left:30px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:#2a7ae2;text-decoration:none}a:hover{color:#111;text-decoration:underline}.social-media-list a:hover,.pagination a:hover{text-decoration:none}.social-media-list a:hover .username,.pagination a:hover .username{text-decoration:underline}blockquote{color:#828282;border-left:4px solid #e8e8e8;padding-left:15px;font-size:1.125rem;letter-spacing:-1px;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-family:"Menlo","Inconsolata","Consolas","Roboto Mono","Ubuntu Mono","Liberation Mono","Courier New",monospace;font-size:0.9375em;border:1px solid #e8e8e8;border-radius:3px;background-color:#eef}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.highlight{border-radius:3px;background:#eef}.highlighter-rouge .highlight{background:#eef}.wrapper{max-width:calc(800px - (30px));margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media screen and (min-width: 800px){.wrapper{max-width:calc(800px - (30px * 2));padding-right:30px;padding-left:30px}}.wrapper:after{content:"";display:table;clear:both}.orange{color:#f66a0a}.grey{color:#828282}.svg-icon{width:16px;height:16px;display:inline-block;fill:currentColor;padding:5px 3px 2px 5px;vertical-align:text-bottom}table{margin-bottom:30px;width:100%;text-align:left;color:#3f3f3f;border-collapse:collapse;border:1px solid #e8e8e8}table tr:nth-child(even){background-color:#f7f7f7}table th,table td{padding:10px 15px}table th{background-color:#f0f0f0;border:1px solid #dedede}table td{border:1px solid #e8e8e8}@media screen and (max-width: 800px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}.site-header{min-height:55.95px;line-height:54px;position:relative}.site-title{font-size:1.3rem;font-weight:300;letter-spacing:-1px;margin-bottom:0;float:left}@media screen and (max-width: 600px){.site-title{padding-right:45px}}.site-title,.site-title:visited{color:#424242}.site-nav{position:absolute;top:9px;right:15px;background-color:#fff;border:1px solid #e8e8e8;border-radius:5px;text-align:right}.site-nav .nav-trigger{display:none}.site-nav .menu-icon{float:right;width:36px;height:26px;line-height:0;padding-top:10px;text-align:center}.site-nav .menu-icon>svg path{fill:#424242}.site-nav label[for="nav-trigger"]{display:block;float:right;width:36px;height:36px;z-index:2;cursor:pointer}.site-nav input ~ .trigger{clear:both;display:none}.site-nav input:checked ~ .trigger{display:block;padding-bottom:5px}.site-nav .page-link{color:#111;line-height:1.5;display:block;padding:5px 10px;margin-left:20px}.site-nav .page-link:not(:last-child){margin-right:0}@media screen and (min-width: 600px){.site-nav{position:static;float:right;border:none;background-color:inherit}.site-nav label[for="nav-trigger"]{display:none}.site-nav .menu-icon{display:none}.site-nav input ~ .trigger{display:block}.site-nav .page-link{display:inline;padding:0;margin-left:auto}.site-nav .page-link:not(:last-child){margin-right:20px}}.site-footer{border-top:1px solid #e8e8e8;padding:30px 0}.footer-heading{font-size:1.125rem;margin-bottom:15px}.feed-subscribe .svg-icon{padding:5px 5px 2px 0}.contact-list,.social-media-list,.pagination{list-style:none;margin-left:0}.footer-col-wrapper,.social-links{font-size:0.8rem;color:#828282}.footer-col{margin-bottom:15px}.footer-col-1,.footer-col-2{width:calc(50% - (30px / 2))}.footer-col-3{width:calc(100% - (30px / 2))}@media screen and (min-width: 800px){.footer-col-1{width:calc(35% - (30px / 2))}.footer-col-2{width:calc(20% - (30px / 2))}.footer-col-3{width:calc(45% - (30px / 2))}}@media screen and (min-width: 600px){.footer-col-wrapper{display:flex}.footer-col{width:calc(100% - (30px / 2));padding:0 15px}.footer-col:first-child{padding-right:15px;padding-left:0}.footer-col:last-child{padding-right:0;padding-left:15px}}.page-content{padding:30px 0;flex:1 0 auto}.page-heading{font-size:2rem}.post-list-heading{font-size:1.75rem}.post-list{margin-left:0;list-style:none}.post-list>li{margin-bottom:30px}.post-meta{font-size:14px;color:#828282}.post-link{color:black;display:block;font-size:2rem}.post-header{margin-bottom:30px}.post-title,.post-content h1{font-size:2.625rem;letter-spacing:-1px;line-height:1.15}@media screen and (min-width: 800px){.post-title,.post-content h1{font-size:2.625rem}}.post-content{margin-bottom:30px}.post-content h1,.post-content h2,.post-content h3{margin-top:60px}.post-content h4,.post-content h5,.post-content h6{margin-top:30px}.post-content h2{font-size:1.75rem}@media screen and (min-width: 800px){.post-content h2{font-size:2rem}}.post-content h3{font-size:1.375rem}@media screen and (min-width: 800px){.post-content h3{font-size:1.625rem}}.post-content h4{font-size:1.25rem}.post-content h5{font-size:1.125rem}.post-content h6{font-size:1.0625rem}.social-media-list,.pagination{margin:0 auto}.social-media-list li,.pagination li{float:left;margin:5px 10px 5px 0}.social-media-list li:last-of-type,.pagination li:last-of-type{margin-right:0}.social-media-list li a,.pagination li a{display:block;padding:7.5px;border:1px solid #e8e8e8}.social-media-list li a:hover,.pagination li a:hover{border-color:#cfcfcf}.pagination{margin-bottom:30px}.pagination li a,.pagination li div{min-width:41px;text-align:center;box-sizing:border-box}.pagination li div{display:block;padding:7.5px;border:1px solid transparent}.pagination li div.pager-edge{color:#dbdbdb;border:1px dashed}@media screen and (min-width: 800px){.one-half{width:calc(50% - (30px / 2))}}.sidebar{width:250px;background-color:#f8f8f8;border-right:1px solid #ddd;font-family:'Verdana', 'Times New Roman', 'Georgia', serif;flex-shrink:0;position:sticky;top:0;align-self:flex-start;max-height:100vh;overflow-y:auto}@media (max-width: 768px){.sidebar{position:static;width:100%;border-right:none;border-bottom:1px solid #ddd;margin-bottom:1rem;max-height:none;overflow-y:visible}}.sidebar-header{padding:1rem;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center}.sidebar-title{margin:0;font-size:1.1rem;font-weight:bold;color:#333}.sidebar-toggle{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#666;padding:0.25rem}.sidebar-toggle:hover{color:#333}@media (min-width: 769px){.sidebar-toggle{display:none}}.sidebar-nav{padding:0}@media (max-width: 768px){.sidebar-nav{display:none}}.sidebar-list{list-style:none;margin:0;padding:0}.sidebar-item{border-bottom:1px solid #eee}.sidebar-link{display:block;padding:0.5rem 1rem;color:#0056b3;text-decoration:none;font-size:0.9rem;transition:background-color 0.2s ease}.sidebar-link:hover{background-color:#e9e9e9;color:#0056b3}.sidebar-link.active{background-color:#e6f3ff;color:#0056b3;font-weight:bold}.sidebar-text{display:block;padding:0.75rem 1rem;color:#333;font-size:0.9rem;font-weight:bold}.page-with-sidebar{display:flex;gap:2rem}@media (max-width: 768px){.page-with-sidebar{flex-direction:column;gap:0}}.page-with-sidebar .main-content{flex:1;min-width:0}@media screen and (min-width: 50em){.site-nav{float:left;margin-left:80px}}.footer-description,.footer-social,.footer-contact{display:block;margin-top:15px;margin-bottom:15px;clear:both;width:100%}.footer-col .social-media-list,.footer-col .pagination,.footer-col .contact-list{display:block;clear:both}.site-header,.page-content,.site-footer{font-family:'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace}.page-content{font-size:0.8rem}.wrapper{max-width:1200px;width:70%}.index-text{max-width:600px}hr{margin-top:10px;margin-bottom:10px;border-color:#ccc}p{margin-top:10px;margin-bottom:10px}h4{margin-top:10px;margin-bottom:10px;color:#333}a{color:#0056b3}.site-footer a{color:#828282}li{padding-bottom:5px}code{background-color:#eee}.language-rb .highlight,.highlighter-rouge .highlight{background-color:#eee}.main pre{background:#eee}.post-header{border-bottom:2px solid #000}.post-title{font-size:1.5rem;font-weight:500;text-transform:uppercase;letter-spacing:0.05em}.main{margin-top:100px;padding-bottom:50px}.main .main-posts{margin-top:30px}.main .title{font-weight:700}.post-row{display:block}.column-date{display:inline;width:10%}.column-title{display:inline;width:90%}table td{padding:10px}.page-header-section{border:1px solid #ddd;border-left:3px solid #000;padding:15px 20px;margin-bottom:25px;background:#fafafa}.page-header-section h1{margin-top:0;margin-bottom:10px}.page-meta{font-style:normal;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.08em;color:#888;margin:5px 0}.share-block{display:inline-flex;align-items:center;gap:8px;color:#666;font-size:0.8rem}.share-block .share-label{color:#a0a0a0;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;font-size:0.7rem;white-space:nowrap}.share-block .share-buttons{display:inline-flex;align-items:center;gap:6px}.share-block .share-buttons>div{position:relative;height:36px;width:32px;text-align:center;border-radius:6px;transition:background-color 0.15s ease, transform 0.15s ease}.share-block .share-buttons>div:hover{cursor:pointer;transform:translateY(-1px)}.share-block .share-buttons>div>svg{height:16px;fill:#d5d5d5;margin-top:10px}.share-block .share-buttons>div.facebook>svg{height:18px;margin-top:9px}.share-block .share-buttons>div.x>svg{height:20px;margin-top:8px}.share-block .share-buttons>div.linkedin>svg{height:19px;margin-top:7px}.share-block .share-buttons>div.pinterest>svg{height:20px;margin-top:9px}.share-block .share-buttons>div.mail>svg{height:14px;margin-top:11px}.share-block .share-buttons>div.hackernews>svg{height:20px;margin-top:9px}.share-block .share-buttons>div.reddit>svg{height:18px;margin-top:9px}.share-block .share-buttons>div.copylink>svg{height:18px;margin-top:9px}.share-block .share-buttons>div.facebook:hover>svg{fill:#3B5998}.share-block .share-buttons>div.x:hover>svg{fill:#000}.share-block .share-buttons>div.linkedin:hover>svg{fill:#0077b5}.share-block .share-buttons>div.pinterest:hover>svg{fill:#CB2027}.share-block .share-buttons>div.mail:hover>svg{fill:#7D7D7D}.share-block .share-buttons>div.hackernews:hover>svg{fill:#FF6601}.share-block .share-buttons>div.reddit:hover>svg{fill:#FF4500}.share-block .share-buttons>div.copylink:hover>svg{fill:#333}.share-block .share-buttons>div.copylink.copied>svg{fill:#28a745}.share-inline{margin:1.25rem 0 0.5rem}@media (min-width: 960px){.share-inline--mobile{display:none}}.share-rail{position:fixed;top:50%;right:max(16px, 2.5vw);transform:translateY(-50%);z-index:50}.share-rail .share-block{flex-direction:column;align-items:center;padding:10px 12px;border:1px solid #e5e5e5;border-radius:10px;background:rgba(255,255,255,0.96);box-shadow:0 6px 24px rgba(0,0,0,0.08);backdrop-filter:blur(2px)}.share-rail .share-buttons{flex-direction:column;gap:10px}.share-rail .share-buttons>div{width:36px;height:36px;background:#f7f7f7}.share-rail .share-buttons>div:hover{background:#eef2f6}.share-rail .share-label{writing-mode:vertical-rl;transform:rotate(180deg)}@media (max-width: 960px){.share-rail{display:none}}
