﻿@font-face{font-family:"Nunito";font-style:italic;font-weight:200 1000;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Nunito-cyrillic-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Nunito";font-style:italic;font-weight:200 1000;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Nunito-latin-ext-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Nunito";font-style:italic;font-weight:200 1000;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Nunito-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Nunito";font-style:normal;font-weight:200 1000;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Nunito-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Nunito";font-style:normal;font-weight:200 1000;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Nunito-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Nunito";font-style:normal;font-weight:200 1000;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Nunito-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Sen";font-style:normal;font-weight:400 800;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Sen-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Sen";font-style:normal;font-weight:400 800;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Sen-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Fira Code";font-style:normal;font-weight:300 700;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Fira_Code.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Kenia";font-style:normal;font-weight:400;font-display:swap;src:url(https://site-ethmarks.vercel.app/common/Kenia.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-background: #121212;--color-accent: #8fdfd4;--color-accent-light: color-mix(in srgb, var(--color-accent) 95%, white);--color-accent-dark: color-mix(in srgb, var(--color-accent) 90%, black);--color-accent-transparent-10: color-mix(in srgb, var(--color-accent) 10%, transparent);--color-accent-transparent-15: color-mix(in srgb, var(--color-accent) 15%, transparent);--color-accent-transparent-20: color-mix(in srgb, var(--color-accent) 20%, transparent);--color-accent-transparent-30: color-mix(in srgb, var(--color-accent) 30%, transparent);--color-accent-transparent-40: color-mix(in srgb, var(--color-accent) 40%, transparent);--color-text: white;--color-text-inverse: #121212;--color-text-secondary: color-mix(in srgb, var(--color-text) 70%, black);--color-link: var(--color-accent-light);--color-link-hover: var(--color-text);--color-link-underline: color-mix(in srgb, var(--color-accent) 30%, transparent);--color-link-underline-hover: var(--color-accent);--color-focus-outline: var(--color-accent-light);--color-article: rgb(30, 30, 30);--color-panel: rgb(31, 31, 31);--color-panel-zebra: color-mix(in srgb, var(--color-panel) 90%, black);--color-panel-dark: color-mix(in srgb, var(--color-panel) 75%, black);--color-panel-hover: color-mix(in srgb, var(--color-panel) 96%, white);--color-panel-hover-subtle: color-mix(in srgb, var(--color-panel) 99%, white);--color-card: rgba(40, 40, 40, 0.8);--color-card-hover: rgba(50, 50, 50, 0.9);--color-code-bg: #191a1c;--mint-gradient: linear-gradient( 135deg, var(--color-accent), var(--color-text) );--mint-blend: color-mix(in srgb, var(--color-accent) 75%, var(--color-text));--color-border: white;--color-border-standard: color-mix(in srgb, var(--color-border) 10%, transparent);--color-border-light: color-mix(in srgb, var(--color-border) 5%, transparent);--border-standard: 1px solid var(--color-border-standard);--border-standard-2px: 2px solid var(--color-border-standard);--border-light: 1px solid var(--color-border-light);--border-light-2px: 2px solid var(--color-border-light);--border-accent: 1px solid var(--color-accent);--border-accent-2px: 2px solid var(--color-accent);--border-accent-t: 1px solid var(--color-accent-transparent-30);--border-accent-t-2px: 2px solid var(--color-accent-transparent-30);--font-primary: "Nunito", sans-serif;--font-secondary: "Sen", sans-serif;--font-monospace: "Fira Code", monospace;--font-weight-normal: 400;--font-weight-light: 300;--font-weight-semibold: 500;--font-weight-bold: 600;--font-weight-code: 400;--font-size-base: 19px;--font-size-xs: 0.8rem;--font-size-sm: 0.9rem;--font-size-md: 1rem;--font-size-lg: 1.1rem;--font-size-h1: clamp(1rem, 7vw, 3rem);--font-size-h2: 1.8rem;--font-size-h3: 1.5rem;--font-size-h4: 1.3rem;--spacing-xs: 0.5rem;--spacing-sm: 0.75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--frontmatter-margin-left: var(--spacing-xs);--margin-indent: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 18px;--color-shadow-standard: color-mix(in srgb, black 20%, transparent);--color-shadow-accent: var(--color-accent-transparent-30);--color-shadow-accent-hover: var(--color-accent-transparent-40);--shadow-standard: 0 4px 15px color-mix(in srgb, black 20%, transparent);--shadow-standard-hover: 0 4px 30px color-mix(in srgb, black 30%, transparent);--shadow-accent: 0 4px 12px var(--color-shadow-accent);--shadow-accent-hover: 0 0 16px var(--color-shadow-accent-hover);--shadow-birthday: 0 0 20px rgba(255, 107, 107, 0.3), 0 0 40px rgba(78, 205, 196, 0.2), 0 0 60px rgba(69, 183, 209, 0.1);--transition-duration: 0.3s;--transition-duration-fast: 0.2s;--transition-timing: ease;--transition-default: all var(--transition-duration-fast) var(--transition-timing);--transition-transform-shadow: transform var(--transition-duration) var(--transition-timing), box-shadow var(--transition-duration) var(--transition-timing);--transition-transform: transform var(--transition-duration) var(--transition-timing);--transition-background: background-color var(--transition-duration-fast) var(--transition-timing);--child-animation-delay: 0s;--media-width: 100%;--max-media-height: 800px;--max-media-height-verytall: 1000px;--body-bg-gradient: radial-gradient( circle at 10% 10%, color-mix(in srgb, var(--color-accent) 15%, transparent), transparent 40% ), radial-gradient( circle at 90% 80%, color-mix(in srgb, var(--color-accent) 12%, transparent), transparent 50% ), var(--color-background);--article-margin-vertical: clamp(1rem, 4vw, 1.875rem);--main-width: 850px;--main-padding: 0.2em;--main-margin-top: 5rem;--main-margin-top-mobile: 3.5rem;--main-margin-sides: auto;--footer-bg: color-mix(in srgb, var(--color-background) 90%, white);--footer-border-color: rgba(255, 255, 255, 0.18);--footer-border: 1px solid var(--footer-border-color);--footer-radius: var(--radius-lg);--footer-padding-top: 10px;--footer-padding-sides: 25px;--footer-padding-sides-mobile: 25px;--footer-padding-bottom: 5px;--footer-margin-top: 0px;--footer-margin-sides: 10px;--footer-margin-bottom: 5px}@media(max-width: 768px){:root{--main-margin-top: var(--main-margin-top-mobile);--footer-padding-sides: var(--footer-padding-sides-mobile)}}.staggered:nth-child(1){--child-animation-delay: 0.05s}.staggered:nth-child(2){--child-animation-delay: 0.1s}.staggered:nth-child(3){--child-animation-delay: 0.15s}.staggered:nth-child(4){--child-animation-delay: 0.2s}.staggered:nth-child(5){--child-animation-delay: 0.25s}.staggered:nth-child(6){--child-animation-delay: 0.3s}.staggered:nth-child(7){--child-animation-delay: 0.35s}.staggered:nth-child(8){--child-animation-delay: 0.4s}.staggered:nth-child(9){--child-animation-delay: 0.45s}.staggered:nth-child(10){--child-animation-delay: 0.5s}.staggered:nth-child(11){--child-animation-delay: 0.55s}.staggered:nth-child(12){--child-animation-delay: 0.6s}.staggered:nth-child(13){--child-animation-delay: 0.65s}.staggered:nth-child(14){--child-animation-delay: 0.7s}.staggered:nth-child(15){--child-animation-delay: 0.75s}.staggered:nth-child(16){--child-animation-delay: 0.8s}.staggered:nth-child(17){--child-animation-delay: 0.85s}.staggered:nth-child(18){--child-animation-delay: 0.9s}.staggered:nth-child(19){--child-animation-delay: 0.95s}.staggered:nth-child(20){--child-animation-delay: 1s}.staggered:nth-child(21){--child-animation-delay: 1.05s}.staggered:nth-child(22){--child-animation-delay: 1.1s}.staggered:nth-child(23){--child-animation-delay: 1.15s}.staggered:nth-child(24){--child-animation-delay: 1.2s}.staggered:nth-child(25){--child-animation-delay: 1.25s}@media(prefers-reduced-motion: reduce){.animated{animation:none !important;opacity:1 !important;transform:none !important}header{transform:translateX(-50%) translateY(0) translate3d(0, 0, 0) !important}}::view-transition-new(*) .animated{animation:none !important;opacity:1 !important;transform:none !important}header{position:fixed;top:20px;left:50%;transform:translateX(-50%) translate3d(0, 0, 0);width:100vw;max-width:1000px;padding:10px 15px;background:rgba(30,30,30,.2);border:var(--border-standard);border-radius:40px;backdrop-filter:blur(20px) saturate(0.8);display:flex;align-items:center;justify-content:space-between;color:var(--color-text);box-sizing:border-box;z-index:1000;overflow:hidden;transition:backdrop-filter .3s}@media(prefers-reduced-motion: no-preference){.animated header{animation:headerEntrance .5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards}}@media(prefers-reduced-motion: no-preference)and (max-width: 768px){.animated header{animation:headerEntranceMobile .75s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards}}@media(prefers-reduced-motion: no-preference){.animated header #title{animation:titleEntrance .8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards}.animated header a{opacity:0;transform:translateX(350px);animation:anchorEntrance .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;animation-delay:var(--child-animation-delay)}}@media(prefers-reduced-motion: no-preference)and (max-width: 768px){.animated header a{transform:translateY(-50px)}}@media(max-width: 768px){header{max-width:100vw;border-radius:0;top:0;left:0;transform:translate3d(0, 0, 0)}}header #title{font-weight:var(--font-weight-light) !important;display:inline-block;background:var(--mint-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);font-family:var(--font-secondary);font-size:clamp(1.1rem,4vw,2rem);flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:none;outline:none;text-decoration:none}header #title:focus-visible{outline:2px solid var(--color-focus-outline);outline-offset:2px}@media(max-width: 600px){header #title{display:none}}header nav{display:flex;gap:8px;flex-shrink:0}@media(max-width: 600px){header nav{justify-content:space-evenly;width:100%;gap:0px}}header nav a{background:rgba(60,60,60,.1);color:var(--color-text);border:var(--border-standard);border-radius:20px;padding:6px 12px;font-family:var(--font-secondary);font-size:clamp(.75rem,3vw,1rem);font-weight:var(--font-weight-light) !important;cursor:pointer;transition:color .15s ease,background-color .15s ease,transform .2s ease,border-bottom-color .3s ease;white-space:nowrap;text-decoration:none}header nav a:hover{color:var(--color-accent);border-bottom-color:var(--color-accent-dark);background-color:rgba(80,80,80,.7);transform:translateY(-1px) scale(1.02);text-decoration:none}header nav a.active{color:var(--color-accent);border-bottom-color:var(--color-accent-dark)}header nav:hover a.active:not(:hover){color:var(--color-accent-transparent-40);border-bottom-color:var(--color-accent-transparent-40)}header.birthday-mode{box-shadow:var(--shadow-birthday)}header.birthday-mode #title{transition:background .4s ease-out;background:linear-gradient(45deg, #ff6b6b, #4ecdc4, #45b7d1, #96ceb4, #feca57, #ff9ff3);background-size:300% 300%;background-clip:text;-webkit-background-clip:text;animation:birthday-rainbow 3s ease-in-out infinite}header.birthday-mode #title::after{content:"🎂🎉";margin-left:.3em;background:none;-webkit-text-fill-color:initial;animation:none}@keyframes headerEntrance{from{transform:translateX(-50%) translateY(-20px) translate3d(0, 0, 0)}to{transform:translateX(-50%) translateY(0) translate3d(0, 0, 0)}}@keyframes headerEntranceMobile{from{transform:translateY(-20px) translate3d(0, 0, 0)}to{transform:translateY(0) translate3d(0, 0, 0)}}@keyframes titleEntrance{from{opacity:.2;transform:translateX(-300px)}to{transform:translateX(0);opacity:1}}@keyframes anchorEntrance{to{transform:translateX(0);opacity:1}}@keyframes birthday-rainbow{0%,100%{opacity:1;transform:none;background-position:0% 50%}50%{opacity:1;transform:none;background-position:100% 50%}}footer{display:flex;justify-content:space-between;align-items:center;background:var(--footer-bg);padding:var(--footer-padding-top) var(--footer-padding-sides) var(--footer-padding-bottom);box-sizing:border-box;color:var(--color-text);z-index:9999;isolation:isolate;transition:position .2s;bottom:0}@media(max-width: 768px){footer{width:100vw;border-top:var(--footer-border);border-radius:0;margin:0}}@media(min-width: 768px){footer{width:calc(100vw - 20px);border:var(--footer-border);border-radius:var(--footer-radius);margin:var(--footer-margin-top) var(--footer-margin-sides) var(--footer-margin-bottom)}}footer span{font-size:var(--font-size-lg)}footer span a{color:var(--color-text);text-decoration:none}footer span a:hover{text-decoration:underline}footer span#source,footer span#email{z-index:5}html{font-size:100%;scroll-behavior:smooth}@media(pointer: fine){html{overscroll-behavior:none}}html{overflow-x:hidden}body{background:var(--body-bg-gradient);background-attachment:scroll;line-height:1.4;font-family:var(--font-primary);color:var(--color-text);margin:0;font-size:var(--font-size-base);overflow-wrap:break-word}body,#__nuxt{min-height:100vh;display:flex;flex-direction:column}main{width:100%;max-width:var(--main-width);margin:var(--main-margin-top) var(--main-margin-sides) 0;box-sizing:border-box;display:flex;flex-direction:column;padding:var(--main-padding);flex:1}main>article{background:var(--color-article);margin:var(--article-margin-vertical) 0;width:100%;max-width:100%;box-sizing:border-box;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-xl);border:var(--border-standard);overflow-x:hidden}@media(max-width: 768px){main>article>:first-child{margin-top:6px}}@media(max-width: 768px){main>article{padding:var(--spacing-sm)}}main>article.animated{animation:articleEntrance .6s var(--transition-timing)}@keyframes articleEntrance{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInFromTop{from{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}p,li{font-weight:var(--font-weight-normal);word-break:normal}h1,h2,h3,h4{font-family:var(--font-secondary);scroll-margin-top:calc(var(--main-margin-top) + var(--spacing-lg))}h1{width:fit-content;font-size:var(--font-size-h1);flex-shrink:1;overflow:hidden;text-overflow:ellipsis;margin:0;font-weight:var(--font-weight-bold);color:var(--mint-blend);background:var(--mint-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0)}@media(max-width: 768px){h1{margin-left:var(--frontmatter-margin-left)}}@supports not (-moz-appearance: none){h1.chromium-nomint{background:none;background-clip:none;-webkit-background-clip:none;-webkit-text-fill-color:unset}}h1.animated{animation:slideInFromLeft .5s .1s var(--transition-timing) both}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline);transition:text-decoration-color var(--transition-duration-fast) var(--transition-timing)}a.external::after{content:"🡵";display:inline-block;vertical-align:super;font-size:50%;line-height:1em}a:hover{text-decoration-color:var(--color-link-underline-hover)}a:focus-visible{outline:2px solid var(--color-focus-outline);text-decoration-color:var(--color-link-underline-hover)}ul{list-style:disc inside;padding-left:var(--spacing-lg)}ul li{line-height:1.6;transition:color var(--transition-duration-fast) var(--transition-timing)}.mint{background:var(--mint-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0)}.nomint{background:none;background-clip:none;-webkit-background-clip:none;-webkit-text-fill-color:unset}