@font-face{font-family:Montserrat;src:local("Montserrat"),url(/assets/font/Montserrat-Regular.ttf) format("truetype");font-display:swap}:root{font-family:Montserrat,system-ui,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark light;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;padding:0;margin:0;user-select:none;-webkit-user-select:none;-moz-user-select:none}*:focus-visible{outline:none}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{position:relative;min-width:20rem;min-height:100vh}main{padding-bottom:15rem}.container{min-height:100dvh;overflow:hidden;scroll-snap-align:start;padding:4rem 2rem}.container:nth-child(odd){background:linear-gradient(var(--bg-2) 96%,var(--bg))}.container:nth-child(2n):not(:last-child){background:linear-gradient(var(--bg) 96%,var(--bg-2))}.container h2{text-align:center;margin-bottom:4rem}.flex{display:flex;display:-webkit-flex;flex-wrap:wrap}.block{display:block}h1{font-size:3.2em;line-height:1.1;margin-bottom:2rem;margin-left:1rem}h2{font-size:2.6em}a{font-weight:500;color:var(--text-2)}a:hover,a:focus{text-shadow:0 0 2mm var(--text-2)}a{text-decoration:inherit}button{background-color:transparent;color:var(--text);border:none;cursor:pointer}hr{margin:1rem auto;border:0;height:1px;background-image:linear-gradient(to right,#0000,var(--text-2),#0000)}span{font-family:system-ui,Segoe UI,sans-serif}footer{background-color:var(--bg-2);position:absolute;bottom:0;min-width:100%;scroll-snap-align:end;padding:2rem 0;text-align:center}footer p{margin:1rem 0}.loading-page.svelte-1q5e6lt{height:100dvh;width:100%;position:fixed;z-index:9;background-color:#111}.loading-page.svelte-1q5e6lt svg:where(.svelte-1q5e6lt){position:absolute;width:25dvw;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);animation:svelte-1q5e6lt-glowing 1.5s alternate infinite}@keyframes svelte-1q5e6lt-glowing{0%{filter:drop-shadow(0 0 .125rem #ddd)}to{filter:drop-shadow(0 0 .25rem #000) drop-shadow(0 0 .5rem #ddd)}}button.svelte-ait079{display:flex;align-items:center;position:absolute;width:56px;height:48px;top:1rem;left:1rem;z-index:1;touch-action:manipulation}button.svelte-ait079:hover,button.svelte-ait079:focus{color:var(--text-2)}button.svelte-ait079:disabled{cursor:inherit}button.svelte-ait079:disabled:hover,button.svelte-ait079:disabled:focus{color:inherit}button.svelte-ait079 .moon-icon:where(.svelte-ait079){display:none}button.svelte-ait079[aria-label=dark] .moon-icon:where(.svelte-ait079){display:block}button.svelte-ait079[aria-label=dark] .sun-icon:where(.svelte-ait079){display:none}button.svelte-itpeh3,.flags.svelte-itpeh3{position:fixed;bottom:1rem;right:1rem}button.svelte-itpeh3{z-index:2;width:46px;height:38px;opacity:0;cursor:pointer}button.svelte-itpeh3:hover+.flags:where(.svelte-itpeh3),button.svelte-itpeh3:focus+.flags:where(.svelte-itpeh3){outline:.125rem solid var(--text-2)}.flags.svelte-itpeh3{background-color:#999;border-radius:.25rem;border:1px solid #999;padding:0 .25rem;z-index:1}.flags.svelte-itpeh3 svg:where(.svelte-itpeh3){width:36px;box-sizing:border-box;display:block}.flags.svelte-itpeh3 svg:where(.svelte-itpeh3).hidden{display:none}header.svelte-4l278b{position:fixed;z-index:1;height:0;width:100dvw;transition:margin-top .5s}header.svelte-4l278b.hidden{margin-top:-4.5rem}header.svelte-4l278b input:where(.svelte-4l278b){position:absolute;opacity:0;height:0;width:0}header.svelte-4l278b input:where(.svelte-4l278b):hover+label:where(.svelte-4l278b) span:where(.svelte-4l278b),header.svelte-4l278b input:where(.svelte-4l278b):hover+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b):before,header.svelte-4l278b input:where(.svelte-4l278b):hover+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b):after,header.svelte-4l278b input:where(.svelte-4l278b):hover+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b):before,header.svelte-4l278b input:where(.svelte-4l278b):hover+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b):after,header.svelte-4l278b input:where(.svelte-4l278b):focus+label:where(.svelte-4l278b) span:where(.svelte-4l278b),header.svelte-4l278b input:where(.svelte-4l278b):focus+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b):before,header.svelte-4l278b input:where(.svelte-4l278b):focus+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b):after,header.svelte-4l278b input:where(.svelte-4l278b):focus+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b):before,header.svelte-4l278b input:where(.svelte-4l278b):focus+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b):after{background-color:var(--text-2)}header.svelte-4l278b input:where(.svelte-4l278b):checked~.menu:where(.svelte-4l278b){visibility:initial;clip-path:circle(141.2% at top right)}header.svelte-4l278b input:where(.svelte-4l278b):checked+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b),header.svelte-4l278b input:where(.svelte-4l278b):checked+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b){background:transparent}header.svelte-4l278b input:where(.svelte-4l278b):checked+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b):before{transform:rotate(45deg) scaleX(1.4) translate(4px,4px)}header.svelte-4l278b input:where(.svelte-4l278b):checked+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b):after{transform:rotate(-45deg) scaleX(1.4) translate(4px,-4px)}header.svelte-4l278b input:where(.svelte-4l278b):checked+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b):before{transform:rotate(-45deg) scaleX(1.4) translate(-4px,4px)}header.svelte-4l278b input:where(.svelte-4l278b):checked+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b):after{transform:rotate(45deg) scaleX(1.4) translate(-4px,-4px)}header.svelte-4l278b input:where(.svelte-4l278b)+label:where(.svelte-4l278b){position:absolute;width:3.5rem;height:3rem;top:1rem;right:1rem;z-index:2;transition:.5s .3s;cursor:pointer}header.svelte-4l278b input:where(.svelte-4l278b)+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b),header.svelte-4l278b input:where(.svelte-4l278b)+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b){transition:.5s .3s;position:absolute;height:.5rem;width:1.75rem;top:1.25rem;background-color:var(--text)}header.svelte-4l278b input:where(.svelte-4l278b)+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b):before,header.svelte-4l278b input:where(.svelte-4l278b)+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b):before{transition:.5s .3s;position:absolute;width:1.75rem;height:.5rem;background-color:var(--text);content:"";top:-1.25rem}header.svelte-4l278b input:where(.svelte-4l278b)+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b):after,header.svelte-4l278b input:where(.svelte-4l278b)+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b):after{transition:.5s .3s;position:absolute;width:1.75rem;height:.5rem;background-color:var(--text);content:"";top:1.25rem}header.svelte-4l278b input:where(.svelte-4l278b)+label:where(.svelte-4l278b) .icon-left:where(.svelte-4l278b){left:0}header.svelte-4l278b input:where(.svelte-4l278b)+label:where(.svelte-4l278b) .icon-right:where(.svelte-4l278b){left:1.75rem}header.svelte-4l278b input:where(.svelte-4l278b)~.menu:where(.svelte-4l278b){visibility:hidden;font-size:2.6rem;margin-right:-2rem;clip-path:circle(0% at top right);transition:clip-path 1s,visibility 1s}header.svelte-4l278b input:where(.svelte-4l278b)~.menu:where(.svelte-4l278b) .flex:where(.svelte-4l278b){flex-direction:column;align-items:center;justify-content:center;width:100dvw;height:100dvh;gap:1rem}header.svelte-4l278b input:where(.svelte-4l278b)~.menu:where(.svelte-4l278b) .flex:where(.svelte-4l278b) a.active:where(.svelte-4l278b){color:var(--text);pointer-events:none}article.svelte-uhak0w{margin-top:4rem}.flex.svelte-uhak0w{justify-content:space-between;align-items:center}.flex.svelte-uhak0w section:where(.svelte-uhak0w){flex:1;margin-right:1rem}h3.svelte-uhak0w{margin-bottom:1rem}.img.svelte-uhak0w{width:clamp(16rem,25dvw,23rem);height:clamp(16rem,25dvw,23rem);clip-path:circle(50%);transition:clip-path 1s;overflow:hidden}.img.svelte-uhak0w:hover{clip-path:circle(100%)}.img.svelte-uhak0w img:where(.svelte-uhak0w){width:100%;transition:transform 1s}.img.svelte-uhak0w img:where(.svelte-uhak0w):hover{transform:scale(1.25) translateY(-.5rem)}@media only screen and (max-width: 767px){.flex.svelte-uhak0w{flex-wrap:wrap-reverse}.flex.svelte-uhak0w section:where(.svelte-uhak0w){flex:auto;margin-right:0}.img.svelte-uhak0w{margin:2rem auto}img.svelte-uhak0w{transform:scale(1.25) translateY(-.5rem)}}article.svelte-izlm13{width:60dvw;padding:1rem;transform:translateY(15dvh);backdrop-filter:blur(.25rem);-webkit-backdrop-filter:blur(.25rem)}article.svelte-izlm13:nth-child(odd){text-align:left;align-self:start}article.svelte-izlm13:nth-child(2n){text-align:right;align-self:end}article.svelte-izlm13:nth-child(2n)>.flex:where(.svelte-izlm13):not(.tags){flex-direction:row-reverse}article.svelte-izlm13:nth-child(2n) .tags:where(.svelte-izlm13){justify-content:right}article.svelte-izlm13>.flex:where(.svelte-izlm13):not(.tags){justify-content:space-between;margin-bottom:1rem}article.svelte-izlm13 .link:where(.svelte-izlm13){cursor:pointer;color:var(--text)}article.svelte-izlm13 .link:where(.svelte-izlm13):hover,article.svelte-izlm13 .link:where(.svelte-izlm13):focus{color:var(--text-2);text-shadow:none}article.svelte-izlm13 .tags:where(.svelte-izlm13){gap:.5rem}article.svelte-izlm13 .tags:where(.svelte-izlm13) span:where(.svelte-izlm13){padding:1mm;border:1px solid var(--text)}article.svelte-izlm13,.tags.svelte-izlm13 span:where(.svelte-izlm13){border-radius:.5rem}@media only screen and (max-width: 767px){article.svelte-izlm13{width:100%}article.svelte-izlm13 p:where(.svelte-izlm13){text-align:left}article.svelte-izlm13 .tags:where(.svelte-izlm13){justify-content:center!important}}@media (prefers-reduced-motion: reduce){article.svelte-izlm13{transform:translateY(0)}}article.svelte-1t9pb32{flex-direction:column;gap:2rem}a.svelte-1uqscw7{font:inherit;color:var(--text);margin:1.5rem 1.5rem 0;text-align:center}a.svelte-1uqscw7 .logo:where(.svelte-1uqscw7){opacity:0;width:6rem;height:6rem;background-repeat:no-repeat;transition:filter .3s}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7),a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7){filter:drop-shadow(0 0 2mm #646cff)}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).html,a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).svelte,a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).git,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).html,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).svelte,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).git{filter:drop-shadow(0 0 2mm #ff3e00cc)}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).css,a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).jquery,a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).sql,a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).vscode,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).css,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).jquery,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).sql,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).vscode{filter:drop-shadow(0 0 2mm #249cffcc)}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).javascript,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).javascript{filter:drop-shadow(0 0 2mm #ffe30066)}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).gulp,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).gulp{filter:drop-shadow(0 0 2mm #cf4647cc)}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).gsap,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).gsap{filter:drop-shadow(0 0 2mm #0ae448cc)}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).php,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).php{filter:drop-shadow(0 0 1mm #646cffcc)}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).python,a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).pycharm,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).python,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).pycharm{filter:drop-shadow(-1mm -1mm 1mm #249cffcc) drop-shadow(1mm 1mm 1mm #ffe30066)}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).nodejs,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).nodejs{filter:drop-shadow(0 0 2mm #5fa04ecc)}a.svelte-1uqscw7:hover .logo:where(.svelte-1uqscw7).phpstorm,a.svelte-1uqscw7:focus .logo:where(.svelte-1uqscw7).phpstorm{filter:drop-shadow(-1mm -1mm 1mm #ff2d9066) drop-shadow(1mm 1mm 1mm #7256ffcc)}a.svelte-1uqscw7:hover span:where(.svelte-1uqscw7),a.svelte-1uqscw7:focus span:where(.svelte-1uqscw7){text-shadow:none}@media only screen and (max-width: 767px){a.svelte-1uqscw7{margin:1.5rem .75rem 0}}@media (prefers-reduced-motion: reduce){a.svelte-1uqscw7 .logo:where(.svelte-1uqscw7){opacity:1}}h3.svelte-aqtuwy{margin-top:4rem}.flex.svelte-aqtuwy{justify-content:center;gap:1rem}.toast.svelte-ykxtwr{position:fixed;margin:0 1rem;padding:1rem;background:var(--bg-2);color:var(--text);border:1px solid var(--text);border-radius:.25rem;z-index:8;opacity:.95}.toast.svelte-ykxtwr p:where(.svelte-ykxtwr){margin:0 1rem}.toast.svelte-ykxtwr button:where(.svelte-ykxtwr){display:block;margin-top:.5rem;margin-left:auto;font-family:sans-serif;font-size:1rem}.toast.svelte-ykxtwr button:where(.svelte-ykxtwr):hover,.toast.svelte-ykxtwr button:where(.svelte-ykxtwr):focus{color:var(--text-2)}footer.svelte-1u1ts10>a:where(.svelte-1u1ts10):last-child{display:inline-flex}p.svelte-1u1ts10:first-child{margin-top:0}p.svelte-1u1ts10:nth-child(2){justify-content:center;gap:.25rem;margin:0}p.svelte-1u1ts10:nth-child(2)>a:where(.svelte-1u1ts10){cursor:pointer;background:#0d2e38;color:#fafafa;padding:.5rem;border-radius:1rem;text-decoration:none}p.svelte-1u1ts10:nth-child(2)>a:where(.svelte-1u1ts10):hover,p.svelte-1u1ts10:nth-child(2)>a:where(.svelte-1u1ts10):focus{text-shadow:0 0 2mm #ddd}p.svelte-1u1ts10:nth-child(2)>a:where(.svelte-1u1ts10) img:where(.svelte-1u1ts10){vertical-align:bottom}.container.svelte-t2putm{padding:0;position:relative}.container.svelte-t2putm .hero:where(.svelte-t2putm){min-height:98cqh;--stripes: repeating-linear-gradient(101.25deg, var(--bg-2) 0%, var(--bg-2) 4%, transparent 8%, transparent 12%, var(--bg-2) 16%);background-image:var(--stripes),var(--rays);background-size:300%,200%;background-position:50% 0;filter:blur(.5rem);-webkit-mask-image:radial-gradient(ellipse at top right,#000 40%,transparent 70%);mask-image:radial-gradient(ellipse at top right,#000 40%,transparent 70%)}.container.svelte-t2putm .hero:where(.svelte-t2putm):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--stripes),var(--rays);background-size:200%,100%;filter:blur(.5rem) opacity(50%);animation:svelte-t2putm-smoothBg 60s linear infinite;-webkit-animation:svelte-t2putm-smoothBg 60s linear infinite}.container.svelte-t2putm .content:where(.svelte-t2putm){padding:4rem 2rem;position:absolute;top:0;right:0;bottom:0;left:0}@keyframes svelte-t2putm-smoothBg{0%{background-position:50% 0}to{background-position:350% 0}}
