::view-transition-old(root){animation:route-leave .3s ease-in-out both}::view-transition-new(root){animation:route-enter .5s ease-out both}@keyframes route-leave{0%{opacity:1;transform:translate(0);filter:blur(0)}to{opacity:0;transform:translate(-30px);filter:blur(4px)}}@keyframes route-enter{0%{opacity:0;transform:translate(30px);filter:blur(10px)}to{opacity:1;transform:translate(0);filter:blur(0)}}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2")}@font-face{font-family:"Exo 2";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/exo-2-latin-400-normal.woff2) format("woff2")}@font-face{font-family:"Exo 2";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/exo-2-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Orbitron;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/orbitron-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Orbitron;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/orbitron-latin-700-normal.woff2) format("woff2")}*{transition:background-color .3s ease,color .3s ease}:root{--color-bg: #ffffff;--color-text: #1c1c1c;--color-subtle: #555555;--color-border: #000000;--color-heading: #111111;--color-link: #1a1a1a;--color-link-hover: #000000;--font-primary: "Orbitron", sans-serif;--font-secondary: "Exo 2", sans-serif;--icon-filter-dark: brightness(0) invert(1);--icon-filter: var(--icon-filter-light);--color-accent: #88aabb}[data-theme=dark]{--color-bg: #000000;--color-text: #e0e0e0;--color-subtle: #b0b0b0;--color-border: #777;--color-heading: #ffffff;--color-link: #e0e0e0;--color-link-hover: #ffffff;--icon-filter: var(--icon-filter-dark)}body{margin:0;font-family:Inter,sans-serif;color:var(--color-text);background-color:var(--color-bg);line-height:1.6;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem;font-weight:600;color:var(--color-text);letter-spacing:.05em;text-transform:uppercase}h1{font-size:2.5rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin:0;font-family:var(--font-primary)}h2{font-size:2rem;font-family:var(--font-secondary);font-size:1rem;font-weight:300;letter-spacing:.1em;margin:0}h3{font-family:var(--font-secondary);font-size:1.5rem;text-align:center;text-transform:uppercase;letter-spacing:.05em}h4{font-size:1.25rem}p{margin:0 0 1rem;font-size:1rem;color:var(--color-text)}a{position:relative;text-decoration:none!important;color:var(--color-link);font-weight:500;transition:color .3s ease}a:after{content:"";position:absolute;left:0;bottom:-2px;width:0%;height:1px;background-color:var(--color-link);transition:width .3s ease}a:hover:after{width:100%}a:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}a:hover{text-decoration:underline;color:var(--color-accent)}button{display:inline-block;background-color:transparent;color:var(--color-text);border:1px solid var(--color-text);padding:.5rem 1.5rem;font-size:.875rem;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease;position:relative;overflow:hidden}button:hover{background-color:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}button:focus-visible{outline:2px solid var(--color-text);outline-offset:4px}button:active{transform:scale(.97);opacity:.9}.section{padding:4rem 2rem;border-bottom:1px solid #2a2a2a}.section__title{font-size:24px;letter-spacing:.1em;margin-bottom:1rem}.section__text{max-width:600px;color:#777}.card{background:transparent;border:1px solid #00ffff;padding:1rem;border-radius:4px;transition:transform .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 0 10px #0ff}.card__title{font-weight:700;margin-top:1rem}.card__desc{font-size:14px;color:#777}.card__tech{display:flex;gap:.5rem;margin-top:.5rem}.card__tech span{background-color:#2a2a2a;color:#e0e0e0;padding:2px 6px;border-radius:2px;font-size:14px}.footer{text-align:center;padding:2rem}.footer a{margin:0 .5rem;font-size:20px;transition:transform .2s}.footer a:hover{transform:scale(1.1);color:--color-accent}
