:root{color-scheme:light dark;--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg: #ffffff;--bg-tint: #f6f7f8;--surface: #ffffff;--text: #0f1115;--text-soft: #41474f;--text-muted: #767d86;--border: #e3e5e8;--border-strong: #c9cdd2;--accent: #1f4fe0;--accent-hover: #173cae;--accent-tint: rgba(31, 79, 224, 0.07);--on-accent: #ffffff;--wrap: 66rem;--prose: 44rem}@media (prefers-color-scheme: dark){:root{--bg: #0b0d10;--bg-tint: #12151a;--surface: #0f1216;--text: #e6e9ed;--text-soft: #a8b0ba;--text-muted: #79828d;--border: #20252b;--border-strong: #2d343c;--accent: #6f9bff;--accent-hover: #93b4ff;--accent-tint: rgba(111, 155, 255, 0.12);--on-accent: #0b0d10}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-0.02em;line-height:1.2;text-wrap:balance}p{margin:0 0 1.15em}img{max-width:100%;height:auto}a{color:var(--accent);text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-underline-offset:3px;transition:color 0.15s ease, text-decoration-color 0.15s ease}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}svg{width:1em;height:1em;fill:currentColor;flex:none}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:1.5rem}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:0.7rem 1.1rem;background:var(--surface);border:1px solid var(--border-strong)}.skip-link:focus{left:1rem;top:1rem}.nav{position:sticky;top:0;z-index:40;background:var(--bg);background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid transparent;transition:border-color 0.2s ease}.nav.is-stuck{border-bottom-color:var(--border)}.nav__inner{max-width:var(--wrap);margin-inline:auto;padding:0.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav__brand,.nav__links a{font-family:var(--font-mono);font-size:0.82rem;font-weight:400;text-transform:lowercase;letter-spacing:0.01em;text-decoration:none}.nav__brand{color:var(--text);opacity:0;transform:translateY(-4px);transition:opacity 0.25s ease, transform 0.25s ease;pointer-events:none}.nav.is-stuck .nav__brand{opacity:1;transform:none;pointer-events:auto}.nav__links{display:flex;align-items:center;gap:1.5rem;margin-left:auto}.nav__links a{color:var(--text-soft)}.nav__links a:hover{color:var(--accent)}.hero{padding:clamp(3rem, 9vw, 6rem) 0 clamp(2.5rem, 6vw, 4rem);border-bottom:1px solid var(--border)}.hero__inner{display:flex;flex-direction:column;align-items:flex-start}.hero__avatar{width:96px;height:96px;object-fit:cover;border:1px solid var(--border-strong);margin-bottom:1.5rem}.hero__name{font-size:clamp(2.1rem, 6vw, 3.1rem);font-weight:600;letter-spacing:-0.035em}.hero__role{margin:0.7rem 0 0;color:var(--text-soft);font-family:var(--font-mono);font-size:0.85rem}.hero__role .sep{margin:0 0.55em;color:var(--border-strong)}.hero__tagline{max-width:36rem;margin:1.1rem 0 0;color:var(--text-muted);font-size:1.02rem;text-wrap:pretty}.hero__meta{display:flex;flex-wrap:wrap;gap:0.5rem 1.5rem;list-style:none;margin:1.4rem 0 0;padding:0;font-family:var(--font-mono);font-size:0.85rem;color:var(--text-muted)}.hero__meta li{display:inline-flex;align-items:center;gap:0.45rem}.hero__meta svg{opacity:0.8}.hero__meta a{color:inherit;text-decoration:none}.hero__meta a:hover{color:var(--accent)}.hero__actions{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:2rem}.btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.55rem 1.05rem;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-soft);font-family:var(--font-mono);font-size:0.8rem;font-weight:400;line-height:1.4;text-transform:lowercase;text-decoration:none;transition:color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease}.btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}.btn--primary,.btn--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--sm{padding:0.42rem 0.9rem;font-size:0.76rem}.btn__arrow{transition:transform 0.15s ease}.btn:hover .btn__arrow{transform:translateX(2px)}.section{padding:clamp(2.5rem, 6vw, 4.5rem) 0}.section__title{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;color:var(--text-muted);font-family:var(--font-mono);font-size:0.8rem;font-weight:400;text-transform:lowercase;letter-spacing:0}.section__title span::before{content:"// ";color:var(--accent)}.section__title::after{content:"";flex:1;height:1px;background:var(--border)}.prose{max-width:var(--prose);color:var(--text-soft);font-size:1.075rem}.prose>:last-child{margin-bottom:0}.prose strong{color:var(--text);font-weight:600}.prose hr{border:0;border-top:1px solid var(--border);margin:2em 0}.chips{display:flex;flex-wrap:wrap;gap:0.4rem;list-style:none;margin:1.1rem 0 0;padding:0}.chips li{padding:0.2rem 0.6rem;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:0.72rem;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(23rem, 1fr));gap:0;counter-reset:card}.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);margin:0 -1px -1px 0;overflow:hidden;transition:background-color 0.2s ease}.card:hover{background:var(--bg-tint)}.card__figure{background:#fff;border-bottom:1px solid var(--border);aspect-ratio:16 / 10;padding:0.75rem;overflow:hidden;display:grid;grid-template:minmax(0, 1fr)/minmax(0, 1fr)}.card__figure img{width:100%;height:100%;object-fit:contain}.card__body{display:flex;flex-direction:column;flex:1;padding:1.35rem 1.4rem 1.5rem}.card__flag{margin:0 0 0.6rem;color:var(--accent);font-family:var(--font-mono);font-size:0.72rem;text-transform:lowercase}.card__title{font-size:1.13rem;letter-spacing:-0.015em}.card__title::before{counter-increment:card;content:counter(card,decimal-leading-zero);display:block;margin-bottom:0.5rem;color:var(--accent);font-family:var(--font-mono);font-size:0.75rem;font-weight:400;letter-spacing:0}.card__summary{margin:0.65rem 0 0;color:var(--text-muted);font-size:0.945rem;line-height:1.6;text-wrap:pretty}.card__actions{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:auto;padding-top:1.4rem}.card--featured .card__figure{aspect-ratio:16 / 9}@media (min-width: 56rem){.card--featured{grid-column:1 / -1}.card--featured .card__figure{padding:1.25rem}.card--featured .card__body{padding:1.9rem 2.1rem 2.1rem}.card--featured .card__title{font-size:1.4rem}.card--featured .card__summary{max-width:46rem;font-size:1rem}}.stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1.4rem 0 0;padding:1rem 0 0;border-top:1px solid var(--border)}.stat dt{color:var(--text-muted);font-family:var(--font-mono);font-size:0.7rem;text-transform:lowercase}.stat dd{margin:0.15rem 0 0;color:var(--text);font-size:1.3rem;font-weight:600;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}.footer{border-top:1px solid var(--border);padding:2rem 0 2.5rem;color:var(--text-muted);font-family:var(--font-mono);font-size:0.78rem}.footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem 1.5rem}.footer p{margin:0}.footer__links{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none;margin:0;padding:0}.footer__links a{color:var(--text-muted);text-decoration:none}.footer__links a:hover{color:var(--accent)}.js .reveal{opacity:0;transform:translateY(14px);transition:opacity 0.5s ease, transform 0.5s ease}.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important}.js .reveal{opacity:1;transform:none}}@media (max-width: 40rem){.nav__links{gap:1.1rem}.grid{grid-template-columns:1fr}.stats{gap:1.1rem}.stat dd{font-size:1.15rem}}
