:root{--bg:#0d0d0f;--fg:#f4f4f2;--muted:#a1a1aa;--card:#1a1a1d;--card-strong:#1a1a1d;--card-fg:#f7f7f4;--card-muted:#d4d4dc;--badge-bg:#0f0f1294;--badge-fg:#fff;--border:#ffffff24;--accent:#7c8cff;--focus:#96a6ffb8;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--radius:22px}@media (prefers-color-scheme:light){:root{--bg:#f7f7f5;--fg:#16161a;--muted:#5a5a63;--card:#fffffceb;--card-strong:#fff;--card-fg:#18181c;--card-muted:#51525b;--badge-bg:#fffffcbd;--badge-fg:#17171a;--border:#23231e17;--accent:#4f5bd5;--focus:#4252ca85}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);min-height:100svh;color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.site-background{z-index:0;pointer-events:none;background:#394651;position:fixed;inset:0;overflow:hidden}.site-background__image{object-fit:cover;transform:scale(1.005)}.site-background__scrim{background:linear-gradient(#070a0e1f,#070a0e42),radial-gradient(circle at 50% 18%,#0000 20%,#070a0e1a);position:absolute;inset:0}.page{z-index:1;max-width:1040px;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) clamp(1.4rem,4vw,2.5rem) 6rem;position:relative}.masthead{text-align:center;margin-bottom:clamp(2.5rem,6vw,4.5rem)}.wordmark{letter-spacing:-.02em;color:#fff;text-shadow:0 2px 24px #0000006b;margin:0;font-size:clamp(2.6rem,9.5vw,4.6rem);font-weight:700;line-height:1}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(1.3rem,3vw,2.15rem);display:grid}@media (min-width:720px){.grid{grid-template-columns:repeat(2,1fr)}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--card-fg);transition:transform .18s var(--ease-out), border-color .18s ease, box-shadow .18s ease, background-color .18s ease;-webkit-backdrop-filter:blur(18px)saturate(150%);will-change:transform;outline:0;flex-direction:column;gap:.8rem;padding:.65rem;text-decoration:none;display:flex;overflow:hidden;transform:translateY(0)scale(1);box-shadow:inset 0 1px #ffffff2e,0 14px 34px #06080c2e}.card:not(.card--static):active{transition-duration:.1s;transform:translateY(0)scale(.985)}.card:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, white);box-shadow:0 0 0 4px var(--focus), 0 1px 0 #ffffff94 inset, 0 16px 38px #06080c38}.card-media{aspect-ratio:1.9;background:linear-gradient(135deg,#2a2a30,#16161a);border-radius:16px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff47,0 8px 18px #07080c1f}@media (max-width:640px){.card-media{aspect-ratio:1.72}}.card-img{object-fit:cover}.card-placeholder{color:#ffffffd1;letter-spacing:-.035em;background:radial-gradient(circle at 28% 24%,#ffffff1a,#0000 38%),linear-gradient(135deg,#30313a,#17181d);justify-content:center;align-items:center;font-size:clamp(1.5rem,4vw,2.2rem);font-weight:700;display:flex;position:absolute;inset:0}.open-badge{background:var(--badge-bg);width:1.85rem;height:1.85rem;color:var(--badge-fg);-webkit-backdrop-filter:blur(10px)saturate(160%);opacity:0;transition:opacity .16s ease, transform .18s var(--ease-out), background-color .16s ease;pointer-events:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:.6rem;right:.6rem;transform:translateY(-2px)scale(.97)}.open-badge svg{width:1rem;height:1rem}.card:focus-visible .open-badge{opacity:1;transform:translateY(0)scale(1)}@media (hover:hover) and (pointer:fine){.card:not(.card--static):hover{transform:translateY(-4px)scale(1);box-shadow:0 22px 44px #06080c42}.card:hover .open-badge{opacity:1;transform:translateY(0)scale(1)}}@media (hover:none),(pointer:coarse){.open-badge{opacity:.92;transform:translateY(0)scale(1)}}.card-body{padding:.1rem .55rem .45rem}.card-title{color:var(--card-fg);letter-spacing:-.01em;margin:0 0 .45rem;font-size:1.03rem;font-weight:700;line-height:1.2}.card-tagline{color:var(--card-muted);margin:0;font-size:.9rem;line-height:1.42}@media (prefers-color-scheme:dark){.card{color:var(--fg);box-shadow:inset 0 1px #ffffff1f,0 18px 42px #0000005c}.card-title{color:#f7f7f4}.card-tagline{color:#d4d4dc}}@media (prefers-reduced-motion:reduce){.card,.open-badge{transition:opacity .12s,border-color .12s,box-shadow .12s,background-color .12s}.card,.card:hover,.card:active,.open-badge{transform:none}}@media (prefers-reduced-transparency:reduce){.card{background:var(--card-strong);-webkit-backdrop-filter:none}}
