@import "https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Patrick+Hand&display=swap";:root{--paper:#fdfbf7;--ink:#2d2d2d;--muted:#e5e0d8;--red:#ff4d4d;--blue:#2d5da1;--postit:#fff9c4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background-color:var(--paper);background-image:radial-gradient(var(--muted) 1px, transparent 1px);-webkit-font-smoothing:antialiased;background-size:24px 24px;margin:0;font-family:Patrick Hand,cursive;font-size:19px;line-height:1.55}h1,h2,h3{margin:0;font-family:Kalam,cursive;font-weight:700;line-height:1.1}a{color:var(--blue);text-decoration:none}.wob1{border-radius:255px 15px 225px/15px 225px 15px 255px}.wob2{border-radius:15px 225px 15px 255px/255px 15px 225px}.wob3{border-radius:200px 28px 215px 20px/22px 210px 26px 205px}.pill{border-radius:24px 30px 26px 32px/30px 24px 32px 26px}.hard{box-shadow:4px 4px 0 0 var(--ink)}.hard-lg{box-shadow:8px 8px 0 0 var(--ink)}.tape{position:relative}.tape:before{content:"";background:#7878782e;border-left:1px dashed #50505040;border-right:1px dashed #50505040;width:104px;height:26px;position:absolute;top:-13px;left:50%;transform:translate(-50%)rotate(-3deg)}.tack{position:relative}.tack:before{content:"";background:var(--red);border:2px solid var(--ink);border-radius:50%;width:20px;height:20px;position:absolute;top:-12px;left:50%;transform:translate(-50%);box-shadow:1px 1px #2d2d2d59}.skip{background:var(--ink);color:#fff;padding:8px 14px;position:absolute;top:auto;left:-999px}.skip:focus{z-index:99;top:12px;left:12px}a:focus-visible,button:focus-visible{outline:3px dashed var(--blue);outline-offset:3px}.topbar{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-bottom:2px dashed var(--ink);background:#fdfbf7e6;position:sticky;top:0}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1000px;margin:0 auto;padding:14px 24px;display:flex}.brand{font-family:Kalam,cursive;font-size:22px;font-weight:700;transform:rotate(-1.5deg)}.brand .dot{color:var(--red)}.navlinks{flex-wrap:wrap;gap:22px;display:flex}.navlinks a{color:var(--ink);padding:2px 0;font-size:19px}.navlinks a:hover{color:var(--blue);text-underline-offset:5px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}main{max-width:1000px;margin:0 auto;padding:0 24px}.block{padding:64px 0}.eyebrow{background:var(--postit);border:2px solid var(--ink);color:var(--ink);margin-bottom:22px;padding:4px 16px;font-family:Kalam,cursive;font-weight:700;display:inline-block;transform:rotate(-2deg);box-shadow:3px 3px #2d2d2d2e}.block-title{margin-bottom:8px;font-size:40px}.hero{padding:60px 0 40px;position:relative}.namecard{background:var(--white);border:3px solid var(--ink);box-shadow:8px 8px 0 0 var(--ink);padding:26px 40px 30px;display:inline-block;transform:rotate(-1.5deg)}.hero h1{letter-spacing:1px;font-size:clamp(44px,9vw,84px)}.hero h1 .wave{color:var(--red);display:inline-block;transform:rotate(8deg)}.role{background:var(--postit);border:2px solid var(--ink);margin-top:14px;padding:6px 16px;font-size:clamp(18px,3.4vw,26px);display:inline-block;transform:rotate(1.2deg);box-shadow:3px 3px #2d2d2d33}.blurb{max-width:640px;margin:30px 0 26px;font-size:21px}.chips{flex-wrap:wrap;gap:14px;display:flex}.chip{background:var(--white);border:3px solid var(--ink);color:var(--ink);cursor:pointer;min-height:48px;box-shadow:4px 4px 0 0 var(--ink);align-items:center;gap:9px;padding:10px 18px;font-size:18px;transition:transform .1s,background .1s,color .1s,box-shadow .1s;display:inline-flex}.chip svg{width:20px;height:20px}.chip:hover{background:var(--red);color:#fff;box-shadow:2px 2px 0 0 var(--ink);transform:translate(2px,2px)rotate(-1deg)}.chip.blue:hover{background:var(--blue)}.chip:active{box-shadow:none;transform:translate(4px,4px)}.doodle{pointer-events:none;position:absolute}.arrow-cta{width:150px;top:54px;right:6%}.spin-star{width:54px;animation:3s ease-in-out infinite bob;top:18px;left:-26px}@keyframes bob{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-10px)rotate(6deg)}}.wave-divider{width:100%;height:26px;color:var(--muted);margin:6px 0;display:block}.about-card{background:var(--white);border:2px solid var(--ink);padding:30px 34px;transform:rotate(-.6deg);box-shadow:6px 6px #2d2d2d26}.about-card p{margin:0;font-size:21px}.dropcap{float:left;color:var(--red);padding:6px 14px 2px 0;font-family:Kalam,cursive;font-size:64px;font-weight:700;line-height:.8}.timeline{margin-top:18px;padding-left:8px;position:relative}.timeline:before{content:"";border-left:3px dashed var(--ink);opacity:.55;position:absolute;top:8px;bottom:8px;left:18px}.tl-item{margin-bottom:34px;padding-left:54px;position:relative}.tl-node{background:var(--postit);border:3px solid var(--ink);z-index:2;border-radius:50%;width:26px;height:26px;position:absolute;top:6px;left:6px;box-shadow:2px 2px #2d2d2d40}.tl-item.now .tl-node{background:var(--red)}.job{background:var(--white);border:2px solid var(--ink);padding:22px 26px 20px;transition:transform .1s,box-shadow .1s;box-shadow:5px 5px #2d2d2d26}.job:hover{transform:rotate(-.7deg);box-shadow:7px 7px #2d2d2d33}.tl-item:nth-child(2n) .job{transform:rotate(.5deg)}.tl-item:nth-child(2n) .job:hover{transform:rotate(1deg)}.job.featured{background:var(--postit)}.job-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:4px;display:flex}.job-role{font-size:25px}.job-when{background:var(--ink);color:#fff;white-space:nowrap;border-radius:14px 18px/18px 14px;padding:2px 12px;font-family:Kalam,cursive;font-size:16px;font-weight:700}.job.featured .job-when{background:var(--red)}.job-org{color:var(--blue);margin-bottom:12px;font-size:19px}.job-org .type{color:var(--ink);opacity:.6}.job ul{margin:0;padding-left:22px}.job li{margin-bottom:7px}.job li::marker{content:"✎  "}.edu-grid{grid-template-columns:1fr 1fr;gap:26px;margin-top:14px;display:grid}.edu-card{background:var(--white);border:3px solid var(--ink);box-shadow:6px 6px 0 0 var(--ink);padding:26px 28px;transition:transform .1s}.edu-card:first-child{transform:rotate(-1.3deg)}.edu-card:nth-child(2){transform:rotate(1.1deg)}.edu-card:hover{transform:rotate(0)}.edu-school{color:var(--blue);margin-bottom:6px;font-size:18px}.edu-degree{margin-bottom:10px;font-size:24px}.gpa{background:var(--postit);border:2px solid var(--ink);padding:3px 14px;font-family:Kalam,cursive;font-weight:700;display:inline-block;transform:rotate(-2deg)}.edu-years{opacity:.7;margin-top:10px;display:block}.skills-grid{grid-template-columns:repeat(2,1fr);gap:26px;margin-top:14px;display:grid}.skill-note{background:var(--postit);border:2px solid var(--ink);padding:22px 24px 26px;box-shadow:5px 5px #2d2d2d2e}.skill-note:nth-child(3n+1){transform:rotate(-1.2deg)}.skill-note:nth-child(3n+2){transform:rotate(.9deg)}.skill-note:nth-child(3n){background:var(--white);transform:rotate(-.5deg)}.skill-cat{margin-bottom:14px;font-size:21px}.skill-cat:after{content:"";border-bottom:3px solid var(--red);width:60px;height:0;margin-top:4px;display:block;transform:rotate(-1deg)}.tags{flex-wrap:wrap;gap:9px;display:flex}.tag{background:var(--white);border:2px solid var(--ink);border-radius:16px 20px 18px 22px/20px 16px 22px 18px;padding:4px 12px;font-size:16px;display:inline-block}.skill-note:nth-child(3n) .tag{background:var(--postit)}.contact{background:var(--ink);color:var(--paper);border-top:3px solid var(--ink);margin-top:30px}.contact-inner{text-align:center;max-width:1000px;margin:0 auto;padding:60px 24px}.contact h2{color:var(--paper);margin-bottom:10px;font-size:38px}.contact p{opacity:.85;max-width:480px;margin:0 auto 26px}.contact-chips{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.cchip{background:var(--paper);min-height:48px;color:var(--ink);border:3px solid var(--paper);align-items:center;gap:9px;padding:10px 18px;font-size:18px;transition:transform .1s,background .1s,color .1s;display:inline-flex;box-shadow:4px 4px #0006}.cchip svg{width:20px;height:20px}.cchip:hover{background:var(--red);color:#fff;transform:translate(2px,2px)rotate(-1deg)}.credit{opacity:.55;margin-top:34px;font-size:15px}.blog-grid{grid-template-columns:1fr;gap:26px;max-width:800px;margin:14px auto 0;display:grid}.blog-card{background:var(--white);border:2px solid var(--ink);flex-direction:column;align-items:flex-start;padding:22px 24px 26px;transition:transform .1s,box-shadow .1s;display:flex;box-shadow:5px 5px #2d2d2d2e}.blog-card:nth-child(3n+1){transform:rotate(-1.2deg)}.blog-card:nth-child(3n+2){background:var(--postit);transform:rotate(.9deg)}.blog-card:nth-child(3n){transform:rotate(-.5deg)}.blog-card:hover{z-index:10;position:relative;transform:rotate(0);box-shadow:7px 7px #2d2d2d33}.mdx-content p{margin-bottom:1.5rem!important}.mdx-content p:last-child{margin-bottom:0!important}.menu-toggle{cursor:pointer;color:var(--ink);background:0 0;border:none;padding:0;font-family:inherit;font-size:28px;line-height:1;display:none}@media (width<=760px){body{font-size:18px}.block{padding:48px 0}.block-title{font-size:32px}.edu-grid,.skills-grid{grid-template-columns:1fr}.namecard{padding:20px 24px 24px}.arrow-cta,.spin-star{display:none}.job-head{flex-direction:column;align-items:flex-start}.menu-toggle{display:block}.navlinks{border-top:2px dashed var(--ink);flex-direction:column;gap:12px;width:100%;margin-top:10px;padding-top:16px;display:none}.navlinks.open{display:flex}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation:none!important}.chip,.cchip,.job,.edu-card{transition:none}}@media print{body{background:#fff}.topbar,.doodle,.wave-divider,.contact .credit{display:none}*{box-shadow:none!important;transform:none!important}.block{break-inside:avoid;padding:22px 0}.job,.edu-card,.skill-note,.about-card{break-inside:avoid}a{color:var(--ink)}}
