:root{color-scheme:dark;--bg:#111;--fg:#ededed;--muted:#a3a3a3;--blue:#91d4ff;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--muted);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--blue)}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:4px}::selection{background:#91d4ff;color:#111}.home{max-width:780px;padding:0 28px;margin:145px auto 60px}.name-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}h1{font-size:30px;line-height:1.25;letter-spacing:-.9px;color:var(--fg);margin:0;font-weight:600}.slash{font-size:30px;color:#444}.avatar-link{display:block;line-height:0}.avatar-link img{width:38px;height:38px;object-fit:cover;border-radius:50%;border:2px solid #80caff50;box-shadow:0 0 22px #59baff16;transition:transform .5s var(--ease),box-shadow .5s}.avatar-link:hover img{transform:scale(1.3) rotate(-5deg);box-shadow:0 0 30px #59baff40}.handle{font-size:27px;font-weight:600;letter-spacing:-.7px}.identity p{margin:5px 0;font-size:18px}.identity p a,strong{color:#d4d4d4;font-weight:500}nav{display:flex;flex-wrap:wrap;gap:26px;margin-top:30px}nav a{min-height:36px;font-size:17px}.intro{margin:30px 0 40px;max-width:660px}.intro p{margin:0;font-size:16px;line-height:1.8}.project{position:relative;padding:18px 0 18px 164px;transition:opacity .35s,filter .35s}.project-icon{position:absolute;left:124px;top:22px;display:grid;place-items:center;width:26px;height:26px;overflow:hidden;border-radius:6px;background:#1b1b1b}.project-icon img{width:24px;height:24px;object-fit:contain}.project-icon:has(img[src$="anglers.png"]){background:#254653}.project-icon img[src$="anglers.png"]{width:38px;height:38px;max-width:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.project-icon img[src$="uw.svg"]{width:24px;height:24px}.project-icon:has(img[src$="project-destined.png"]){display:none}.official-wordmark{width:156px;height:auto}.row{display:flex;align-items:center;gap:12px}.project-link{display:inline-flex;align-items:center;gap:8px;color:var(--fg)}h3{font-size:18px;line-height:1.5;font-weight:600;margin:0}.out{font-size:16px;opacity:0;transition:opacity .2s}.project:hover .out,.project:focus-within .out{opacity:1}.when{position:absolute;left:0;top:20px;font-size:14px;color:#858585;max-width:110px}.role{margin:2px 0 0;font-size:15px}.expand{border:0;background:none;padding:4px 0;font-size:13px;color:#828282;display:flex;gap:8px;align-items:center}.expand span{display:inline-block;transition:transform .4s}.open .expand span{transform:rotate(45deg)}.note{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s var(--ease),opacity .4s}.note>div{overflow:hidden}.note p{margin:8px 0 12px;line-height:1.7}.project.open .note,.project:focus-within .note{grid-template-rows:1fr;opacity:1}.result{font-size:14px;color:#92bfd7;margin:4px 0}.proof-link,.social-proof{font-size:14px}.social-proof{display:flex;gap:20px;margin-top:8px}.gallery-entry{margin-top:42px}.gallery-link{position:relative;display:inline-flex;flex-direction:column;gap:4px;font-size:19px;padding-top:10px}.gallery-hint{font-size:14px;color:#777}.gallery-fan{position:absolute;bottom:100%;left:0;width:190px;height:110px;pointer-events:none}.gallery-fan img{position:absolute;bottom:0;left:40px;width:75px;height:96px;border:3px solid #303030;border-radius:7px;background:#1c2830;object-fit:cover;opacity:0;transform:translateY(20px) rotate(0);transition:transform .6s var(--ease),opacity .25s;box-shadow:0 10px 24px #0008}.gallery-link:hover .gallery-fan img,.gallery-link:focus-visible .gallery-fan img{opacity:1}.gallery-link:hover .gallery-fan img:nth-child(1),.gallery-link:focus-visible .gallery-fan img:nth-child(1){transform:translateX(-35px) rotate(-17deg)}.gallery-link:hover .gallery-fan img:nth-child(2),.gallery-link:focus-visible .gallery-fan img:nth-child(2){transform:translateY(-12px) rotate(0)}.gallery-link:hover .gallery-fan img:nth-child(3),.gallery-link:focus-visible .gallery-fan img:nth-child(3){transform:translateX(45px) rotate(17deg)}footer{margin-top:38px;font-size:14px;color:#777}footer p{display:flex;align-items:center;gap:12px}#copy{background:none;border:0;padding:7px;display:inline-flex}#copy img{width:15px;height:15px;filter:invert(1);opacity:.6}.meta{display:flex;flex-direction:column;gap:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-60px;left:20px;padding:10px;background:#222;z-index:20}.skip-link:focus{top:10px}.rise{animation:arrive .85s var(--ease) both}.intro{animation-delay:.08s}.work{animation-delay:.15s}.gallery-entry{animation-delay:.23s}footer{animation-delay:.28s}@keyframes arrive{from{opacity:0;filter:blur(6px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@media(hover:hover){.projects:has(.project:hover) .project:not(:hover){opacity:.35}.project:hover .note{grid-template-rows:1fr;opacity:1}}@media(max-width:600px){.home{margin:78px auto 40px;padding:0 25px}.name-line{gap:9px}h1{font-size:26px}.handle{font-size:23px}.identity p{font-size:16px}.project{padding:20px 0 20px 38px}.project-icon{left:0;top:48px}.when{position:static;display:block;order:-1;max-width:none;margin-bottom:5px}.row{display:flex;flex-direction:column;align-items:flex-start;gap:0}.intro{margin:26px 0}nav{gap:20px}.gallery-hint{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.github-activity{margin-top:45px}.activity-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.activity-heading h2{font-size:16px;font-weight:500;margin:0;color:#ccc}.activity-heading a{font-size:14px}.contribution-link{display:block;overflow-x:auto;padding:16px 10px;border:1px solid #262626;border-radius:8px;background:#171717}.contribution-link img{display:block;width:100%;min-width:560px;height:auto;filter:brightness(.85)}.github-activity>p{font-size:12px;color:#777;margin-top:8px}

.project-icon:has(img[src$="uw.svg"]){background:#f2f2f2}

.yc-photo{display:inline-block;width:42px;height:48px;margin-left:10px;position:relative;z-index:2}.yc-photo img{width:42px;height:48px;object-fit:cover;border-radius:5px;transform:rotate(5deg);transition:transform .45s var(--ease);transform-origin:center}.yc-photo:hover img,.project-link:focus-visible .yc-photo img{transform:scale(4) rotate(0);box-shadow:0 12px 35px #0009}
