.card[data-astro-cid-hnjwxzzw]{display:flex;flex-direction:column;background:var(--panel);color:var(--text);padding:24px;text-decoration:none;position:relative;overflow:hidden;min-height:220px}.content[data-astro-cid-hnjwxzzw]{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between}.header-group[data-astro-cid-hnjwxzzw] h3[data-astro-cid-hnjwxzzw]{font-size:1.1rem;font-weight:700;margin:0;letter-spacing:-.01em}.header-group[data-astro-cid-hnjwxzzw] p[data-astro-cid-hnjwxzzw]{margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.4}.small[data-astro-cid-hnjwxzzw]{grid-column:span 1}.wide[data-astro-cid-hnjwxzzw]{grid-column:span 2}.big[data-astro-cid-hnjwxzzw]{grid-column:span 2;grid-row:span 2}.full[data-astro-cid-hnjwxzzw]{grid-column:span 4}@media(max-width:768px){.card[data-astro-cid-hnjwxzzw]{min-height:180px}}@media(max-width:900px){.full[data-astro-cid-hnjwxzzw],.wide[data-astro-cid-hnjwxzzw],.big[data-astro-cid-hnjwxzzw]{grid-column:span 2}}@media(max-width:600px){.full[data-astro-cid-hnjwxzzw],.wide[data-astro-cid-hnjwxzzw],.big[data-astro-cid-hnjwxzzw]{grid-column:span 1}}.bento-grid[data-astro-cid-f44o672t]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px}@media(max-width:900px){.bento-grid[data-astro-cid-f44o672t]{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.bento-grid[data-astro-cid-f44o672t]{grid-template-columns:1fr}}.intro-box[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:1fr 300px;gap:32px;padding:32px;margin-bottom:8px}.intro-text[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;justify-content:center;gap:16px}.intro-lead[data-astro-cid-j7pv25f6]{font-size:1.15rem}.intro-text[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{color:var(--text);line-height:1.65}.intro-text[data-astro-cid-j7pv25f6] strong[data-astro-cid-j7pv25f6]{font-weight:600}.inline-link[data-astro-cid-j7pv25f6]{color:var(--text);text-decoration:underline;text-underline-offset:2px;font-weight:600}.inline-link[data-astro-cid-j7pv25f6]:hover{color:var(--link-blue)}.intro-socials[data-astro-cid-j7pv25f6]{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.intro-socials[data-astro-cid-j7pv25f6] .social[data-astro-cid-j7pv25f6]:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.intro-photo-wrap[data-astro-cid-j7pv25f6]{display:flex;align-items:center;justify-content:center}.intro-photo[data-astro-cid-j7pv25f6]{width:100%;max-width:300px;aspect-ratio:4 / 5;object-fit:cover;object-position:center;border:1px solid var(--line);box-shadow:5px 5px 0 0 var(--shadow);display:block}.mini-label[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.8rem;font-weight:500;color:var(--muted);margin:32px 0 14px;letter-spacing:.02em}.resume-top[data-astro-cid-j7pv25f6]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-10px;margin-bottom:8px;flex-wrap:wrap}.about-grid[data-astro-cid-j7pv25f6] .bento-grid{padding:0}.about-grid[data-astro-cid-j7pv25f6] .bento-grid>[data-astro-cid-j7pv25f6]{min-width:0}.travel-cell[data-astro-cid-j7pv25f6]{grid-column:span 2;display:flex}.travel-cell[data-astro-cid-j7pv25f6] .bento-card{width:100%}.yt-card[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;padding:24px;grid-column:span 2;min-height:220px}.yt-card[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6],.lbxd-head[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6],.tft-head[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1.1rem;font-weight:700;margin:0}.yt-sub[data-astro-cid-j7pv25f6]{margin:6px 0 0;color:var(--muted);font-size:.9rem}.yt-frame[data-astro-cid-j7pv25f6]{margin-top:14px;position:relative;width:100%;flex:1;min-height:240px;overflow:hidden;background:#000;border:1px solid var(--line)}.yt-frame[data-astro-cid-j7pv25f6] iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tft-card[data-astro-cid-j7pv25f6]{grid-column:span 2;display:flex;flex-direction:column;gap:16px;padding:24px;text-decoration:none;color:var(--text)}.tft-head[data-astro-cid-j7pv25f6]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.tft-id[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.78rem;color:var(--muted);white-space:nowrap}.tft-hero[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:16px}.tft-emblem[data-astro-cid-j7pv25f6]{width:60px;height:60px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.tft-emblem[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:258px;max-width:none;height:auto}.tft-hero-text[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:3px}.tft-tier[data-astro-cid-j7pv25f6]{font-size:1.5rem;font-weight:700;line-height:1.05}.tft-lp[data-astro-cid-j7pv25f6]{font-size:.85rem;color:var(--muted)}.tft-label[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:var(--muted)}.tft-prev[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tft-prev-label[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.tft-chip[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.72rem;padding:3px 8px;border:1px solid var(--line);color:var(--muted)}.tft-chip[data-astro-cid-j7pv25f6] strong[data-astro-cid-j7pv25f6]{font-weight:700;color:var(--text)}.games-card[data-astro-cid-j7pv25f6]{grid-column:span 2;position:relative;min-height:200px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:24px 30px}.games-list[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:6px;padding:0 20px 0 90px;position:relative;z-index:2}.game-row[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:11px;padding:8px 0;text-decoration:none;color:var(--text);border-bottom:1px solid var(--line)}.game-row[data-astro-cid-j7pv25f6]:last-child{border-bottom:0}.game-emblem[data-astro-cid-j7pv25f6]{width:32px;height:32px;object-fit:contain;flex-shrink:0}.game-name[data-astro-cid-j7pv25f6]{font-size:.98rem;font-weight:600}.games-hero[data-astro-cid-j7pv25f6]{position:absolute;bottom:-30px;height:205px;width:auto;pointer-events:none;z-index:3}.games-hero[data-astro-cid-j7pv25f6].psylocke{right:-24px;bottom:-44px;-webkit-mask-image:linear-gradient(to left,#000 62%,transparent 93%);mask-image:linear-gradient(to left,#000 62%,transparent 93%)}.games-hero[data-astro-cid-j7pv25f6].jett{left:-30px;width:159px;height:205px;background-image:url(/logos/jett.png);background-size:418px auto;background-position:-150px -23px;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(to right,#000 85%,transparent 100%);mask-image:linear-gradient(to right,#000 85%,transparent 100%)}.lbxd-card[data-astro-cid-j7pv25f6]{grid-column:span 4;padding:24px}.lbxd-head[data-astro-cid-j7pv25f6]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.lbxd-more[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.8rem;color:var(--text);text-decoration:underline}.lbxd-strip[data-astro-cid-j7pv25f6]{display:flex;gap:12px;overflow-x:auto;padding:6px 2px}.lbxd-film[data-astro-cid-j7pv25f6]{position:relative;flex:0 0 auto;width:92px;aspect-ratio:2 / 3;overflow:hidden;border:1px solid var(--line);transition:transform .15s ease}.lbxd-film[data-astro-cid-j7pv25f6]:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--shadow)}.lbxd-film[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:100%;height:100%;object-fit:cover;display:block}.lbxd-rating[data-astro-cid-j7pv25f6]{position:absolute;left:5px;bottom:5px;padding:2px 5px;font-family:var(--font-mono);font-size:.62rem;font-weight:600;color:#fff;background:#000000bf}.stats-container[data-astro-cid-j7pv25f6]{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:1rem}.stat-item[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:.2rem}.stat-label[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500}.stat-value[data-astro-cid-j7pv25f6]{font-size:2rem;font-weight:700}.team-badges[data-astro-cid-j7pv25f6]{display:flex;gap:1rem}.team-badges[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{height:40px;width:auto;filter:grayscale(1);opacity:.65;transition:filter .2s ease,opacity .2s ease}.team-badges[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]:hover{filter:grayscale(0);opacity:1}@media(max-width:900px){.tft-card[data-astro-cid-j7pv25f6],.games-card[data-astro-cid-j7pv25f6],.lbxd-card[data-astro-cid-j7pv25f6],.yt-card[data-astro-cid-j7pv25f6]{grid-column:span 2}}@media(max-width:600px){.tft-card[data-astro-cid-j7pv25f6],.games-card[data-astro-cid-j7pv25f6],.lbxd-card[data-astro-cid-j7pv25f6],.yt-card[data-astro-cid-j7pv25f6],.travel-cell[data-astro-cid-j7pv25f6]{grid-column:span 1}.games-list[data-astro-cid-j7pv25f6]{padding:0}.games-hero[data-astro-cid-j7pv25f6]{opacity:.16}}.timeline[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:18px}.experience-card[data-astro-cid-j7pv25f6]{padding:28px}.card-header[data-astro-cid-j7pv25f6]{display:flex;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.logo-wrapper[data-astro-cid-j7pv25f6]{width:50px;height:50px;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:6px;flex-shrink:0}.company-logo[data-astro-cid-j7pv25f6]{width:100%;height:auto;object-fit:contain}.company-info[data-astro-cid-j7pv25f6]{display:flex;gap:1.25rem;align-items:center}.company-info[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1.3rem;font-weight:700;margin:0}.company-name[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-weight:500;font-size:.9rem;margin-top:4px;color:var(--muted)}.meta[data-astro-cid-j7pv25f6]{text-align:right}.period[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.85rem;font-weight:500;margin:0}.location[data-astro-cid-j7pv25f6]{color:var(--muted);font-size:.85rem;margin-top:4px}.achievements[data-astro-cid-j7pv25f6]{list-style:none;padding:0}.achievements[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]{color:var(--text);margin-bottom:.9rem;line-height:1.6;padding-left:1.4rem;position:relative;font-size:.95rem}.achievements[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]:before{content:"▪";position:absolute;left:0;top:0;color:var(--text)}.exp-pics[data-astro-cid-j7pv25f6]{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.exp-pics[data-astro-cid-j7pv25f6] summary[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:7px}.exp-pics[data-astro-cid-j7pv25f6] summary[data-astro-cid-j7pv25f6]::-webkit-details-marker{display:none}.exp-pics[data-astro-cid-j7pv25f6] summary[data-astro-cid-j7pv25f6]:hover{color:var(--text)}.exp-pics[data-astro-cid-j7pv25f6][open] summary[data-astro-cid-j7pv25f6]{margin-bottom:12px;color:var(--text)}.exp-pics-row[data-astro-cid-j7pv25f6]{display:flex;gap:12px;flex-wrap:wrap}.exp-pics-row[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{height:130px;width:auto;border:1px solid var(--line);box-shadow:3px 3px 0 0 var(--shadow);object-fit:cover}.dual-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start}.interactive-edu-card[data-astro-cid-j7pv25f6]{padding:20px;margin-bottom:16px}.edu-header[data-astro-cid-j7pv25f6]{display:flex;gap:1rem;align-items:center}.edu-logo-small[data-astro-cid-j7pv25f6]{width:46px;height:46px;background:var(--panel);border:1px solid var(--line);padding:6px;flex-shrink:0;object-fit:contain}.edu-info[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1.05rem;font-weight:700}.edu-info[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{font-size:.9rem;color:var(--muted)}.gpa-tag[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.68rem;border:1px solid var(--line);color:var(--text);padding:2px 8px;font-weight:500;display:inline-block;margin-left:6px}.course-list[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}.course-tag[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);padding:3px 10px;border:1px solid var(--line)}.edu-period[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);color:var(--muted);font-size:.8rem;margin-top:.9rem}.cert-list[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:12px}.cert-item-minimal[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:1rem;padding:14px 16px}.cert-icon-box[data-astro-cid-j7pv25f6]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cert-icon-box[data-astro-cid-j7pv25f6] i[data-astro-cid-j7pv25f6]{font-size:1.2rem;color:var(--text)}.cert-img[data-astro-cid-j7pv25f6]{width:100%;height:100%;object-fit:contain}.cert-text[data-astro-cid-j7pv25f6] h4[data-astro-cid-j7pv25f6]{font-size:.95rem;font-weight:600;margin:0}.cert-text[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.78rem;color:var(--muted);margin:2px 0 0}.skills-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skill-box[data-astro-cid-j7pv25f6]{padding:18px;display:flex;flex-direction:column;gap:12px}.skill-cat[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.skill-tags[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:8px}.skill-tag[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.75rem;padding:4px 9px;border:1px solid var(--line);color:var(--text)}.projects-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}.project-card[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.project-card[data-astro-cid-j7pv25f6]:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 0 var(--shadow)}.project-shot[data-astro-cid-j7pv25f6]{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg)}.project-shot[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.project-cat[data-astro-cid-j7pv25f6]{position:absolute;top:10px;right:10px;font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;background:var(--panel);border:1px solid var(--line);color:var(--text)}.project-body[data-astro-cid-j7pv25f6]{padding:18px;display:flex;flex-direction:column;flex:1}.project-body[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1.15rem;font-weight:700;margin-bottom:6px}.project-desc[data-astro-cid-j7pv25f6]{font-size:.88rem;line-height:1.55;color:var(--muted);margin-bottom:12px}.tech-row[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.tech-chip[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:.68rem;padding:2px 7px;border:1px solid var(--line);color:var(--muted)}.project-links[data-astro-cid-j7pv25f6]{display:flex;gap:8px;margin-top:auto}.btn-sm[data-astro-cid-j7pv25f6]{padding:6px 10px;font-size:.75rem;box-shadow:2px 2px 0 0 var(--shadow)}.writing-box[data-astro-cid-j7pv25f6]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;text-decoration:none;color:var(--text)}.writing-box[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1.1rem;font-weight:700}.writing-box[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{color:var(--muted);font-size:.9rem;margin-top:4px}.writing-arrow[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:1.6rem}.friends-list[data-astro-cid-j7pv25f6]{list-style:none;display:flex;flex-direction:column;gap:2px;max-width:640px}.friend-row[data-astro-cid-j7pv25f6]{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.friend-row[data-astro-cid-j7pv25f6]:last-child{border-bottom:0}.friend-link[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-weight:600;font-size:1.05rem;color:var(--text);text-decoration:underline;text-underline-offset:3px}.friend-link[data-astro-cid-j7pv25f6]:hover{color:var(--link-blue)}.friend-note[data-astro-cid-j7pv25f6]{color:var(--muted);font-size:.85rem;opacity:0;transform:translate(-4px);transition:opacity .15s ease,transform .15s ease}.friend-row[data-astro-cid-j7pv25f6]:hover .friend-note[data-astro-cid-j7pv25f6]{opacity:1;transform:translate(0)}.friends-empty[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);color:var(--muted);font-size:.9rem}.photo-grid[data-astro-cid-j7pv25f6]{columns:3 240px;column-gap:16px}.photo-item[data-astro-cid-j7pv25f6]{position:relative;break-inside:avoid;margin:0 0 16px;background:var(--panel);border:1px solid var(--line);box-shadow:5px 5px 0 0 var(--shadow);overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.photo-item[data-astro-cid-j7pv25f6]:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 0 var(--shadow)}.photo-item[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:100%;display:block}.photo-cap[data-astro-cid-j7pv25f6]{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;font-family:var(--font-mono);font-size:.74rem;color:#fff;background:linear-gradient(transparent,#000000d1);opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.photo-item[data-astro-cid-j7pv25f6]:hover .photo-cap[data-astro-cid-j7pv25f6]{opacity:1;transform:translateY(0)}@media(max-width:780px){.photo-grid[data-astro-cid-j7pv25f6]{columns:2 150px}.intro-box[data-astro-cid-j7pv25f6]{grid-template-columns:1fr}.intro-photo-wrap[data-astro-cid-j7pv25f6]{order:-1}.intro-photo[data-astro-cid-j7pv25f6]{max-width:220px;margin:0 auto}.dual-grid[data-astro-cid-j7pv25f6],.skills-grid[data-astro-cid-j7pv25f6]{grid-template-columns:1fr}.card-header[data-astro-cid-j7pv25f6]{flex-direction:column}.meta[data-astro-cid-j7pv25f6]{text-align:left}}
