:root{--paper:#f7f3e8;--paper-dark:#ede8d6;--ink:#1e2430;--red:#e63946;--blue:#1d3557;--cyan:#457b9d;--tape-yellow:#ffe066;--tape-red:#f87171eb;--pencil:#5c677d;--white:#fff;--cream:#fffdfa;--ff-title:"Bangers", cursive;--ff-hand:"Caveat", cursive;--ff-marker:"Permanent Marker", cursive;--ff-kalam:"Kalam", cursive;--ff-body:"Space Grotesk", sans-serif;--ff-mono:"JetBrains Mono", monospace;--shadow-sketch:3px 4px 0px 1px var(--ink);--shadow-sketch-lg:6px 8px 0px 2px var(--ink);--shadow-sketch-red:4px 5px 0px 1px var(--red);--border-sketch:2.5px solid var(--ink);--radius-sketch:255px 15px 225px 15px / 15px 225px 15px 255px;--radius-box:4px 18px 6px 14px;--transition-base:all .2s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--ff-body);background-color:var(--paper);color:var(--ink);background-image:radial-gradient(#d3cbb8 .75px,#0000 .75px),linear-gradient(90deg,#e639460f 1px,#0000 1px);background-position:0 0,80px 0;background-size:24px 24px,100% 100%;min-height:100vh;overflow-x:hidden}::selection{background:var(--tape-yellow);color:var(--ink)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1ebd9}::-webkit-scrollbar-thumb{background:var(--ink);border:2px solid #f1ebd9;border-radius:999px}.font-title{font-family:var(--ff-title)}.font-hand{font-family:var(--ff-hand)}.font-marker{font-family:var(--ff-marker)}.font-kalam{font-family:var(--ff-kalam)}.font-body{font-family:var(--ff-body)}.font-mono{font-family:var(--ff-mono)}.sketch-border{border:2.5px solid var(--ink);border-radius:var(--radius-sketch)}.sketch-box{border:2px solid var(--ink);border-radius:var(--radius-box);box-shadow:var(--shadow-sketch);background:var(--white);transition:var(--transition-base)}.sketch-box:hover{box-shadow:var(--shadow-sketch-lg);transform:translateY(-3px)rotate(-.5deg)}.sketch-box-red{border-left:4px solid var(--red)!important}.sketch-box-blue{border-left:4px solid var(--blue)!important}.sketch-box-yellow{border-left:4px solid #f59e0b!important}.washi-tape{z-index:20;clip-path:polygon(4% 0%,96% 0%,100% 100%,0% 100%);filter:drop-shadow(0 2px 1px #00000014);background:#fede5deb;height:24px;position:absolute;transform:rotate(-3deg);box-shadow:0 1px 3px #0000001f}.washi-tape-red{z-index:20;clip-path:polygon(5% 0%,95% 0%,100% 100%,0% 100%);background:#f87171eb;height:22px;position:absolute;transform:rotate(4deg);box-shadow:0 1px 3px #0000001f}.halftone-accent{background-image:radial-gradient(var(--ink) 18%, transparent 19%);opacity:.1;pointer-events:none;background-size:8px 8px}.sticker-cutout{filter:drop-shadow(0px 7px 0px var(--ink)) drop-shadow(0 14px 20px #00000026)}@keyframes doodle-wobble{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1.5deg)}}@keyframes float-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes draw-line{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)rotate(-5deg)}70%{opacity:1;transform:scale(1.08)rotate(1deg)}to{transform:scale(1)rotate(0)}}.wobble-hover:hover{animation:.6s ease-in-out infinite alternate doodle-wobble}.float-animate{animation:3s ease-in-out infinite float-bob}.spin-slow{animation:8s linear infinite spin-slow}.reveal{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards revealFadeIn;transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes revealFadeIn{to{opacity:1;transform:translateY(0)}}.reveal-delay-1{animation-delay:.1s}.reveal-delay-2{animation-delay:.2s}.reveal-delay-3{animation-delay:.3s}.reveal-delay-4{animation-delay:.4s}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}section{padding:5rem 1.5rem}.section-annotation{font-family:var(--ff-hand);color:var(--red);margin-bottom:.25rem;font-size:1.4rem;font-weight:700;display:block;transform:rotate(-2deg)}.section-heading{font-family:var(--ff-title);letter-spacing:.04em;color:var(--ink);text-transform:uppercase;font-size:clamp(2.5rem,6vw,4rem);line-height:1}.btn{font-family:var(--ff-title);letter-spacing:.08em;border:2px solid var(--ink);cursor:pointer;transition:var(--transition-base);border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1.2rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--ink);color:var(--white);box-shadow:var(--shadow-sketch)}.btn-primary:hover{background:var(--red);box-shadow:var(--shadow-sketch-lg);transform:translate(-2px,-2px)}.btn-secondary{background:var(--white);color:var(--ink);box-shadow:var(--shadow-sketch)}.btn-secondary:hover{background:var(--tape-yellow);box-shadow:var(--shadow-sketch-lg);transform:translate(-2px,-2px)}.btn-danger{background:var(--red);color:var(--white);box-shadow:var(--shadow-sketch-red)}.btn-danger:hover{box-shadow:6px 8px 0px 1px var(--red);background:#c0202d;transform:translate(-2px,-2px)}.tech-badge{font-family:var(--ff-body);box-shadow:var(--shadow-sketch);transition:var(--transition-base);border-radius:.5rem;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.82rem;font-weight:700;display:inline-flex}.tech-badge:hover{transform:rotate(0)!important}.skill-chip{border:2px solid var(--ink);font-family:var(--ff-marker);background:var(--white);box-shadow:2px 3px 0px var(--ink);transition:var(--transition-base);cursor:default;border-radius:999px;padding:.4rem 1rem;font-size:.85rem;display:inline-block}.skill-chip:hover{box-shadow:4px 5px 0px var(--ink);background:var(--tape-yellow);transform:translateY(-2px)rotate(-1deg)}.timeline-line{background:var(--red);z-index:0;border-left:2px dashed #c0202d;width:6px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-node{border:4px solid var(--ink);width:56px;height:56px;box-shadow:var(--shadow-sketch);z-index:2;cursor:pointer;transition:var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.timeline-node:hover{animation:.6s ease-in-out infinite alternate doodle-wobble}.project-card{background:var(--cream);border:2px solid var(--ink);border-radius:var(--radius-box);box-shadow:var(--shadow-sketch);transition:var(--transition-base);flex-direction:column;gap:1rem;padding:1.75rem;display:flex;position:relative}.project-card:hover{box-shadow:var(--shadow-sketch-lg);transform:translateY(-4px)rotate(-.3deg)}.blueprint-card-interactive{background:var(--cream);border:2px solid var(--ink);box-shadow:4px 5px 0 var(--ink);cursor:pointer;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.blueprint-card-interactive:hover{box-shadow:8px 12px 0px var(--ink);border-color:var(--ink);background:#fdfbf7;transform:translateY(-8px)rotate(-.6deg)scale(1.015)}.blueprint-card-interactive .washi-tape-strip{transition:transform .3s}.blueprint-card-interactive:hover .washi-tape-strip{transform:rotate(-5deg)scale(1.06)!important}.blueprint-card-interactive .blueprint-img-container{border:2px solid var(--ink);box-shadow:2px 3px 0 var(--ink);background:#fff;border-radius:6px;transition:all .3s;position:relative;overflow:hidden}.blueprint-card-interactive:hover .blueprint-img-container{box-shadow:3px 5px 0 var(--ink)}.blueprint-card-interactive .blueprint-img{object-fit:cover;width:100%;height:180px;transition:transform .45s cubic-bezier(.25,1,.5,1);display:block}.blueprint-card-interactive:hover .blueprint-img{transform:scale(1.08)}.blueprint-card-interactive .schematic-badge{color:#fff;font-family:var(--ff-mono);letter-spacing:.04em;background:#1e2430e0;border:1px solid #fff3;border-radius:4px;padding:3px 8px;font-size:.68rem;transition:all .3s;position:absolute;bottom:8px;right:8px}.blueprint-card-interactive:hover .schematic-badge{background:var(--red);color:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 2px 10px #e6394680}.blueprint-card-interactive .project-icon{flex-shrink:0;font-size:2rem;line-height:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.blueprint-card-interactive:hover .project-icon{transform:scale(1.25)rotate(8deg)}.blueprint-card-interactive .metric-box{background:#ffffffb3;border:1.5px solid #1e24301f;border-radius:6px;padding:.5rem .75rem;transition:all .25s}.blueprint-card-interactive:hover .metric-box{border-color:var(--ink);box-shadow:2px 3px 0 var(--ink);background:#fff;transform:translateY(-2px)}.blueprint-card-interactive .tech-chip-pill{transition:all .2s}.blueprint-card-interactive:hover .tech-chip-pill{transform:translateY(-2px);box-shadow:1px 2px #1e24304d}.form-field{flex-direction:column;gap:.4rem;display:flex}.form-field label{font-family:var(--ff-marker);color:var(--pencil);font-size:.95rem}.form-field input,.form-field textarea{border:2px solid var(--ink);font-family:var(--ff-body);color:var(--ink);box-shadow:2px 3px 0px var(--ink);resize:none;background:#fffef9;border-radius:6px;outline:none;padding:.75rem 1rem;font-size:1rem;transition:box-shadow .2s}.form-field input:focus,.form-field textarea:focus{box-shadow:3px 4px 0px var(--red);border-color:var(--red)}.nav-link{font-family:var(--ff-kalam);color:var(--ink);font-size:1.15rem;font-weight:700;text-decoration:none;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--red);transform-origin:0;border-radius:2px;height:2px;transition:transform .25s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav-link:hover{color:var(--red)}.nav-link:hover:after{transform:scaleX(1)}.mobile-menu{background:var(--paper);border-top:2px dashed var(--ink);flex-direction:column;gap:1.25rem;padding:1.5rem;display:none}.mobile-menu.open{display:flex}.hero-title{font-family:var(--ff-title);letter-spacing:.03em;color:var(--blue);text-shadow:4px 4px 0 #fff, 7px 9px 0 var(--ink);-webkit-user-select:none;user-select:none;font-size:clamp(4rem,15vw,10rem);line-height:1}.footer-wave{width:100%;line-height:0;overflow:hidden}@media (width<=768px){section{padding:3rem 1rem}.timeline-line{left:28px}.container{padding:0 1rem}}img{max-width:100%}a{color:inherit}ul{list-style:none}.sticker-tag{border:2px solid var(--ink);border-radius:var(--radius-sketch);font-family:var(--ff-marker);box-shadow:2px 3px 0 var(--ink);transition:var(--transition-base);padding:.25rem .75rem;font-size:.8rem;display:inline-block}.sticker-tag:hover{transform:rotate(0)!important}.num-badge{font-family:var(--ff-title);color:var(--red);letter-spacing:.05em;font-size:1.1rem;display:inline-block}.back-link:hover{color:var(--red)!important}.reveal-auto{animation:.6s both fade-in-up}.skill-label-row{justify-content:space-between;margin-bottom:.2rem;display:flex}.category-scroll{scrollbar-width:thin;scrollbar-color:var(--ink) #f1ebd9;overflow-x:auto}article:hover{box-shadow:6px 8px 0 var(--ink);transform:translateY(-4px)rotate(-.2deg)}
