.xp{--ground:#131517;--ink:#e6e1d6;--muted:#8b8f8c;--hair:#34383a;--cell:#1b1f22;--accent:var(--sr-accent,#6e6c4a);--ease:cubic-bezier(.23, 1, .32, 1);background:var(--ground);min-height:100dvh;color:var(--ink);padding:clamp(92px,12vh,140px) clamp(18px,5vw,72px) clamp(72px,12vh,132px)}.xp-inner{border:1px solid var(--hair);max-width:940px;margin:0 auto}.xp h1,.xp h2{-webkit-text-fill-color:currentColor;color:var(--ink);font-family:var(--font-gambetta), Georgia, serif;background:0 0;-webkit-background-clip:border-box;background-clip:border-box}.xp-head{border-bottom:1px solid var(--hair);background:var(--cell);padding:clamp(28px,4vw,52px)}.xp-meta{font-family:var(--font-spline-sans-mono), ui-monospace, monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);align-items:baseline;gap:14px;margin-bottom:18px;font-size:10px;display:flex}.xp-meta .yr{color:var(--muted)}.xp h1{letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(38px,5.6vw,68px);font-weight:700;line-height:1.02}.xp .lede{font-family:var(--font-general-sans), sans-serif;color:var(--ink);text-wrap:pretty;max-width:48ch;margin:0;font-size:clamp(16px,1.5vw,19px);line-height:1.6}.xp-go{flex-direction:column;align-items:flex-start;gap:16px;margin-top:26px;display:flex}.xp-go a{font-family:var(--font-spline-sans-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:linear-gradient(var(--accent), var(--accent)) no-repeat left bottom / 0% 2px;transition:background-size .28s var(--ease), color .2s ease;white-space:nowrap;padding-bottom:4px;font-size:11px;text-decoration:none}.xp-go a:hover,.xp-go a:focus-visible{color:var(--accent);background-size:100% 2px}.xp-go .note{font-family:var(--font-spline-sans-mono), ui-monospace, monospace;letter-spacing:.01em;color:var(--muted);max-width:54ch;font-size:11.5px;line-height:1.75}.xp-media{border-bottom:1px solid var(--hair);margin:0}.xp-frame{aspect-ratio:16/9;background:#0f1113;display:block;position:relative;overflow:hidden}.xp-frame.fit-contain{background:radial-gradient(120% 90% at 50% 42%,#1e2226 0%,#15181a 58%,#0f1113 100%)}.xp-frame video,.xp-frame img{filter:saturate(.72)brightness(.82);width:100%;height:100%;transition:filter .52s var(--ease), transform .62s var(--ease);display:block;position:absolute;inset:0}.xp-frame.fit-cover video,.xp-frame.fit-cover img{object-fit:cover}.xp-frame.fit-contain video,.xp-frame.fit-contain img{object-fit:contain;padding:clamp(10px,1.6vw,22px) 0}.xp-frame.on video,.xp-frame.on img{filter:none;transform:scale(1.012)}.xp-frame:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.xp-media figcaption{font-family:var(--font-spline-sans-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--hair);background:var(--cell);padding:12px clamp(28px,4vw,52px);font-size:10px}.xp-showcase{border-bottom:1px solid var(--hair)}.xp-cell{padding:clamp(28px,4vw,52px)}.xp-cell+.xp-cell{border-top:1px solid var(--hair)}.xp h2{letter-spacing:-.012em;margin:0 0 22px;font-size:clamp(21px,2vw,27px);font-weight:700;line-height:1.12}.xp-prose p{font-family:var(--font-general-sans), sans-serif;color:var(--ink);text-wrap:pretty;max-width:62ch;margin:0;font-size:16px;line-height:1.72}.xp-prose p+p{margin-top:1.05em}.xp-tech{margin:0}.xp-tech>div{grid-template-columns:minmax(160px,22%) minmax(0,1fr);gap:clamp(16px,3vw,40px);padding:18px 0;display:grid}.xp-tech>div+div{border-top:1px solid color-mix(in srgb, var(--hair) 70%, transparent)}.xp-tech>div:first-child{padding-top:0}.xp-tech>div:last-child{padding-bottom:0}.xp-tech dt{font-family:var(--font-spline-sans-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:11px;line-height:1.6}.xp-tech dd{font-family:var(--font-general-sans), sans-serif;color:var(--muted);text-wrap:pretty;max-width:62ch;margin:0;font-size:15px;line-height:1.68}@media (max-width:720px){.xp-tech>div{grid-template-columns:1fr;gap:8px}.xp-frame video,.xp-frame img{filter:none}}@media (prefers-reduced-motion:reduce){.xp-frame video,.xp-frame img{transition-duration:1ms}.xp-frame.on video,.xp-frame.on img{transform:none}}
