.work-bg[data-astro-cid-jljc7dey]{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.glow[data-astro-cid-jljc7dey]{position:absolute;border-radius:50%;filter:blur(20px);will-change:transform}.glow-1[data-astro-cid-jljc7dey]{width:46vw;height:46vw;top:-14vw;right:-12vw;background:radial-gradient(circle at 38% 38%,rgb(83 97 255 / .14),rgb(83 97 255 / .05) 45%,transparent 70%);animation:glow-drift-a 30s ease-in-out infinite alternate}.glow-2[data-astro-cid-jljc7dey]{width:40vw;height:40vw;top:32%;left:-16vw;background:radial-gradient(circle at 55% 50%,rgb(139 92 246 / .12),rgb(34 211 238 / .05) 50%,transparent 72%);animation:glow-drift-b 38s ease-in-out infinite alternate}.glow-3[data-astro-cid-jljc7dey]{width:36vw;height:36vw;bottom:-12vw;right:6vw;background:radial-gradient(circle at 50% 50%,rgb(255 96 190 / .09),rgb(255 184 77 / .04) 50%,transparent 74%);animation:glow-drift-c 34s ease-in-out infinite alternate}.dot-grid[data-astro-cid-jljc7dey]{position:absolute;inset:0;background-image:radial-gradient(var(--color-text) 1px,transparent 1.3px);background-size:28px 28px;opacity:.05}@keyframes glow-drift-a{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-4vw,5vh,0) scale(1.15)}}@keyframes glow-drift-b{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(5vw,-4vh,0) scale(1.1)}}@keyframes glow-drift-c{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-3vw,-5vh,0) scale(1.18)}}@media(prefers-reduced-motion:reduce){.glow[data-astro-cid-jljc7dey]{animation:none}.reveal[data-astro-cid-jljc7dey]{opacity:1;transform:none}}.reveal[data-astro-cid-jljc7dey]{opacity:0;transform:translateY(18px)}.work-wrap[data-astro-cid-jljc7dey]{max-width:68rem;margin:0 auto;padding:3rem 1.5rem 6rem}.hero[data-astro-cid-jljc7dey]{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}.hero-media[data-astro-cid-jljc7dey]{position:relative}.hero-portrait[data-astro-cid-jljc7dey]{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:14px;border:1px solid var(--color-border);box-shadow:0 24px 60px -24px #00000059}.hero-media-frame[data-astro-cid-jljc7dey]{position:absolute;inset:0;border-radius:14px;pointer-events:none;transform:translate(14px,14px);border:1px solid var(--color-accent);opacity:.5;z-index:-1}.cv-card[data-astro-cid-jljc7dey]{position:absolute;right:-2.75rem;bottom:-1.25rem;width:118px;display:block;padding:.4rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 18px 40px -18px #00000073;transform:rotate(3deg);transition:transform .2s ease;text-decoration:none}.cv-card[data-astro-cid-jljc7dey]:hover{transform:rotate(0) translateY(-3px)}.cv-thumb[data-astro-cid-jljc7dey]{display:block;width:100%;height:auto;border-radius:6px}.cv-card-label[data-astro-cid-jljc7dey]{display:block;text-align:center;padding-top:.3rem;font-family:IBM Plex Mono,monospace;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.hero-copy[data-astro-cid-jljc7dey]{max-width:40rem}.eyebrow[data-astro-cid-jljc7dey]{font-family:IBM Plex Mono,monospace;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--color-accent-strong);margin:0 0 .75rem}.hero-title[data-astro-cid-jljc7dey]{font-family:IBM Plex Sans,sans-serif;font-weight:500;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1;letter-spacing:-.035em;margin:0 0 1.25rem}.hero-lede[data-astro-cid-jljc7dey]{font-size:var(--text-lg);line-height:1.4;color:var(--color-text-muted);margin:0 0 1.75rem}.hero-actions[data-astro-cid-jljc7dey]{display:flex;flex-wrap:wrap;gap:.75rem}.btn[data-astro-cid-jljc7dey]{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.5rem;border-radius:999px;font-family:IBM Plex Mono,monospace;font-size:var(--text-sm);font-weight:500;text-decoration:none;cursor:pointer;appearance:none;background:transparent;color:var(--color-text);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn[data-astro-cid-jljc7dey]:hover{transform:translateY(-2px)}.btn-primary[data-astro-cid-jljc7dey]{background:var(--color-accent-strong);color:var(--color-on-accent);box-shadow:0 12px 30px -12px #0016ff99}.btn-primary[data-astro-cid-jljc7dey]:hover{filter:brightness(1.08)}.btn-ghost[data-astro-cid-jljc7dey]{border:1px solid var(--color-border);color:var(--color-text)}.btn-ghost[data-astro-cid-jljc7dey]:hover{border-color:var(--color-accent);color:var(--color-accent)}.contact-reveal[data-astro-cid-jljc7dey]{margin-top:.75rem}.contact-email[data-astro-cid-jljc7dey]{display:inline-flex;align-items:center;gap:.4rem;font-family:IBM Plex Mono,monospace;font-size:var(--text-sm);color:var(--color-accent);text-decoration:none;border-bottom:1px dashed var(--color-accent)}.contact-email[data-astro-cid-jljc7dey]:hover{color:var(--color-accent-strong);border-bottom-style:solid}.work-section[data-astro-cid-jljc7dey]{margin-top:clamp(4rem,8vw,7rem)}.section-head[data-astro-cid-jljc7dey]{display:flex;align-items:baseline;gap:1rem;margin-bottom:2rem}.section-num[data-astro-cid-jljc7dey]{font-family:IBM Plex Mono,monospace;font-size:var(--text-sm);font-weight:600;color:var(--color-accent-strong)}.section-head[data-astro-cid-jljc7dey] h2[data-astro-cid-jljc7dey]{font-size:var(--text-xl);font-weight:500;letter-spacing:-.03em;margin:0}.section-head[data-astro-cid-jljc7dey]:after{content:"";flex:1;height:1px;background:var(--color-border);align-self:center}.section-intro[data-astro-cid-jljc7dey]{color:var(--color-text-muted);max-width:46rem}.prose[data-astro-cid-jljc7dey]{max-width:46rem}.prose[data-astro-cid-jljc7dey] .lede[data-astro-cid-jljc7dey]{font-size:var(--text-lg);line-height:1.45}.prose[data-astro-cid-jljc7dey] p[data-astro-cid-jljc7dey]{margin-top:1rem}.footnote[data-astro-cid-jljc7dey]{font-size:var(--text-sm);color:var(--color-text-muted)}.timeline[data-astro-cid-jljc7dey]{position:relative}.timeline[data-astro-cid-jljc7dey]:before{content:"";position:absolute;left:.35rem;top:.5rem;bottom:.5rem;width:1px;background:var(--color-border)}.timeline-item[data-astro-cid-jljc7dey]{position:relative;padding-left:2.5rem;margin-bottom:1.75rem}.timeline-item[data-astro-cid-jljc7dey]:before{content:"";position:absolute;left:0;top:1.4rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--color-accent-strong);box-shadow:0 0 0 4px var(--color-bg)}.timeline-card[data-astro-cid-jljc7dey]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:1.5rem 1.75rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.timeline-card[data-astro-cid-jljc7dey]:hover{transform:translateY(-3px);border-color:var(--color-accent);box-shadow:0 22px 50px -28px #0016ff66}.tl-head[data-astro-cid-jljc7dey]{display:flex;align-items:center;gap:1.25rem}.tl-logo[data-astro-cid-jljc7dey]{flex:0 0 auto;width:60px;height:60px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:12px;background:#fff;padding:0;overflow:hidden}.tl-logo--tails[data-astro-cid-jljc7dey],.tl-logo--enki[data-astro-cid-jljc7dey]{background:#fff}.tl-logo--kcl[data-astro-cid-jljc7dey]{background:#e2231a;padding:.35rem}.tl-logo--kcl[data-astro-cid-jljc7dey] .tl-logo-img[data-astro-cid-jljc7dey]{object-fit:contain}.tl-logo-img[data-astro-cid-jljc7dey]{width:100%;height:100%;object-fit:cover}.kraken-logo-wrap[data-astro-cid-jljc7dey]{position:relative;overflow:hidden;background:#4b2e4f;border-color:#df1d80;padding:0}.kraken-logo[data-astro-cid-jljc7dey]{display:block;width:100%;height:100%;object-fit:contain}.kraken-tentacle[data-astro-cid-jljc7dey]{position:absolute;top:2.1rem;left:-.15rem;width:1.9rem;height:1.9rem;object-fit:contain;pointer-events:none;rotate:-45deg}.tl-title[data-astro-cid-jljc7dey]{min-width:0}.tl-period[data-astro-cid-jljc7dey]{display:block;font-family:IBM Plex Mono,monospace;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.25rem}.tl-title[data-astro-cid-jljc7dey] h3[data-astro-cid-jljc7dey]{font-size:var(--text-lg);font-weight:600;line-height:1.2;margin:0}.tl-company[data-astro-cid-jljc7dey]{margin:.25rem 0 0;font-size:var(--text-base)}.tl-company[data-astro-cid-jljc7dey] a[data-astro-cid-jljc7dey]{font-weight:600;text-decoration:none}.tl-company[data-astro-cid-jljc7dey] a[data-astro-cid-jljc7dey]:hover{text-decoration:underline}.tl-desc[data-astro-cid-jljc7dey]{margin-top:.9rem;color:var(--color-text-muted)}.tl-desc[data-astro-cid-jljc7dey]:first-of-type{color:var(--color-text)}.tl-desc[data-astro-cid-jljc7dey] a[data-astro-cid-jljc7dey]{font-weight:600}.chips[data-astro-cid-jljc7dey]{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 0;padding:0}.chip[data-astro-cid-jljc7dey]{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:999px;font-size:var(--text-sm);background:var(--color-bg);transition:border-color .15s ease,transform .15s ease}.chip[data-astro-cid-jljc7dey]:hover{border-color:var(--color-accent);transform:translateY(-1px)}.chip[data-astro-cid-jljc7dey] svg{flex:0 0 auto}.skill-groups[data-astro-cid-jljc7dey]{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.5rem;margin-top:2rem}.skill-group[data-astro-cid-jljc7dey] h3[data-astro-cid-jljc7dey]{font-size:var(--text-base);font-weight:600;margin:0 0 .75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-family:IBM Plex Mono,monospace}.skill-group[data-astro-cid-jljc7dey] .chips[data-astro-cid-jljc7dey]{margin-top:0}.projects[data-astro-cid-jljc7dey]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.project-card[data-astro-cid-jljc7dey]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:1.5rem 1.75rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.project-card[data-astro-cid-jljc7dey]:hover{transform:translateY(-3px);border-color:var(--color-accent);box-shadow:0 22px 50px -28px #0016ff66}.project-copy[data-astro-cid-jljc7dey] h3[data-astro-cid-jljc7dey]{font-size:var(--text-lg);font-weight:600;margin:0 0 .4rem}.project-copy[data-astro-cid-jljc7dey] p[data-astro-cid-jljc7dey]{margin:0;color:var(--color-text-muted)}.project-screenshots[data-astro-cid-jljc7dey]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-top:1.25rem}.project-screenshot-button[data-astro-cid-jljc7dey]{padding:0;border:1px solid var(--color-border);border-radius:8px;background:transparent;cursor:zoom-in;overflow:hidden}.project-screenshot-button[data-astro-cid-jljc7dey]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.project-screenshots[data-astro-cid-jljc7dey] img{display:block;width:100%;height:auto;border-radius:8px;transition:transform .25s ease}.project-screenshot-button[data-astro-cid-jljc7dey]:hover img{transform:scale(1.04)}.project-screenshots--perspective[data-astro-cid-jljc7dey]{grid-template-columns:1fr}.project-screenshots--perspective[data-astro-cid-jljc7dey] .project-screenshot-button[data-astro-cid-jljc7dey]:last-child{max-width:240px}.extras[data-astro-cid-jljc7dey]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.extra[data-astro-cid-jljc7dey]{padding:1.5rem 1.75rem;border-left:2px solid var(--color-accent)}.extra[data-astro-cid-jljc7dey] h3[data-astro-cid-jljc7dey]{font-size:var(--text-base);font-weight:600;margin:0 0 .4rem}.extra[data-astro-cid-jljc7dey] p[data-astro-cid-jljc7dey]{margin:0;color:var(--color-text-muted)}.screenshot-dialog[data-astro-cid-jljc7dey]{display:none;inset:0;width:fit-content;height:fit-content;margin:auto;place-items:center;max-width:min(calc(100vw - 2rem),1100px);max-height:calc(100dvh - 2rem);padding:0;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background, var(--color-surface))}.screenshot-dialog[data-astro-cid-jljc7dey][open]{display:grid}.screenshot-dialog[data-astro-cid-jljc7dey]::backdrop{background:#000000bf}.screenshot-dialog-image[data-astro-cid-jljc7dey]{display:block;max-width:min(calc(100vw - 2rem),1100px);max-height:calc(100dvh - 4rem);object-fit:contain}.screenshot-dialog-close[data-astro-cid-jljc7dey]{position:absolute;top:.5rem;right:.5rem;padding:.4rem .65rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);cursor:pointer}@media(max-width:860px){.hero[data-astro-cid-jljc7dey]{grid-template-columns:1fr}.hero-media[data-astro-cid-jljc7dey]{max-width:320px}.skill-groups[data-astro-cid-jljc7dey],.projects[data-astro-cid-jljc7dey],.extras[data-astro-cid-jljc7dey]{grid-template-columns:1fr}}@media(max-width:560px){.work-wrap[data-astro-cid-jljc7dey]{padding:1.75rem 1.1rem 4rem}.hero-media[data-astro-cid-jljc7dey]{max-width:240px;margin:0 auto}.cv-card[data-astro-cid-jljc7dey]{width:92px;right:-1.5rem;bottom:-.75rem}.hero-copy[data-astro-cid-jljc7dey]{text-align:center}.hero-actions[data-astro-cid-jljc7dey]{justify-content:center}.timeline-card[data-astro-cid-jljc7dey]{padding:1.25rem 1.1rem}.tl-head[data-astro-cid-jljc7dey]{align-items:flex-start;gap:.9rem}.tl-logo[data-astro-cid-jljc7dey]{width:48px;height:48px}}
