.highlight{color:#d0d0d0}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .w{color:#d0d0d0}.highlight .err{color:#121417;background-color:#ac4142}.highlight .c,.highlight .cd,.highlight .cm,.highlight .c1,.highlight .cs{color:#888}.highlight .cp{color:#f4bf75}.highlight .o,.highlight .ow{color:#f4bf75}.highlight .p,.highlight .pi{color:#d0d0d0}.highlight .gi{color:#90a959}.highlight .gd{color:#ac4142}.highlight .gh{color:#6a9fb5;font-weight:bold}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#aa759f}.highlight .kc,.highlight .kt,.highlight .kd{color:#d28445}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1{color:#90a959}.highlight .sr{color:#75b5aa}.highlight .si,.highlight .se{color:#8f5536}.highlight .nt,.highlight .nn,.highlight .nc,.highlight .no{color:#f4bf75}.highlight .na{color:#6a9fb5}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mb,.highlight .mx{color:#90a959}.highlight .ss{color:#90a959}body{margin:0;padding:0;background:repeating-radial-gradient(circle at 20% 10%, rgba(255,255,255,0.03) 0, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 20px),repeating-radial-gradient(circle at 80% 70%, rgba(255,255,255,0.02) 0, rgba(255,255,255,0.02) 2px, transparent 2px, transparent 16px),repeating-radial-gradient(circle at 40% 80%, rgba(255,255,255,0.025) 0, rgba(255,255,255,0.025) 1.2px, transparent 1.2px, transparent 18px),radial-gradient(circle, navy 0%, #121417 100%);color:white;font-size:16px;line-height:1.5;font-family:Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace}.container{width:90%;max-width:1000px;margin:0 auto}section{display:block;margin:0 0 20px 0}h1,h2,h3,h4,h5,h6{margin:0 0 20px}li{line-height:1.4}header{background:rgba(0,0,0,0.08);border-bottom:1px dashed #666;padding:20px;margin:0 0 32px 0;position:relative}.lang-bar{background:rgba(0,0,0,0.06);border-bottom:1px dashed #b5e853;padding:6px 0;margin:-30px 0 30px 0;font-size:14px}.header-links{text-align:center;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.nav-links{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.toggles{display:flex;align-items:center;gap:10px}.header-link{display:inline}header h1{font-size:24px;line-height:1.5;margin:0;text-align:center;font-weight:700;font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color:#eaeaea;text-shadow:none;letter-spacing:-0.02em}header h2{font-size:18px;font-weight:300;color:#666}#main_content{width:100%;-webkit-font-smoothing:antialiased}section img{max-width:100%}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color:#eaeaea;letter-spacing:-0.01em;text-shadow:none}#main_content h1{font-size:30px}#main_content h2{font-size:24px}#main_content h3{font-size:18px}#main_content h4{font-size:14px}#main_content h5{font-size:12px;text-transform:uppercase;margin:0 0 5px 0}#main_content h6{font-size:12px;text-transform:uppercase;color:#999;margin:0 0 5px 0}dt{font-style:italic;font-weight:bold}ul li{list-style:none;position:relative;padding-left:1.5em;margin-bottom:12px}ul li::before{content:"🐾";position:absolute;left:0;filter:grayscale(100%) brightness(1.1) sepia(100%) saturate(400%) hue-rotate(10deg)}blockquote{color:#aaa;padding-left:10px;border-left:1px dotted #666}pre{background:rgba(0,0,0,0.9);border:1px solid rgba(255,255,255,0.15);padding:10px;font-size:16px;color:#b5e853;border-radius:2px;text-wrap:normal;overflow:auto;overflow-y:hidden}code.highlighter-rouge{background:rgba(0,0,0,0.9);border:1px solid rgba(255,255,255,0.15);padding:0px 3px;margin:0px -3px;color:#aa759f;border-radius:2px}table{width:100%;margin:0 0 20px 0}th{text-align:left;border-bottom:1px dashed #666;padding:5px 10px}td{padding:5px 10px}hr{height:0;border:0;border-bottom:1px dashed #666;color:#666}.btn{display:inline-block;background:-webkit-linear-gradient(top, rgba(40,40,40,0.3), rgba(35,35,35,0.3) 50%, rgba(10,10,10,0.3) 50%, rgba(0,0,0,0.3));padding:8px 18px;border-radius:50px;border:2px solid rgba(0,0,0,0.7);border-bottom:2px solid rgba(0,0,0,0.7);border-top:2px solid #000;color:rgba(255,255,255,0.8);font-family:Helvetica, Arial, sans-serif;font-weight:bold;font-size:13px;text-decoration:none;text-shadow:0 -1px 0 rgba(0,0,0,0.75);box-shadow:inset 0 1px 0 rgba(255,255,255,0.05)}.btn:hover{background:-webkit-linear-gradient(top, rgba(40,40,40,0.6), rgba(35,35,35,0.6) 50%, rgba(10,10,10,0.8) 50%, rgba(0,0,0,0.8))}.btn .icon{display:inline-block;width:16px;height:16px;margin:1px 8px 0 0;float:left}.btn-github .icon{opacity:0.6;background:url("../images/blacktocat.png") 0 0 no-repeat}a{color:white;text-shadow:none}a:active,a:focus{outline:0;border:none;-moz-outline-style:none}.cf:before,.cf:after{content:"";display:table}.cf:after{clear:both}.cf{zoom:1}.pagination,footer{height:50px;line-height:50px;text-align:center}#wrapper{min-height:calc(100vh - 100px)}header a,header .nav-links a,header .header-links a,header a h2,header .header-link{color:#ffffff !important;font-weight:700 !important;text-decoration:none !important}header a:hover,header .nav-links a:hover,header .header-links a:hover,header a:hover h2,header .header-link:hover{color:rgba(255,255,255,0.8) !important;text-decoration:none !important}@media (max-width: 480px){.header-links{flex-direction:column;align-items:center;gap:8px}.nav-links{justify-content:center}}.center-image{margin:0 auto;display:block}.center-text{margin:0 auto;display:block}html,body{height:100%}body{min-height:100vh;display:flex;flex-direction:column;background:#0d1117;position:relative}#wrapper{flex:1 0 auto;min-height:auto;overflow-y:auto;padding-top:140px;padding-bottom:80px;position:relative;z-index:2}.container{padding-bottom:40px;max-width:1100px;width:93%}.pagination{flex-shrink:0;padding:10px 0;margin-bottom:20px}header{position:fixed !important;top:0;left:0;right:0;z-index:1000;background:#0d1117 !important;border-bottom:1px solid #30363d !important;margin:0 !important}header a,header .nav-links a,header .header-links a{color:#ffffff !important;text-decoration:none !important;text-transform:uppercase;font-size:18px;font-weight:700 !important;letter-spacing:0.05em}header a:hover,header .nav-links a:hover,header .header-links a:hover{color:rgba(255,255,255,0.8) !important;text-decoration:none !important}footer{flex-shrink:0;position:relative;background:#0d1117;border-top:1px solid #30363d}footer a{color:#8b949e !important;text-decoration:none !important;transition:color 0.2s ease}footer a:hover{color:#c9d1d9 !important}#main_content p,#main_content li,#main_content blockquote{text-align:justify;text-justify:inter-word;hyphens:auto}#main_content h2,#main_content h3,#main_content h4{scroll-margin-top:140px}#main_content article h2:not(:first-child){margin-top:56px;padding-top:18px;border-top:1px solid #21262d}#main_content article h2:first-child{margin-top:0;padding-top:0;border-top:0}#main_content article h3{margin-top:28px}#main_content article h4{margin-top:22px}#main_content .home-posts h2{margin-top:0;padding-top:0;border-top:0}#main_content hr{margin:36px 0;border-bottom-color:#30363d}.post-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;margin-top:44px;padding-top:18px;border-top:1px solid #21262d}.post-nav__link{display:block;padding:14px 14px;border:1px solid rgba(255,255,255,0.12);border-radius:12px;background:rgba(13,17,23,0.35);text-decoration:none !important}.post-nav__link:hover{border-color:rgba(255,255,255,0.28);background:rgba(13,17,23,0.55)}.post-nav__kicker{display:block;font-size:12px;color:#8b949e;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.08em}.post-nav__title{display:block;color:#c9d1d9;font-size:14px;line-height:1.4}.post-nav__link--older{text-align:left}.post-nav__link--newer{text-align:right}.post-nav__link--index{text-align:center}@media (max-width: 640px){.post-nav{grid-template-columns:1fr}.post-nav__link--newer,.post-nav__link--index{text-align:left}}.home-posts li{margin-bottom:40px;padding:24px 0;padding-left:0 !important;border-bottom:1px solid #21262d;list-style:none;transition:padding-left 0.2s ease}.home-posts li::before{content:none !important}.home-posts li:hover{padding-left:8px !important}.home-posts li:last-child{margin-bottom:0}.home-posts h2,.home-posts h2 a{font-size:24px;line-height:1.4;margin-bottom:12px;font-weight:600;color:#c9d1d9}.home-posts h2 a,.home-posts h2 a:hover,.home-posts h2 a:focus{text-decoration:none;transition:color 0.2s ease}.home-posts time{display:block;font-size:13px;color:#8b949e;margin-bottom:12px;font-weight:400}.home-posts p{color:#8b949e;line-height:1.6;margin-top:8px;font-size:14px}@media (max-width: 768px){#wrapper{padding-top:100px}.home-posts li{padding:20px;margin-bottom:32px}.home-posts h2,.home-posts h2 a{font-size:18px}header a,header .nav-links a,header .header-links a{font-size:16px !important}}html{scroll-behavior:smooth}#main_content a{transition:color 0.2s ease;border-bottom:1px solid rgba(255,255,255,0.2)}#main_content a:hover{color:#ffffff;border-bottom-color:rgba(255,255,255,0.6)}#disqus_thread{margin-top:80px;padding-top:60px;border-top:1px solid #30363d}.center-image{margin-bottom:40px}
