:root{color-scheme:light only;--cream:#FBF2DA;--cream-2:#F5E7C4;--ink:#141311;--pink:#FF4D8D;--yellow:#FFCE3D;--green:#8BD450;--blue:#4EC5F1;--purple:#B79CFF;--pink-deep:#C41B70;--border:4px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,sans-serif;background-image:radial-gradient(circle,rgba(20,19,17,.08) 1.2px,transparent 1.2px);background-size:22px 22px}#root{min-height:100dvh}.site-shell{min-height:100dvh;display:flex;flex-direction:column}.site-main{flex:1 0 auto;display:flex;flex-direction:column}.site-main>*{flex:none}h1,h2,h3,.display{font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:.95}.mono{font-family:JetBrains Mono,monospace}.metal{font-family:Metal Mania,cursive;letter-spacing:.03em}.space-mono{font-family:Space Mono,monospace}.card{background:#fff;border:var(--border) solid var(--ink);border-radius:22px;box-shadow:7px 7px 0 var(--ink);transform:rotate(var(--r,0deg)) translateY(0);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s cubic-bezier(.2,.8,.2,1)}.card:hover{transform:rotate(var(--r,0deg)) translateY(-8px);box-shadow:11px 11px 0 var(--ink)}.btn{display:inline-flex;align-items:center;gap:.5rem;border:var(--border) solid var(--ink);border-radius:999px;padding:.85rem 1.6rem;font-weight:800;font-family:Manrope,sans-serif;box-shadow:5px 5px 0 var(--ink);transition:transform .15s ease,box-shadow .15s ease;cursor:pointer;text-decoration:none;color:var(--ink)}.btn svg:not(.btn-arrow){transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.btn-arrow{transition:transform .2s ease}.btn:hover svg:not(.btn-arrow){transform:scale(1.2) rotate(-8deg)}.btn:hover .btn-arrow{transform:translate(4px)}.btn:active,.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.pill{display:inline-flex;align-items:center;gap:.4rem;border:3px solid var(--ink);border-radius:999px;padding:.35rem .9rem;font-weight:700;font-size:.85rem;background:#fff;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}a.pill:hover{transform:translateY(-3px) scale(1.04);box-shadow:4px 4px 0 var(--ink)}.sticker{position:absolute;border:3px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 var(--ink)}.rotate-2{--r:-1deg}.rotate2{--r:1deg}.rotate-4{--r:-1.5deg}.rotate4{--r:1.5deg}.nav-link{font-weight:700;text-decoration:none;color:var(--ink);position:relative}.nav-link:after{content:"";position:absolute;left:0;bottom:-3px;width:0%;height:3px;background:var(--pink);transition:width .2s ease}.nav-link:hover:after{width:100%}.nav-card{display:block;font-weight:700;text-decoration:none;color:var(--ink);background:#fff;border:2.5px solid var(--ink);border-radius:14px;padding:.7rem 1rem;box-shadow:3px 3px 0 var(--ink);transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease}.nav-card:active,.nav-card:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.proj-img{width:100%;height:200px;object-fit:cover;border-bottom:var(--border) solid var(--ink);background:var(--cream-2);transition:transform .4s cubic-bezier(.2,.8,.2,1);display:block}.card:hover .proj-img{transform:scale(1.06)}.tag-chip{border:var(--border) solid var(--ink);border-radius:18px;padding:.4rem .75rem;font-weight:700;font-size:.8rem;background:#fff;display:inline-block;box-shadow:3px 3px 0 var(--ink);transition:transform .18s ease-out}.tag-chip:hover{transform:translateY(-2px)}.glow-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;z-index:0;animation:float 9s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(14px,-22px) scale(1.06)}}section{position:relative;z-index:1}.skill-label{display:inline-block;color:#fff;font-weight:800;font-size:.7rem;letter-spacing:.03em;padding:.3rem .7rem;border-radius:8px;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);margin-bottom:.85rem;text-shadow:0 1px 1px rgba(0,0,0,.25)}.skill-group{border:3px solid var(--ink);border-radius:18px;padding:1.2rem;background:#fff;transform:rotate(var(--r,0deg));transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease;box-shadow:0 0 0 var(--ink)}.skill-group:hover{transform:rotate(var(--r,0deg)) translateY(-5px);box-shadow:6px 6px 0 var(--ink)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.glow-blob{animation:none}.reveal{opacity:1;transform:none;transition:none}.nav-overlay,.mobile-drawer,.nav-item{transition:none}}::selection{background:var(--pink);color:#fff}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}a:focus-visible,button:focus-visible{outline:3px solid var(--pink);outline-offset:2px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:var(--border) solid var(--ink);border-radius:12px;background:var(--yellow);box-shadow:4px 4px 0 var(--ink);cursor:pointer;flex-shrink:0}.hamburger-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.hamburger-lines{position:relative;display:inline-block;width:20px;height:16px}.hamburger-lines span{position:absolute;left:0;width:100%;height:3px;background:var(--ink);border-radius:2px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s ease,top .3s cubic-bezier(.4,0,.2,1)}.hamburger-lines span:nth-child(1){top:0}.hamburger-lines span:nth-child(2){top:6.5px}.hamburger-lines span:nth-child(3){top:13px}.hamburger-lines.open span:nth-child(1){top:6.5px;transform:rotate(45deg)}.hamburger-lines.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-lines.open span:nth-child(3){top:6.5px;transform:rotate(-45deg)}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14131180;z-index:40;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}.nav-overlay.open{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s linear 0s}.mobile-drawer{position:fixed;top:0;right:0;height:100%;width:min(78vw,320px);padding-top:78px;background:var(--cream);border-left:var(--border) solid var(--ink);box-shadow:-8px 0 0 var(--ink);z-index:45;transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto}.mobile-drawer.open{transform:translate(0)}.nav-item{opacity:0;transform:translate(16px);transition:opacity .3s ease,transform .3s ease}.mobile-drawer.open .nav-item{opacity:1;transform:translate(0)}.page-transition-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;pointer-events:none}.page-transition-block{transform-origin:center;border:1.5px solid var(--ink);margin:-2px}.page-transition-block.covering{animation:blockIn .46s cubic-bezier(.34,1.56,.64,1) forwards}.page-transition-block.revealing{animation:blockOut .46s cubic-bezier(.5,0,.75,0) forwards}@keyframes blockIn{0%{transform:scale(0) rotate(var(--rot))}to{transform:scale(1.06) rotate(0)}}@keyframes blockOut{0%{transform:scale(1.06) rotate(0)}to{transform:scale(0) rotate(var(--rot))}}@media (prefers-reduced-motion: reduce){.page-transition-block{animation:none!important;transform:none!important}}
