.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .cm{color:#777772;font-style:italic}.highlight .cp{color:#797676;font-weight:bold}.highlight .c1{color:#777772;font-style:italic}.highlight .cs{color:#797676;font-weight:bold;font-style:italic}.highlight .c,.highlight .cd{color:#777772;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .gd{color:#000000;background-color:#ffdddd}.highlight .ge{color:#000000;font-style:italic}.highlight .gr{color:#aa0000}.highlight .gh{color:#797676}.highlight .gi{color:#000000;background-color:#ddffdd}.highlight .go{color:#888888}.highlight .gp{color:#555555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaaaaa}.highlight .gt{color:#aa0000}.highlight .kc{color:#000000;font-weight:bold}.highlight .kd{color:#000000;font-weight:bold}.highlight .kn{color:#000000;font-weight:bold}.highlight .kp{color:#000000;font-weight:bold}.highlight .kr{color:#000000;font-weight:bold}.highlight .kt{color:#445588;font-weight:bold}.highlight .k,.highlight .kv{color:#000000;font-weight:bold}.highlight .mf{color:#009999}.highlight .mh{color:#009999}.highlight .il{color:#009999}.highlight .mi{color:#009999}.highlight .mo{color:#009999}.highlight .m,.highlight .mb,.highlight .mx{color:#009999}.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 .s{color:#d14}.highlight .na{color:#008080}.highlight .bp{color:#797676}.highlight .nb{color:#0086B3}.highlight .nc{color:#445588;font-weight:bold}.highlight .no{color:#008080}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:#800080}.highlight .ne{color:#990000;font-weight:bold}.highlight .nf{color:#990000;font-weight:bold}.highlight .nl{color:#990000;font-weight:bold}.highlight .nn{color:#555555}.highlight .nt{color:#000080}.highlight .vc{color:#008080}.highlight .vg{color:#008080}.highlight .vi{color:#008080}.highlight .nv{color:#008080}.highlight .ow{color:#000000;font-weight:bold}.highlight .o{color:#000000;font-weight:bold}.highlight .w{color:#bbbbbb}.highlight{background-color:#f8f8f8}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}body{box-sizing:border-box;color:#373737;background:#212121;font-size:16px;font-family:'Myriad Pro', Calibri, Helvetica, Arial, sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{margin:10px 0;font-weight:700;color:#222222;font-family:'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif;letter-spacing:-1px}h1{font-size:36px;font-weight:700}h2{padding-bottom:10px;font-size:32px;background:url("../images/bg_hr.png") repeat-x bottom}h3{font-size:24px}h4{font-size:21px}h5{font-size:18px}h6{font-size:16px}p{margin:10px 0 15px 0}footer p{color:#f2f2f2}a{text-decoration:none;color:#0F79D0;text-shadow:none;transition:color 0.5s ease;transition:text-shadow 0.5s ease;-webkit-transition:color 0.5s ease;-webkit-transition:text-shadow 0.5s ease;-moz-transition:color 0.5s ease;-moz-transition:text-shadow 0.5s ease;-o-transition:color 0.5s ease;-o-transition:text-shadow 0.5s ease;-ms-transition:color 0.5s ease;-ms-transition:text-shadow 0.5s ease}a:hover,a:focus{text-decoration:underline}footer a{color:#F2F2F2;text-decoration:underline}em,cite{font-style:italic}strong{font-weight:bold}img{position:relative;margin:0 auto;max-width:739px;padding:5px;margin:10px 0 10px 0;border:1px solid #ebebeb;box-shadow:0 0 5px #ebebeb;-webkit-box-shadow:0 0 5px #ebebeb;-moz-box-shadow:0 0 5px #ebebeb;-o-box-shadow:0 0 5px #ebebeb;-ms-box-shadow:0 0 5px #ebebeb}p img{display:inline;margin:0;padding:0;vertical-align:middle;text-align:center;border:none}pre,code{color:#222;background-color:#fff;font-family:Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;font-size:0.875em;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px}pre{padding:10px;box-shadow:0 0 10px rgba(0,0,0,0.1);overflow:auto}code{padding:3px;margin:0 3px;box-shadow:0 0 10px rgba(0,0,0,0.1)}pre code{display:block;box-shadow:none}blockquote{color:#666;margin-bottom:20px;padding:0 0 0 20px;border-left:3px solid #bbb}ul,ol,dl{margin-bottom:15px}ul{list-style-position:inside;list-style:disc;padding-left:20px}ol{list-style-position:inside;list-style:decimal;padding-left:20px}dl dt{font-weight:bold}dl dd{padding-left:20px;font-style:italic}dl p{padding-left:20px;font-style:italic}hr{height:1px;margin-bottom:5px;border:none;background:url("../images/bg_hr.png") repeat-x center}table{border:1px solid #373737;margin-bottom:20px;text-align:left}th{font-family:'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif;padding:10px;background:#373737;color:#fff}td{padding:10px;border:1px solid #373737}form{background:#f2f2f2;padding:20px}kbd{background-color:#fafbfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;border-radius:3px;box-shadow:inset 0 -1px 0 #959da5;color:#444d56;display:inline-block;font-size:11px;line-height:11px;padding:3px 5px;vertical-align:middle}.outer{width:100%}.inner{position:relative;max-width:640px;padding:20px 10px;margin:0 auto}#forkme_banner{display:block;position:absolute;top:0;right:10px;z-index:10;padding:10px 50px 10px 10px;color:#fff;background:url("../images/blacktocat.png") #0090ff no-repeat 95% 50%;font-weight:700;box-shadow:0 0 10px rgba(0,0,0,0.5);border-bottom-left-radius:2px;border-bottom-right-radius:2px}#header_wrap{background:#212121;background:-moz-linear-gradient(top, #373737, #212121);background:-webkit-linear-gradient(top, #373737, #212121);background:-ms-linear-gradient(top, #373737, #212121);background:-o-linear-gradient(top, #373737, #212121);background:linear-gradient(to top, #373737, #212121)}#header_wrap .inner{padding:50px 10px 30px 10px}#project_title{margin:0;color:#fff;font-size:42px;font-weight:700;text-shadow:#111 0px 0px 10px}#project_tagline{color:#fff;font-size:24px;font-weight:300;background:none;text-shadow:#111 0px 0px 10px}#downloads{position:absolute;width:210px;z-index:10;bottom:-40px;right:0;height:70px;background:url("../images/icon_download.png") no-repeat 0% 90%}.zip_download_link{display:block;float:right;width:90px;height:70px;text-indent:-5000px;overflow:hidden;background:url(../images/sprite_download.png) no-repeat bottom left}.tar_download_link{display:block;float:right;width:90px;height:70px;text-indent:-5000px;overflow:hidden;background:url(../images/sprite_download.png) no-repeat bottom right;margin-left:10px}.zip_download_link:hover{background:url(../images/sprite_download.png) no-repeat top left}.tar_download_link:hover{background:url(../images/sprite_download.png) no-repeat top right}#main_content_wrap{background:#f2f2f2;border-top:1px solid #111;border-bottom:1px solid #111}#main_content{padding-top:40px}#footer_wrap{background:#212121}@media screen and (max-width: 992px){img{max-width:100%}}@media screen and (max-width: 480px){body{font-size:14px}#downloads{display:none}.inner{min-width:320px;max-width:480px}#project_title{font-size:32px}h1{font-size:28px}h2{font-size:24px}h3{font-size:21px}h4{font-size:18px}h5{font-size:14px}h6{font-size:12px}code,pre{font-size:11px}}@media screen and (max-width: 320px){body{font-size:14px}#downloads{display:none}.inner{min-width:240px;max-width:320px}#project_title{font-size:28px}h1{font-size:24px}h2{font-size:21px}h3{font-size:18px}h4{font-size:16px}h5{font-size:14px}h6{font-size:12px}code,pre{min-width:240px;max-width:320px;font-size:11px}}:root{--color-bg:#1f2730;--color-surface:#24313b;--color-surface-elevated:#2b3945;--color-border:#33444f;--color-border-strong:#455967;--color-text:#e4ebef;--color-text-muted:#c2ccd1;--color-link:#008cce;--color-link-hover:#005d86;--color-link-active:#005d86;--color-focus:#16a3e6;--color-focus-alt:#0d82b6}a{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.page{color:#222}#header_wrap .inner{padding:25px 10px 5px 10px;text-align:left}#project_tagline{padding-bottom:0;margin:0, 0;text-align:left}#main_content{padding-top:20px}.site-nav{margin-top:1.2rem;display:flex;justify-content:center}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0}.site-nav li{margin:0}.site-nav a{position:relative;display:block;padding:.65rem 1.05rem .85rem;color:var(--color-text);font-size:1.12rem;font-weight:600;letter-spacing:.4px;text-decoration:none;border:none;background:transparent;border-radius:0;transition:color .25s ease}.site-nav a:hover{color:#fff}.site-nav a::after{content:"";position:absolute;left:50%;bottom:.35rem;width:0;height:2px;background:var(--color-focus);border-radius:2px;transition:width .25s ease,left .25s ease}.site-nav a:hover::after{width:70%;left:15%}.site-nav li.active a{color:#fff}.site-nav li.active a::after{width:70%;left:15%;background:var(--color-focus-alt)}.site-nav a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (max-width: 680px){.site-nav{justify-content:flex-start}.site-nav a{padding:.55rem .85rem .7rem;font-size:1.05rem}}.tag-legend{margin:1rem 0 2rem;overflow-x:auto}.tag-legend table{min-width:420px}.tag-legend table th,.tag-legend table td{white-space:nowrap}.tag-legend table th{text-align:left}.featured-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));margin:1.2rem 0 2rem}.featured-grid .card{position:relative}.featured-grid .card{background:var(--color-surface-elevated);border:1px solid var(--color-border-strong);border-radius:10px;padding:1rem 1rem .95rem;box-shadow:0 3px 6px rgba(0,0,0,0.35);color:var(--color-text);line-height:1.35}.featured-grid .card h3{margin-top:0;font-size:1.08rem;letter-spacing:.3px;color:var(--color-link)}.featured-grid .card h3,.featured-grid .card h3 a{color:var(--color-link);text-decoration:none}.featured-grid .card h3 a:hover,.featured-grid .card h3 a:focus{color:var(--color-link);text-decoration:none}.featured-grid .card:hover h3,.featured-grid .card:focus-within h3{color:var(--color-link);text-decoration:none}.featured-grid .card p{margin:.5rem 0 .7rem;font-size:.83rem;line-height:1.4;color:var(--color-text-muted)}.featured-grid .card:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.featured-grid .tags{margin-top:.35rem}.featured-grid .card{transition:transform .25s ease, box-shadow .25s ease}.featured-grid .card:hover{transform:translateY(-3px);box-shadow:0 6px 14px -2px rgba(0,0,0,0.45)}.featured-grid .card:active{transform:translateY(-1px)}.stretched-link{position:absolute;inset:0;z-index:1;text-indent:-9999px;overflow:hidden;background:transparent}.stretched-link:focus{outline:2px solid var(--color-focus);outline-offset:2px}.featured-grid .card:hover{cursor:pointer}.tag{display:inline-block;padding:.18rem .55rem .25rem;margin:0 .35rem .4rem 0;font-size:.62rem;font-weight:600;letter-spacing:.45px;border-radius:14px;background:#344752;color:#ecf3f6;line-height:1.05;border:1px solid rgba(255,255,255,0.07);position:relative;top:0;transition:background .25s ease, top .18s ease, box-shadow .25s ease}.tag:hover{top:-1px;box-shadow:0 2px 4px rgba(0,0,0,0.35)}.tag:active{top:0;box-shadow:none}.tag-microservices{background:#1d5e7a}.tag-ddd{background:#524095}.tag-architecture{background:#3c5260}.tag-event{background:#7a471d}.tag-devops{background:#1d6a5d}.tag-observability{background:#55642e}.tag-game{background:#6d2a52}.tag-go{background:#2f7d94}.tag-rust{background:#7d4a1e}.tag-learning{background:#48479b}.tag-ai{background:#5a2d78}.tag-go,.tag-microservices,.tag-rust{color:#f2f8fa}.page a{color:var(--color-link);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px;transition:color .18s ease, text-decoration-color .18s ease}.page a:hover,.page a:focus{color:var(--color-link-hover)}.page a:active{color:var(--color-link-active)}.page a:visited{color:var(--color-link)}.page a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.page table{border-collapse:collapse}.page table th,.page table td{border:1px solid var(--color-border);padding:.4rem .5rem;font-size:.75rem}.page table th{background:#2d3b46}.page header h1{margin-top:0}.page .page-content{margin-top:1rem}.tag{margin:0 .25rem .35rem 0}a+.tag{margin-left:.6rem}.tag{padding:.18rem .5rem .25rem;font-size:.6rem;letter-spacing:.45px;margin:0 .18rem .32rem 0}.brand-row{display:flex;align-items:center;gap:1rem;justify-content:flex-start}.brand-row .site-logo img{display:block;border-radius:12px}.brand-row #project_title{margin:0;padding-bottom:0px;background:none}.post-list{display:grid;gap:1.75rem;margin:1.2rem 0 2.4rem}.post-item{position:relative;padding:1rem 1.1rem 1.15rem;background:var(--color-surface-elevated);border:1px solid var(--color-border-strong);border-radius:10px;box-shadow:0 2px 5px rgba(0,0,0,0.28);transition:box-shadow .25s ease, transform .25s ease}.post-item:hover{box-shadow:0 6px 14px -2px rgba(0,0,0,0.45);transform:translateY(-3px)}.post-title{margin:.15rem 0 .35rem;font-size:1.05rem;letter-spacing:.3px}.post-title a{color:var(--color-link);text-decoration:none}.post-title a:hover,.post-title a:focus{color:var(--color-link-hover);text-decoration:underline}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.9rem;letter-spacing:.08em;margin:.1rem 0 .55rem;color:#9aa7ad}.post-date{font-weight:600}.post-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.post-tags li{margin:0;padding:0}.post-excerpt{margin:.2rem 0 0;font-size:.8rem;line-height:1.45;color:var(--color-text-muted)}.post-item:focus-within{outline:2px solid var(--color-focus);outline-offset:3px}@media (min-width: 760px){.post-list{grid-template-columns:repeat(auto-fit, minmax(320px, 1fr))}}.post-tags .tag{font-size:.55rem;padding:.22rem .55rem .28rem}.related-posts{margin:2rem 0 0;border-top:1px solid var(--color-border-strong);padding-top:1rem}.related-posts h2{font-size:1.1rem;margin:.2rem 0 1rem}.related-list{list-style:disc;padding-left:1.25rem;margin:0}.related-list li{margin:.35rem 0}.related-list a{color:var(--color-link);text-decoration:none}.related-list a:hover,.related-list a:focus{text-decoration:underline;color:var(--color-link-hover)}
