@font-face{font-family:cairo;font-style:normal;font-weight:700;src:url(/font/Cairo.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ek mukta;font-style:normal;font-weight:400;src:url(/font/EkMukta.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:martel;font-style:normal;font-weight:400;src:url(/font/Martel.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll;-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;font-size:18px;line-height:1.6em;word-break:break-word;background:var(--theme)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}h1,h2,h3,h4,h5,h6{line-height:1.2em}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0;list-style-type:none}a{text-decoration:none}body,figure,ul{margin:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:0 0;border:0}input,textarea{}button,input[type=button],input[type=submit]{cursor:pointer}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme)inset}img{display:block;max-width:100%}:root{--color-bg-canvas:#252011;--color-text-primary:#c9d1d9;--color-text-secondary:#a8a8a8;--color-accent-primary:#fc5151;--color-focus:#fc5151;--focus-outline-width:2px;--focus-outline-offset:2px;--radius:6px;--content-gap:20px;--gap-large:3rem;--max-width:768px}[data-theme=light]{--color-bg-canvas:#f0f0f0;--color-text-primary:#666666;--color-text-secondary:#888888;--color-accent-primary:#d94040;--color-focus:#d94040}:root{}:focus-visible{outline:var(--focus-outline-width)solid var(--color-focus);outline-offset:var(--focus-outline-offset)}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-100%;left:0;background:var(--color-bg-canvas);color:var(--color-text-primary);padding:.5rem 1rem;z-index:1000;text-decoration:underline}.skip-link:focus{top:0}[data-theme=light] body{background-image:none}[data-theme=light] body>header h1{text-shadow:none}#theme-toggle{background:0 0;border:none;padding:.5rem;cursor:pointer;color:var(--color-text-primary);margin-left:auto}#theme-toggle svg{width:1.25rem;height:1.25rem}#theme-toggle .icon-sun{display:block}#theme-toggle .icon-moon{display:none}[data-theme=light] #theme-toggle .icon-sun{display:none}[data-theme=light] #theme-toggle .icon-moon{display:block}html{font-feature-settings:normal;font-variation-settings:normal;height:100%}body{display:grid;grid-template-rows:auto 1fr auto;grid-gap:var(--gap-large);min-height:100%;background:var(--color-bg-canvas)url(/img/bg.webp);border-top:5px solid var(--color-accent-primary);color:var(--color-text-primary);scroll-behavior:smooth;font-family:ek mukta;font-size:1.2em;line-height:1.5rem;letter-spacing:-.0011875rem;text-rendering:geometricPrecision;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;justify-items:center;> header, > main, > footer { display:flex; flex-direction: column; max-width: var(--max-width); width: 100vw; padding: 0 1rem; } > header { display: flex; flex-direction: row; justify-content: space-between; align-items: center; margin-top: 0.75rem; h1 { font-size: 1.5em; text-shadow: 0px 0px 1px #363636, 1px 1px 15px #111; } } > main { a { color: var(--color-accent-primary); } } > footer { gap: var(--content-gap); color:#777; font-size:.65em; text-align: center; margin-bottom: 1rem; a { color: #999; text-decoration: underline; } }}h1,h2,h3,h4,h5,h6{font-family:cairo}#home>header h1{display:none}#home main{justify-content:center}#home .about{display:flex;flex-direction:column;align-items:center;gap:1rem;img { width: 8rem; height: auto; border-radius: 50%; border: solid 5px var(--color-accent-primary); } ul { margin-top: 1rem; display: flex; flex-direction: row; gap: var(--content-gap); } a { color:var(--color-text-primary); transition: all .65s ease; } a:hover { color:var(--color-accent-primary); } svg { width: 2rem; height: auto; } .social svg { width: 1.2rem; }}#home .latest{margin-top:4rem}#blog main{display:flex;flex-direction:column;gap:3rem;align-content:flex-start}#blog .year{display:flex;flex-direction:column;justify-content:flex-start;gap:1rem;h2 { color:#555; letter-spacing: 0.15em; flex: 0 1 auto; text-align: center; } article { flex-basis: content; flex-grow: 1; h1 { font-size: 1.1em; } p { font-size: .9em; color:var(--color-text-primary); } }}#page{h1 { color: #888; font-size: 1.2em; } h2 { color: var(--color-text-primary); margin: 2rem 0 1rem 0; font-size: 1em; } h2:first-child { margin-top: 1rem; } p { margin-bottom: 1.5rem; }}.articles{> h1 { font-size: 1em; margin: 1rem 0; } > h2 { color:#666; font-size: .8em; text-transform: uppercase; margin: 1rem 0; } article { margin-bottom: 1rem; h1 { font-size: .95em; } p { font-size: .9em; } }}@media(min-width:768px){#blog .year{flex-direction:row;> div { border-left:#555 solid 3px; padding-left: 1rem; } h2 { writing-mode: vertical-rl; transform: rotate(-180deg); margin: 0 .2rem 0 0; flex: 0 1 auto; }}#about .main ul{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,2.5rem);grid-gap:10px;li a { display: flex; align-items: center; flex-direction: column; gap: 10px; }}}#post main article{header { margin-bottom: 2.5rem; h1 { font-family: 'Cairo'; font-size:2.6em; text-align: center; color: var(--color-text-primary); margin-top: 0; } h2 { font-family: 'Ek Mukta'; font-size:1.3em; text-align: center; margin-top: 0.9em; } } .divider { position: relative; margin-top: 2rem; height: 1px; } .divider-top { margin-bottom: 3rem; } .divider:before { content: ""; position: absolute; top: 0; left: 1%; right: 1%; width: 98%; height: 2px; background-image: linear-gradient(to right, transparent, rgb(122, 126, 134), transparent); } .divider-top:after { content: ""; position: absolute; z-index: 1; top: -8px; left: calc(50% - 9px); width: 18px; height: 18px; background-color: var(--color-accent-primary); border: 6px solid rgb(48,49,51); border-radius: 50%; box-shadow: inset 0 0 0 2px rgb(1, 1, 1, 0), 0 0 0 4px rgb(1, 1, 1, 0); } footer { display:flex; flex-direction: row; justify-content: space-between; align-items: baseline; padding-bottom: .5rem; margin-top: .25rem; time { font-weight: bold; color: #888; font-size: .9em; } ul { display:flex; flex-direction: row; gap: 12px; font-size: .9em; } } p { margin-bottom: 1rem; font-size: 1.1em; line-height: 1.7em; } > div a { text-decoration: underline; text-decoration-color: #a66c79; text-decoration-thickness: .5px; } h1, h2, h3, h4, h5, h6 { color: #888; margin: 3rem 0 1.5rem 0; } > h3 { font-size: 1.4em; } > h4 { font-size: 1.3em; } > h5 { font-size: 1.2em; } > h6 { font-size: 1.1em; } > del { text-decoration: line-through; } > dl, > ol, > p, > figure, > ul { margin-bottom: var(--content-gap); } > ol, > ul { padding-inline-start: 20px; } li { margin-top: 5px; p { margin-bottom: 0; } } dl { display: flex; flex-wrap: wrap; margin: 0; } dt { width: 25%; font-weight: 700; } dd { width: 75%; margin-inline-start: 0; padding-inline-start: 10px; } dd ~ dd, dt ~ dt { margin-top: 10px; } table { margin-bottom: 1rem;} table.lntable { tr td:last-child { width: 100%; } } table:not(.lntable) { margin-bottom: var(--content-gap); width:100%; display:table; table-layout: fixed; overflow-wrap: break-word; } table:not(.lntable) th, table:not(.lntable) td { min-width: 80px; padding: 8px 5px; line-height: 1.5em; border-top: 1px solid #888; } table:not(.lntable) th { text-align: start; text-transform: uppercase; font-size: 0.8em; border: 0; } table:not(.lntable) td code:only-child { margin: auto 0; } .highlight { position: relative; } code { background-color:rgb(0,0,0,.2); border: #333 solid 1px; border-radius: var(--radius); padding:0 .3rem; } pre { max-width:100%; background-color:rgb(0,0,0,.1); border-radius: var(--radius);; padding: 10px; overflow-x: auto; white-space: pre; font-weight: 400; font-size: 1.2em; code { background-color: transparent; border:none; padding:0; display: grid; width: 100%; word-wrap: normal; font-size: .8em; } } blockquote { margin: 20px 0; padding: 1rem; position:relative; border-left: 4px solid #888; color:#888; p { margin:0; } } hr { margin: 30px 0; height: 2px; background: #333; border: 0; } iframe { max-width: 100%; } img { border-radius: var(--radius);; margin: 1rem 0; } img[src*="#center"] { margin: 1rem auto; } figure.align-center { text-align: center; } figure { margin: 1rem auto; } figure img { margin-bottom:0; } figure > figcaption { color: var(--color-text-secondary); font-size: 16px; font-weight: bold; margin: 0 0 1rem; } figure > figcaption > p { color: var(--color-text-secondary); font-size: 14px; font-weight: normal; } .footnotes { color:#999; font-size: 0.8em; margin-bottom: 2rem; }}#post .comment{font-size:.9em;padding:10px 0;.author { display:flex; flex-direction: row; color:#666; a { color: var(--color-text-primary); font-weight: bold; font-size: .9em; } span { margin-left: 4px; font-size: .8em; } .avatar { width: 24px; height: 24px; border-radius: 50%; vertical-align: middle; margin-right: 8px; } } .nested-replies { margin-left: 20px; padding-left: 10px; .comment { margin-bottom: 0; } } .actions { font-size: 12px; color: #666; img { width: 16px; height: auto; } } .comment { padding: 10px 0; } .author { font-weight: bold; } .avatar { width: 24px; height: 24px; border-radius: 50%; vertical-align: middle; margin-right: 8px; } .nested-replies { margin-left: 20px; padding-left: 10px; } .actions { font-size: 12px; color: #666; } .nested-replies .comment { margin-bottom: 0; }}.bg{color:#f8f8f2}.chroma{color:#f8f8f2}.chroma .x{}.chroma .err{color:#960050;background-color:#1e0010}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#3c3d38}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .n{}.chroma .na{color:#a6e22e}.chroma .nb{}.chroma .bp{}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ni{}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .fm{}.chroma .nl{}.chroma .nn{}.chroma .nx{color:#a6e22e}.chroma .py{}.chroma .nt{color:#f92672}.chroma .nv{}.chroma .vc{}.chroma .vg{}.chroma .vi{}.chroma .vm{}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .p{}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .g{}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gr{}.chroma .gh{}.chroma .gi{color:#a6e22e}.chroma .go{}.chroma .gp{}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}.chroma .gt{}.chroma .gl{}.chroma .w{}