@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap";*{margin:0;padding:0;text-align:center;font-size:16px;box-sizing:border-box}body,html,#root{width:100vw;height:100%}#root{display:flex;flex-direction:column;flex-shrink:1}#mapComponent *:not(#map){font-family:Arial,Helvetica,sans-serif}#mapComponent{position:relative;width:100%;height:100%}#mapComponent>#map{position:relative;top:0;bottom:0;width:100%;height:100%}#mapComponent>#map *{font-size:12px;text-align:start}#mapComponent #search{position:absolute;text-align:left;padding:5px;top:20px;left:20px;right:20px;height:25px;background-color:#fff;z-index:1;border-style:none;border-width:1px;box-shadow:1px 2px 10px #00000080}#mapComponent #routeSelector{position:absolute;top:45px;left:20px;right:20px;max-height:40vh;overflow-y:auto;background-color:#fff;z-index:1}#mapComponent #routeSelector p:not(#mapComponent #instructions p){text-align:start;padding:5px;border-bottom:solid 1px #aaaaaa}#mapComponent #routeSelector p:active{background-color:#0ff}#mapComponent #instructions{padding:5px;background-color:#d2f8cc}#mapComponent #instructions #travelTime{display:flex;justify-content:space-between}#mapComponent #instructions #indicators{display:flex;justify-content:space-evenly;align-items:center;gap:10px}#mapComponent #instructions #directions p{padding:5px;border-bottom:#dbdbdb 1px solid}#rightClick{position:absolute;background:#fff;border-radius:5px;box-shadow:1px 2px 10px #0000004d}#rightClick ul{list-style-type:none;margin:5px;padding:0}#rightClick ul li:hover{background-color:#dfdfdf;cursor:pointer}#homePage{color:#b6faf8;width:100%;overflow-x:hidden;background:radial-gradient(circle at 50% 0%,#000629,#03162f 60%,#000311);padding:20px 50px;display:flex;flex-direction:column;align-items:center;font-family:Tenorite,Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Arial,sans-serif}@font-face{font-family:Tenorite;src:url(/assets/29595851800-DsXgM5T8.ttf)}#homePage .upperCase{text-transform:uppercase}#homePage .sciBorder{padding:20px;border:2px solid #042433}#homePage .sciText{font-family:Orbitron}#presentationComponent{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:10px;width:75%;min-width:1020px}#presentationComponent #portfolioAvatar{-webkit-mask-image:linear-gradient(to bottom,black 75%,transparent 100%);mask-image:linear-gradient(to bottom,black 75%,transparent 100%);filter:brightness(86%) contrast(110%) saturate(85%);transform:scaleX(-1)}#presentationComponent h2{color:#00fff3;text-shadow:0px 0px 4px;font-size:2rem;margin-bottom:5px;text-align:left}#presentationComponent h3{color:#00fff3;text-shadow:0px 0px 4px;font-size:1.3rem;font-style:italic;margin-bottom:25px;text-align:left}#presentationComponent h4{font-size:1.2rem;margin-bottom:10px;text-align:left}#presentationComponent p{text-align:justify;padding:5px 0}#navigationComponent{margin:20px 0}#navigationComponent li{list-style:none;color:#00fff3;font-size:1.5rem;text-shadow:0 0 4px #00FFF3;cursor:pointer;padding:5px 10px;border:1px solid #00FFF3;box-shadow:0 0 6px 2px #00fff3;border-radius:6px;transition:box-shadow .3s ease-in-out}#navigationComponent li:hover{box-shadow:0 0 12px 2px #00fff3}#navigationComponent ul{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:20px}#skillsComponent{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;margin:25px 0}#skillsComponent .categoryWrapper{position:relative;display:grid;gap:10px;grid-template-rows:repeat(2,auto);grid-template-columns:repeat(2,max-content)}#skillsComponent .category{position:relative;display:flex;flex-direction:column;padding:10px;gap:10px}#skillsComponent .skillsWrapper{position:relative;display:grid;grid-template-columns:repeat(4,max-content);gap:10px}#skillsComponent .progressWrapper{display:flex;align-items:center;position:relative}#skillsComponent .icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}#skillsComponent .title{font-size:1.7rem;font-weight:bolder}#skillsComponent .categoryTitle{font-size:1.5rem}.progress-circle{transform:rotate(-90deg)}circle{fill:none;stroke-width:3;r:45;cx:50;cy:50}circle.bg{stroke:transparent}circle.progress{stroke:#fff;stroke-dasharray:283;stroke-dashoffset:0;transition:stroke-dashoffset .3s}#envelope *{color:#2b2320;font-family:Cormorant Garamond,EB Garamond,Georgia,Times New Roman,serif}@font-face{font-family:Cormorant Garamond;src:url(/assets/CormorantGaramond-Regular-BtKDB5pG.ttf)}#envelope{width:300px;height:200px;perspective:1200px;position:relative;perspective-origin:50% 50%;transform-style:preserve-3d;cursor:pointer;transition:transform .65s cubic-bezier(.2,.8,.2,1);transform-origin:50% 50%}#envelope[data-stage=front]{transform:scale(1.35)}#envelope[data-stage=front] .tilt,#envelope[data-stage=front] .sparkle{animation-play-state:paused}#envelope .tilt,#envelope .yaw,#envelope .spin{width:100%;height:100%;transform-style:preserve-3d}#envelope .tilt{animation:float 4s ease-in-out infinite}#envelope[data-stage=front] .tilt{animation:none;transform:rotate(0) translateY(0)}@keyframes float{0%,to{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(-20px)}}#envelope .sparkles{position:absolute;top:-70px;right:-70px;bottom:-70px;left:-70px;pointer-events:none;z-index:20;transform-style:preserve-3d}#envelope .sparkle{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:999px;background:radial-gradient(circle,#fffffff2,#ffffffb3,#fff0 70%);opacity:0;transform:translateZ(40px) scale(.5);filter:blur(2px);mix-blend-mode:screen;animation:sparkleTwinkle var(--dur) ease-in-out infinite;animation-delay:var(--delay);will-change:transform,opacity}@keyframes sparkleTwinkle{0%{opacity:0;transform:translate3d(0,8px,40px) scale(.4)}35%{opacity:1;transform:translate3d(0,-6px,40px) scale(1)}70%{opacity:.6;transform:translate3d(0,calc(-1 * var(--drift)),40px) scale(.85)}to{opacity:0;transform:translate3d(0,calc(-1 * (var(--drift) + 10px)),40px) scale(.6)}}#envelope .yaw{transform:rotateY(-45deg)}#envelope[data-stage=front] .yaw{transform:rotateY(0)}#envelope .spin{position:relative;transform-origin:50% 50%;animation:spinY 8s linear infinite;will-change:transform}@keyframes spinY{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}#envelope .face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:5px;backface-visibility:hidden;background:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.35),transparent 55%),radial-gradient(120% 100% at 70% 80%,rgba(0,0,0,.08),transparent 60%),linear-gradient(180deg,#f3e6d2,#e8d2b6),repeating-linear-gradient(90deg,rgba(120,90,60,.07) 0 1px,transparent 1px 6px);border:1px solid rgba(0,0,0,.06);box-shadow:0 18px 30px #00000047}#envelope .face.front{padding:18px 18px 16px;display:flex;flex-direction:column;justify-content:space-between}#envelope .face.front:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:10px;background:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.35),transparent 55%),linear-gradient(180deg,#ffffff3d,#ffffff1a);border:1px solid rgba(43,35,32,.1);box-shadow:inset 0 1px #ffffff40,inset 0 -1px #0000000f;z-index:0}#envelope .face.front:after{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:8px;border:1px solid rgba(43,35,32,.16);outline:1px solid rgba(43,35,32,.08);outline-offset:-6px;opacity:.95;z-index:0}#envelope .face.front>*{position:relative;z-index:1}#envelope .recipient{text-align:center;margin-top:10px}#envelope .recipient p{margin:0;font-size:13px;letter-spacing:.22em;text-transform:uppercase;opacity:.75}#envelope .recipient h1{margin:6px 0 0;font-size:34px;font-style:italic;letter-spacing:.02em;line-height:1.05}#envelope .recipient h1:after{content:"";display:block;width:68%;height:1px;margin:10px auto 0;background:#2b23202e;box-shadow:0 10px #2b23201f,0 20px #2b232014;opacity:.8}#envelope .sender{align-self:flex-end;text-align:right;margin-bottom:6px;padding-right:6px}#envelope .sender p{margin:0 0 2px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.65}#envelope .sender h2{margin:0;font-size:18px;font-style:italic;opacity:.9}#envelope .face.front .sender:after{content:"";position:absolute;right:-2px;bottom:-4px;width:56px;height:56px;border-radius:999px;background:radial-gradient(circle,rgba(138,46,59,.14),transparent 65%);filter:blur(.2px);opacity:.8;pointer-events:none}#envelope .face.back{transform:rotateY(180deg);overflow:visible}#envelope .face.back:before{content:"";position:absolute;left:10px;right:10px;top:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(43,35,32,.22),transparent);opacity:.55;transform:translateZ(2px);pointer-events:none}#envelope .face.back:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(0,0,0,.1) 100%),radial-gradient(90% 80% at 20% 20%,rgba(120,90,60,.1),transparent 60%);mix-blend-mode:multiply;opacity:.35;pointer-events:none}#envelope .backSeam{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:10px;border:1px dashed rgba(43,35,32,.25);opacity:.8}#envelope .backPocket{position:absolute;left:0;right:0;bottom:0;height:100%;transform:translateZ(3px);z-index:3}#envelope .backPocket:before,#envelope .backPocket:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff2e,#0000000f);border-top:1px solid rgba(43,35,32,.1)}#envelope .backPocket:before{clip-path:polygon(0% 100%,0 0,52% 50%);background:linear-gradient(180deg,#f1e2cc,#e2c9ab)}#envelope .backPocket:after{clip-path:polygon(100% 100%,48% 50%,100% 0);background:linear-gradient(180deg,#f6ead6,#e7cfb1)}#envelope .backBottom{position:absolute;left:0;right:0;bottom:-1px;height:74%;clip-path:polygon(0 100%,100% 100%,50% 34%);background:linear-gradient(180deg,#f3e6d2,#e6cfb2);border-top:1px solid rgba(43,35,32,.1);z-index:2;transform:translateZ(2px)}#envelope .letterSlot{position:absolute;left:0;right:0;bottom:0;height:62%;overflow:hidden;z-index:1;transform:none}#envelope .letterSlot #letter{top:auto;left:50%}#envelope .backFlap{position:absolute;left:0;right:0;top:-2px;height:62%;clip-path:polygon(0 0,100% 0,50% 86%);transform-origin:50% 0%;transform:rotateX(0) translateZ(4px);background:linear-gradient(180deg,#f7eddc,#e6cfb2);box-shadow:inset 0 -1px #0000001a;z-index:4}#envelope .waxSeal{position:absolute;left:50%;top:56%;width:54px;height:54px;transform:translate(-50%,-50%) translateZ(5px) rotate(10deg);z-index:5;pointer-events:none}#envelope .waxSeal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:60% 40% 55% 45%/55% 45% 60% 40%;clip-path:polygon(50% 0%,62% 6%,75% 4%,86% 14%,96% 30%,92% 45%,100% 58%,92% 70%,90% 86%,74% 96%,58% 92%,50% 100%,40% 92%,28% 96%,12% 86%,8% 70%,0% 58%,8% 45%,4% 30%,14% 14%,25% 4%,38% 6%);background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.25),transparent 55%),radial-gradient(circle at 70% 75%,rgba(0,0,0,.18),transparent 60%),linear-gradient(180deg,#8a2e3b,#6f2230);box-shadow:0 12px 18px #00000038,inset 0 2px 2px #ffffff2e,inset 0 -6px 10px #00000038}#envelope .waxSeal:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:55% 45% 58% 42%/52% 48% 60% 40%;background:radial-gradient(circle at 35% 30%,rgba(255,235,220,.22),transparent 60%);opacity:.9}#envelope .waxSeal .sealMark{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:2}#envelope .waxSeal .sealLetter{font-family:Cormorant Garamond;font-style:italic;font-weight:700;font-size:44px;fill:#ffebdc94;stroke:#00000038;stroke-width:.8;paint-order:stroke fill;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25))}#envelope[data-stage=back],#envelope[data-stage=open],#envelope[data-stage=read]{transform:scale(1.35)}#envelope[data-stage=back] .tilt,#envelope[data-stage=open] .tilt,#envelope[data-stage=read] .tilt{animation:none;transform:rotate(0) translateY(0)}#envelope[data-stage=back] .yaw,#envelope[data-stage=open] .yaw,#envelope[data-stage=read] .yaw{transform:rotateY(0)}#envelope[data-stage=back] .spin,#envelope[data-stage=open] .spin,#envelope[data-stage=read] .spin{animation:none}#envelope .letterSlot{overflow:hidden}#envelope[data-stage=open] .letterSlot,#envelope[data-stage=read] .letterSlot{overflow:visible}#envelope .face.back.open .backFlap{transform:rotateX(165deg) translateZ(4px);transition:transform .65s cubic-bezier(.2,.8,.2,1)}#envelope[data-stage=read]{transform:scale(1.1)}#envelope .face.back{isolation:isolate}#envelope .face.back.open .backFlap{z-index:0;transform:rotateX(165deg) translateZ(1px)}#envelope[data-stage=read] .letterSlot{z-index:10;transform:translateZ(20px)}#envelope[data-stage=read] .backFlap{z-index:0}#envelope[data-stage=read] .backPocket{z-index:2}#envelope[data-stage=read] .backBottom{z-index:1}#envelope #letter{position:absolute;left:50%;bottom:10px;top:auto;width:235px;height:310px;z-index:30;pointer-events:none;opacity:0;transform:translate(-50%) translateY(120%) scale(1);transition:transform .7s cubic-bezier(.2,.9,.2,1),opacity .3s ease}#envelope #letter .paper{width:100%;height:100%;position:relative;transform-style:preserve-3d;filter:drop-shadow(0 18px 22px rgba(0,0,0,.28))}#envelope #letter .panel{position:absolute;left:0;right:0;border-radius:0;background:linear-gradient(180deg,#fff,#f3f1ee);border:1px solid rgba(0,0,0,.06);backface-visibility:hidden}#envelope #letter .top{top:0;height:33%;transform-origin:50% 100%;transform:rotateX(-120deg)}#envelope #letter .mid{top:33%;height:34%;z-index:2;padding:16px 18px;overflow:hidden}#envelope #letter .bot{bottom:0;height:33%;transform-origin:50% 0%;transform:rotateX(120deg)}#envelope #letter .content{color:#2b2226;font-family:Cormorant Garamond,EB Garamond,Georgia,Times New Roman,serif;font-size:14px;line-height:1.45}#envelope #letter .content p{margin:0 0 10px}#envelope #letter .salutation{font-style:italic;opacity:.95}#envelope #letter .signature{margin-top:14px;font-weight:700}#envelope #letter[data-stage=hidden]{opacity:0;transform:translate(-50%,10%) scale(.95)}#envelope #letter[data-stage=peek]{opacity:1;transform:translate(-50%) translateY(35%) scale(.96);transition:transform .7s cubic-bezier(.2,.9,.2,1),opacity .4s ease}#envelope #letter[data-stage=out]{opacity:1;transform:translate(-50%) translateY(-35%) scale(1.02);transition:transform .9s cubic-bezier(.2,.9,.2,1),opacity .4s ease}#envelope #letter[data-stage=unfold]{opacity:1;transform:translate(-50%) translateY(-50%) scale(1.05);transition:transform .9s cubic-bezier(.2,.9,.2,1),opacity .4s ease}#envelope #letter[data-stage=unfold] .top{transform:rotateX(0);transition:transform .65s cubic-bezier(.2,.8,.2,1);transition-delay:.22s}#envelope #letter[data-stage=unfold] .bot{transform:rotateX(0);transition:transform .65s cubic-bezier(.2,.8,.2,1);transition-delay:.42s}#letter[data-stage=read] .top,#letter[data-stage=read] .bot{display:none}#letter[data-stage=read] .mid{top:0;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:22px 20px}#letter .letterClose{pointer-events:auto;position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#ffffffbf;cursor:pointer;z-index:999}#envelope #letter[data-stage=read]{position:fixed;left:50%;top:50%;bottom:auto;width:min(92vw,560px);height:min(86svh,800px);transform:translate(-50%,-50%);opacity:1;pointer-events:auto;z-index:9999}#envelope #letter[data-stage=read] .top,#envelope #letter[data-stage=read] .bot{display:none}#envelope #letter[data-stage=read] .mid{top:0;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:22px 20px}#lettersPage{min-height:100svh;display:grid;place-items:center;padding:24px 16px;overflow:hidden;position:relative;background:radial-gradient(120% 90% at 50% 25%,rgba(255,255,255,.1),transparent 55%),radial-gradient(140% 120% at 50% 90%,rgba(0,0,0,.45),transparent 60%),linear-gradient(180deg,#0b0f1a,#080a12 45%,#06060c)}#lettersPage:before{content:"";position:absolute;top:-120px;right:-120px;bottom:-120px;left:-120px;background:radial-gradient(closest-side at 50% 45%,rgba(255,234,200,.28),transparent 70%),radial-gradient(closest-side at 52% 46%,rgba(190,220,255,.16),transparent 75%);filter:blur(2px);opacity:.85;pointer-events:none}#lettersPage:after{content:"";position:absolute;top:-80px;right:-80px;bottom:-80px;left:-80px;pointer-events:none;background:radial-gradient(circle at 18% 28%,rgba(255,220,170,.14) 0 24px,transparent 26px),radial-gradient(circle at 78% 22%,rgba(255,210,160,.1) 0 32px,transparent 34px),radial-gradient(circle at 68% 72%,rgba(255,235,190,.1) 0 28px,transparent 30px),radial-gradient(circle at 28% 78%,rgba(170,210,255,.1) 0 30px,transparent 32px),radial-gradient(circle at 86% 62%,rgba(160,200,255,.08) 0 22px,transparent 24px),radial-gradient(circle at 12% 62%,rgba(255,255,255,.06) 0 1px,transparent 2px),radial-gradient(circle at 42% 18%,rgba(255,255,255,.05) 0 1px,transparent 2px),radial-gradient(circle at 58% 52%,rgba(255,255,255,.05) 0 1px,transparent 2px),radial-gradient(circle at 74% 44%,rgba(255,255,255,.04) 0 1px,transparent 2px),radial-gradient(circle at 90% 30%,rgba(255,255,255,.04) 0 1px,transparent 2px),radial-gradient(closest-side at 50% 50%,transparent 60%,rgba(0,0,0,.55) 100%);filter:blur(.6px);opacity:.9}#envelope{filter:drop-shadow(0 30px 38px rgba(0,0,0,.55))}@media (max-width: 420px){#envelope[data-stage=front]{transform:scale(1.18)}}
