@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/UcCo3FwrK3iLTcvsYwYZ8UA3J58.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/UcCo3FwrK3iLTcviYwYZ8UA3.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:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/UcCm3FwrK3iLTcvnUwoT9mI1F55MKw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/UcCm3FwrK3iLTcvnUwQT9mI1F54.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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-family:"Inter",-apple-system,blinkmacsystemfont,"Segoe UI",roboto,helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-weight-light:300;--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--bg:#0f1117;--halo:#191d28;--footer-bg:#64748b;--color-black:#1c1c1c;--color-white:#fafafa;--color-headline:#e2e8f0;--color-text:#cbdbef;--color-text-muted:#8b949e;--color-highlight:#00d4ff;--color-card:#1a1d29;--border-color:#2d3748;--color-badge:#8e98bf;--sidebar-bg:#161b22;--input-bg:var(--color-text);--input-color:#1c1c1c;--shadow:#0006;--icon-as-bg:#393f59;--radius:12px;--radius-large:50px;--icon-size-ref:24px;--transition-func:ease;--transition-duration:.3s;--typography-body:#d1d5dc;--typography-headings:#fff;--typography-lead:#99a1af;--typography-links:#fff;--typography-bold:#fff;--typography-counters:#99a1af;--typography-bullets:#4a5565;--typography-hr:#364153;--typography-quotes:#f3f4f6;--typography-quote-borders:#364153}@media(prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root:where(.light,.light *){--bg:#f8fafc;--color-headline:#1e293b;--color-text:#1e293b;--color-highlight:#7f8183;--color-card:#fff;--border-color:#dadada;--color-badge:#777;--input-bg:#dadada80;--input-color:#131313;--icon-as-bg:var(--input-bg);--typography-body:#d1d5dc;--typography-headings:#fff;--typography-lead:#99a1af;--typography-links:#fff;--typography-bold:#fff;--typography-counters:#99a1af;--typography-bullets:#4a5565;--typography-hr:#364153;--typography-quotes:#f3f4f6;--typography-quote-borders:#364153}a{text-underline-offset:5px;font-weight:var(--font-weight-semibold);text-decoration-thickness:1px}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden,.ltr\:hidden:where(:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=ltr],[dir=ltr] *){display:none}section{margin-block:6rem}.card{border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:0 10px 20px var(--shadow);transition:all var(--transition-duration)var(--transition-func);background-color:var(--color-card)}::-ms-backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{font-family:var(--font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");-webkit-text-size-adjust:100%;text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;word-break:break-all;overflow-wrap:break-word;text-underline-offset:5px}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-family-mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse;display:block;overflow:auto}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{color:inherit;font:inherit;opacity:1;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;background-color:#0000;border-radius:0}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}::placeholder{opacity:1}[hidden]:where(:not([hidden=until-found])){display:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:auto}.icon svg{width:1em;height:1em}h1{color:var(--color-headline);font-size:2.5rem;line-height:1.667em;font-weight:var(--font-weight-bold);margin:0;background-color:var(--bg);margin-bottom:1rem}h2{color:var(--color-headline);font-size:1.8rem;line-height:1em;font-weight:var(--font-weight-bold);background-color:var(--bg);margin:0 0 1rem}h3,.sidebar h3{color:var(--color-headline);font-size:1.25rem;line-height:.667em;font-weight:var(--font-weight-semibold);background-color:var(--bg);margin:0 0 1rem}h4{color:var(--color-headline);font-size:1rem;line-height:.667em;font-weight:var(--font-weight-semibold);background-color:var(--bg);margin:0 0 1rem}p{margin:30px 0}blockquote p:first-of-type:before{content:open-quote}blockquote p:last-of-type:after{content:close-quote}.post-main a:not(.go-next,.link){color:var(--color-highlight)}.post-main:where(.light,.light *) a:not(.go-next,.link){text-decoration:underline}.anchor-link{font-size:smaller;text-decoration:underline}@media(hover:hover){.post-main a:not(.go-next,.link):hover{text-decoration:underline}.post-main:where(.light,.light *) a:not(.go-next,.link):hover{text-decoration:none}}body{color:var(--color-text);font-family:var(--font-family);background-color:var(--bg);font-size:1rem;line-height:1.6;font-weight:var(--font-weight-normal);margin:0;padding:0;overflow-x:hidden}body:where(.light,.light *){background-image:repeating-linear-gradient(22.5deg,#0000,#0000 2px,#4b55630f 2px 3px,#0000 3px 8px),repeating-linear-gradient(67.5deg,#0000,#0000 2px,#6b72800d 2px 3px,#0000 3px 8px),repeating-linear-gradient(112.5deg,#0000,#0000 2px,#3741510a 2px 3px,#0000 3px 8px),repeating-linear-gradient(157.5deg,#0000,#0000 2px,#1f293708 2px 3px,#0000 3px 8px)}.container{padding:0;width:100%;max-width:1280px;margin:0 auto;padding-inline:1.5rem}.site-header{background:linear-gradient(135deg,var(--color-card)0%,var(--bg)100%);text-align:center;border-block-end:1px solid var(--border-color);margin-block-end:4rem;padding-block:4rem}.site-header .container{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.site-header .container .logo{object-fit:scale-down;object-position:left;flex:1}.site-header .container img{border-radius:50%}.nav-menu .list{justify-content:flex-end;align-items:center;gap:1rem;width:100%;display:flex}.nav-menu svg{width:var(--icon-size-ref);height:var(--icon-size-ref)}.nav-menu .link{border-radius:var(--radius);max-height:34px;transition:all var(--transition-duration)var(--transition-func);padding:5px 10px;font-size:1rem;text-decoration:none;display:inline-flex}.nav-menu .link .icon{display:flex}.nav-menu [aria-current=page]{background-color:var(--color-highlight);color:var(--color-black)}.nav-menu [aria-current=page]:where(.light,.light *){background-color:var(--shadow);color:var(--color-white)}@media(hover:hover){.nav-menu .link:hover{background-color:var(--color-highlight);color:var(--color-black);text-decoration:none}.nav-menu:where(.light,.light *) .link:hover{background-color:var(--shadow);color:var(--color-white);text-decoration:none}}.theme-toggle{--icon-size-ref:21px;--offset:24px;border:1px solid var(--border-color);border-radius:var(--radius-large);background-color:var(--color-card);cursor:pointer;align-items:center;gap:6px;width:64px;height:34px;padding:6px;display:flex;position:relative}.theme-toggle:after{content:"";width:var(--offset);height:var(--offset);background-color:var(--color-highlight);transition:all .4s var(--transition-func);border-radius:50%;position:absolute;top:4px;left:7px}.theme-toggle:where(.dark,.dark *):after{transform:translateX(var(--offset))}:is(.moon,.sun) .icon{display:block}:is(.moon,.sun) svg{width:var(--icon-size-ref);height:var(--icon-size-ref)}.dark .moon,.light .sun{display:flex}.skip-link{z-index:1000;text-align:center;clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;max-width:25ch;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.pagination{border-style:dotted;border-top-width:1px;border-color:var(--border-color);justify-content:space-between;padding-top:1.5rem;display:flex}.prev a{margin-right:1.5rem;display:flex}.next a{text-align:right;margin-left:1.5rem;display:flex}.arrow-left{color:var(--color-highlight);margin-right:1.5rem}.arrow-right{color:var(--color-highlight);margin-left:1.5rem}.prev .title,.next .title{flex-direction:column;display:flex}.cursus-title{text-shadow:2px 2px 3px var(--color-card);background-color:#0000;margin-block:3rem}.cursus-intro{text-shadow:2px 2px 3px var(--color-card);font-size:1.15rem}.cursus{border-inline-start:2px solid var(--color-highlight);max-width:65ch;margin:1.5rem 0;list-style-type:none}.cursus .item{border-radius:var(--radius);margin-block:2rem}.cursus .item .inner{width:100%;display:flex}.cursus .item .inner .icon{width:var(--icon-size-ref);height:var(--icon-size-ref);border-radius:var(--radius);color:var(--bg);background-color:var(--color-highlight);justify-content:center;align-items:center;margin-top:1.75rem;display:flex}.cursus .item .inner .content{flex:1;margin-top:0}.cursus .item .inner .content .card{margin-inline-start:1.5rem;padding:1.5rem}.cursus .item .inner .content .header{margin-block-end:1rem}.cursus .item .inner .content .header .title{background-color:var(--color-card);color:var(--color-headline);margin-block:0;font-size:1.5rem;line-height:1.3}.cursus .item .inner .content .text{max-width:65ch;color:var(--color-text)}:where(:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=ltr],[dir=ltr] *) .cursus .item .inner .icon{margin-left:-.75rem}:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) .cursus .item .inner .icon{margin-right:-79px}.badge{margin:0;border:1px solid var(--color-badge);border-radius:var(--radius);color:var(--color-badge);margin-block:1rem;padding:2px 5px;font-size:.8rem;display:inline-block}.scrolltop{text-align:end}.scrolltop .link{text-decoration:none}.scrolltop .link .icon{color:var(--bg);line-height:var(--icon-size-ref);background-color:var(--color-highlight);border:0;border-radius:50%;padding:.5rem;display:inline-block}.scrolltop .link .icon svg{width:var(--icon-size-ref);height:var(--icon-size-ref);transform:rotate(-180deg)}@media(hover:hover){.scrolltop .link:hover{text-decoration:none}}.site-footer{color:var(--footer-bg);text-align:end;opacity:.8;border-style:dotted;border-top-width:1px;border-color:var(--border-color);justify-content:flex-end;align-items:center;gap:1rem;margin-block-start:4rem;padding-block:1rem 2rem;display:flex}.site-footer .copyright{background-color:var(--bg)}.translations{cursor:pointer;background-color:var(--bg);color:var(--color-text);align-items:center;gap:.5rem;display:flex}.translations .link{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.translations svg{width:33px;height:var(--icon-size-ref)}.translations .title{font-weight:var(--font-weight-medium)}@media(hover:hover){.translations:hover{color:var(--color-highlight);transition:all var(--transiton-duration)var(--transition-func)}}.error-404 .error-img{margin-block:2.5rem;display:block}.error-404 .go-back{margin-block:2.5rem;display:inline-block}.error-404 .go-back .icon{--icon-size-ref:60px;color:var(--bg);background-color:var(--color-highlight);border-radius:50%;display:inline-block;transform:rotate(90deg)}.error-404 .go-back .icon svg{width:var(--icon-size-ref);height:var(--icon-size-ref)}.home{background-attachment:fixed;background-image:radial-gradient(circle,var(--halo)25%,var(--halo)25%,var(--halo)25%,#0000 40%);background-size:100% 100%}.home .title{color:var(--color-headline)}.home .c{scroll-margin-block-start:72px}.home .cursus{margin:1.5rem auto}.home .cursus-title{text-align:center;text-shadow:2px 2px 3px var(--color-card);background-color:#0000}.home .text{text-wrap:balance}.home:where(.light,.light *){background-image:repeating-linear-gradient(22.5deg,#0000,#0000 2px,#4b55630f 2px 3px,#0000 3px 8px),repeating-linear-gradient(67.5deg,#0000,#0000 2px,#6b72800d 2px 3px,#0000 3px 8px),repeating-linear-gradient(112.5deg,#0000,#0000 2px,#3741510a 2px 3px,#0000 3px 8px),repeating-linear-gradient(157.5deg,#0000,#0000 2px,#1f293708 2px 3px,#0000 3px 8px)}.posts .listing{gap:2rem;display:grid}.posts .title{text-shadow:2px 2px 3px var(--color-card);color:var(--color-headline);background-color:#0000;margin-block-end:3rem}.resized{min-width:100%;min-height:250px}.card .link{text-decoration:none}.card .link .thumbnail{border-radius:var(--radius)var(--radius)0 0;position:relative;overflow:hidden}.card .link .thumbnail .img{border-radius:var(--radius)var(--radius)0 0;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.card .link .title{color:var(--color-headline);background-color:var(--color-card);font-size:1.65rem;line-height:1.3;font-weight:var(--font-weight-semibold);margin-block-end:1rem}.card .link .text{color:var(--color-text);padding:1.5rem;padding-block-end:2.5rem;font-size:1rem}.card .link .meta{font-size:1rem;font-weight:var(--font-weight-light);margin-block:.5rem 1.5rem;font-style:italic}.card .link .summary{font-weight:var(--font-weight-normal)}@media(hover:hover){.card .link:hover{text-decoration:none}.card .link:hover .title{color:var(--color-highlight);transition:all var(--transition-duration)var(--transition-func)}.posts:where(.dark,.dark *):hover .card .link:not(:hover){transition:all var(--transition-duration)var(--transition-func);filter:grayscale()blur(8px)}}.contact{--transition-contact:.5s var(--transition-func);padding:1.5rem}.contact .nojs{align-items:baseline;gap:.5rem;display:flex}.contact .content{border-radius:var(--radius)var(--radius)0 0;min-height:100%;padding:1.5rem}.contact .title{color:var(--color-headline);background-color:var(--color-card);font-size:2rem;line-height:1.5;font-weight:var(--font-weight-bold);align-items:center;gap:1rem;padding:1.5rem;display:flex}.contact .intro{padding:0 1.5rem;font-size:1.1rem}.contact .intro .icon{color:var(--icon-as-bg)}.contact .intro svg{width:calc(var(--icon-size-ref)*2);height:calc(var(--icon-size-ref)*2)}.contact .intro p{margin:15px 0}.contact .form{border-radius:0 0 var(--radius)var(--radius);min-height:100%;transition:var(--transition-contact);padding:1.5rem;position:relative}.contact .wrapper{margin-bottom:25px}.contact .wrapper-message{margin-bottom:15px}.contact .label{color:var(--color-headline);margin-block:8px;margin-inline:.5rem;font-size:1.15rem}.contact .input-wrapper{margin-block:10px;position:relative}.contact .input-field{border-radius:var(--radius);width:-webkit-fill-available;width:stretch;color:var(--input-color);transition:var(--transition-contact);background-color:var(--input-bg);padding-block:10px;padding-inline:1rem}.contact textarea.input-field{resize:vertical;height:120px;min-height:60px;max-height:200px}.contact .input-field:focus{outline:1px solid}.contact input[type=submit]{border:1px solid var(--color-text);border-radius:var(--radius);opacity:.75;cursor:pointer;background-color:var(--icon-as-bg);margin-top:.75rem;padding:5px 15px;font-size:1.25rem;line-height:1.4}.contact-item{transition:all var(--transition-duration)var(--transition-func)}.response{opacity:0;width:-webkit-fill-available;width:stretch;max-height:100px;transition:var(--transition-contact);visibility:hidden;font-size:2rem;position:absolute;left:32px;transform:translateY(-50%)}.response-icon{margin-inline:5px}.mhoney{visibility:hidden;max-height:3px;margin:0;padding:0}@media(hover:hover){.contact input[type=submit]:hover{opacity:1;transition:var(--transition-contact);border-color:var(--color-highlight)}}.author{--icon-size-ref:28px;text-align:center;place-items:center;min-height:calc(100vh - 8rem);display:grid}.author .headline{text-shadow:2px 2px 3px var(--color-card);background-color:#0000;margin-block:1rem;font-size:1.5rem}.author .img{border:1px solid var(--border-color);background-color:var(--bg);border-radius:50%;margin:0 auto}.links{flex-flow:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.links .icon{color:var(--color-text);background-color:var(--bg);border-radius:50%;display:block}.links .icon svg{width:var(--icon-size-ref);height:var(--icon-size-ref)}.go-next{color:var(--color-text);background-color:var(--bg);border-radius:50%;margin-block:2.5rem 1rem;display:inline-block}.go-next .icon{display:block}.go-next .icon svg{width:calc(var(--icon-size-ref)*2);height:calc(var(--icon-size-ref)*2)}@media(hover:hover){.author .links .item:hover{transition:all var(--transition-duration)var(--transition-func);transform:translateY(-5px)}.author .links .icon:hover{color:var(--color-highlight)}}@media(width>=640px){.cursus .item .header{justify-content:space-between;align-items:center;display:flex}.container{padding-inline:3.5rem}}@media(width>=768px){.btn-toggle{display:none}.container{padding-inline:6rem}}@media(width>=853px){.author{--icon-size-ref:32px}h1{font-size:3rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}.posts .listing{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.listing-item .resized{min-height:180px}.listing-item .text{padding-block-end:1.5rem}.listing-item .text .title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.listing-item .text .summary{-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;overflow-wrap:break-word;word-wrap:break-word;word-break:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.badge{margin-block:initial}}@media(width>=992px){.single{min-height:100vh;display:flex}.single .post-main{border-inline-start:1px dotted var(--border-color);flex:1;padding:0 0 3rem 3rem}.single .explain{padding:2rem}.post-sidebar{min-width:280px;margin-block-start:5rem;padding-inline-end:3rem;position:relative}.post-sidebar .inner{position:sticky;top:72px}}@media(width>=1024px){.container{padding-inline:8rem}section{margin-block:8rem}.contact{grid-template-columns:1fr 1fr;align-items:center;gap:20px;display:grid}.contact .nojs{align-items:center}.contact .intro .icon svg{width:calc(var(--icon-size-ref)*15);height:calc(var(--icon-size-ref)*15)}.contact .response{text-align:center;max-height:100%;top:50%;left:0}.contact .response-icon{margin:0 auto;font-size:8rem;display:inline-block}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@keyframes slideleft{0%,20%,50%,80%,to{transform:translate(0)}40%{transform:translate(-30px)}60%{transform:translate(-15px)}}@media(prefers-reduced-motion:no-preference){.smooth{scroll-behavior:smooth}.go-next{animation:2s infinite bounce}.go-next:hover{animation-play-state:paused}.go-back{animation:2s infinite slideleft}.go-back:hover{animation-play-state:paused}@media(hover:hover){.card:where(.light,.light *):hover img,.img:where(.light,.light *):hover{transition:all var(--transition-duration)var(--transition-func);transform:scale(1.05)}}}@media print{.single-metadata,.site-footer,.footer{display:none}}