:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--bg-alt:#1c1c1e;--bg-raised:#1c1c1e;--border:#ffffff24;--text:#f5f5f7;--text-dim:#98989d;--accent:#2997ff;--accent-hover:#55a9ff;--accent-rgb:41, 151, 255;--green:#30d158;--green-bg:#30d15829;--orange:#ffb340;--orange-bg:#ff9f0a2e;--purple:#bf5af2;--purple-bg:#bf5af22e;--teal:#40c8e0;--teal-bg:#40c8e029;--radius-xs:4px;--radius-sm:8px;--radius:18px;--radius-lg:26px;--radius-pill:980px;--radius-icon:22.5%;--max-width:1024px;--space-4:4px;--space-8:8px;--space-12:12px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--space-96:96px;--gutter:var(--space-24);--grid-gap:var(--space-20);--space-section:88px;--pad-surface:var(--space-24);--gap-columns:var(--space-48);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ease-spring:cubic-bezier(.32, .72, 0, 1);--bloom-1:#38bdf84d;--bloom-2:#f973163d;--chip-bg:#ffffff14;--flat-tint:#ffffff0f;--flat-tint-hover:#ffffff1a;--glass-fill:#ffffff12;--glass-fill-strong:#1c1c1ef5;--glass-border:#ffffff1f;--glass-highlight:#ffffff1a;--glass-shadow:0 10px 34px #0000008c, 0 1px 2px #0000004d;--glass-shadow-hover:0 16px 44px #0009, 0 1px 2px #00000052;--glass-blur:blur(22px) saturate(180%)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;position:relative;overflow-x:hidden}body:before,body:after{content:"";filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;position:fixed}body:before{background:radial-gradient(circle, var(--bloom-1), #38bdf800 70%);width:520px;height:520px;top:-180px;left:-140px}body:after{background:radial-gradient(circle, var(--bloom-2), #f9731600 70%);width:640px;height:640px;top:22vh;right:-180px}h1,h2,h3,h4,.intro-heading{text-wrap:balance}p,li{text-wrap:pretty}::selection{background:rgba(var(--accent-rgb), .35);color:#fff}@view-transition{navigation:auto}header.site-header{view-transition-name:site-header}::view-transition-old(root){animation-duration:.25s}::view-transition-new(root){animation-duration:.25s}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.card:focus-visible{outline-offset:2px}.wrap{max-width:var(--max-width);padding:0 var(--gutter);z-index:1;margin:0 auto;position:relative}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}header.site-header{z-index:20;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);padding:var(--space-14) 0;transition:box-shadow .3s var(--ease-spring), border-color .3s var(--ease-spring);position:sticky;top:0}header.site-header.is-condensed{box-shadow:inset 0 1px 0 var(--glass-highlight), 0 8px 24px #00000047;border-bottom-color:#fff3}header.site-header .wrap{justify-content:space-between;align-items:center;gap:var(--space-16);flex-wrap:wrap;display:flex}.brand{letter-spacing:-.01em;color:var(--text);font-size:.95rem;font-weight:600}.brand:hover{opacity:.7;text-decoration:none}.brand .dim{color:var(--text-dim);font-weight:400}.nav-group{align-items:center;gap:var(--space-24);display:flex}nav.site-nav{gap:var(--space-24);font-size:.85rem;display:flex}nav.site-nav a{color:var(--text-dim);padding-bottom:2px;position:relative}nav.site-nav a.active,nav.site-nav a:hover{color:var(--text);text-decoration:none}nav.site-nav a:after{content:"";transform-origin:0;height:1px;transition:transform .25s var(--ease-spring);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}nav.site-nav a.active:after,nav.site-nav a:hover:after{transform:scaleX(1)}main{padding:var(--space-64) 0 var(--space-96);z-index:1;min-height:60vh;position:relative}footer.site-footer{border-top:1px solid var(--border);padding:var(--space-32) 0;color:var(--text-dim);z-index:1;font-size:.8rem;position:relative}footer.site-footer .wrap{justify-content:space-between;gap:var(--space-12) var(--space-24);flex-wrap:wrap;display:flex}.site-footer-links{gap:var(--space-16);flex-wrap:wrap;display:flex}.site-footer-links a{color:var(--text-dim)}.site-footer-links a:hover{color:var(--text)}.hero{padding:var(--space-40) 0 var(--space-8)}.hero h1{margin:0 0 var(--space-16);letter-spacing:-.02em;font-size:clamp(2.25rem,6vw,3.5rem);font-weight:600;line-height:1.08}.hero p.lede{color:var(--text-dim);max-width:52ch;margin:0 0 var(--space-32);font-size:1.2rem;font-weight:400;line-height:1.5}.button{align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-24);border-radius:var(--radius-pill);background:linear-gradient(rgba(var(--accent-rgb), .82), rgba(var(--accent-rgb), .72));-webkit-backdrop-filter:var(--glass-blur);color:#fff;box-shadow:inset 0 1px 0 #ffffff8c, 0 6px 18px rgba(var(--accent-rgb), .28);transition:transform .22s var(--ease-spring), box-shadow .22s var(--ease-spring);border:1px solid #ffffff59;font-size:1rem;font-weight:500;display:inline-flex}@media (hover:hover){.button:hover{color:#fff;box-shadow:inset 0 1px 0 #fff9, 0 10px 24px rgba(var(--accent-rgb), .34);text-decoration:none;transform:translateY(-1px)}}.button:not(:disabled):active{transition-duration:.1s;transform:scale(.97)}.button.secondary{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);color:var(--text);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight)}@media (hover:hover){.button.secondary:hover{background:var(--glass-fill);border-color:var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight), 0 6px 16px #00000014;transform:translateY(-1px)}}button.button{cursor:pointer;font-family:inherit}button.button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none}.card .button,.featured-cta .button,.app-detail-side .button,.work-cta .button{-webkit-backdrop-filter:none;background:rgba(var(--accent-rgb), .12);color:var(--accent);border:1px solid rgba(var(--accent-rgb), .22);box-shadow:none}.card .button:hover,.featured-cta .button:hover,.app-detail-side .button:hover,.work-cta .button:hover{background:rgba(var(--accent-rgb), .18);color:var(--accent);box-shadow:none;transform:none}.card .button.secondary,.featured-cta .button.secondary,.app-detail-side .button.secondary,.work-cta .button.secondary{background:var(--flat-tint);color:var(--text-dim);border:1px solid var(--glass-border)}.card .button.secondary:hover,.featured-cta .button.secondary:hover,.app-detail-side .button.secondary:hover,.work-cta .button.secondary:hover{background:var(--flat-tint-hover);border-color:var(--glass-border)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){header.site-header,.button.secondary,.profile-card,.featured,.card,.app-detail-side{background:var(--glass-fill-strong)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.button{background:var(--accent)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (prefers-reduced-transparency:reduce){header.site-header,.button.secondary,.profile-card,.featured,.card,.app-detail-side{background:var(--glass-fill-strong)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.button{background:var(--accent)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}.button-row{gap:var(--space-14);flex-wrap:wrap;align-items:center;display:flex}.chevron{transition:transform .22s var(--ease-spring);display:inline-block}.button:hover .chevron{transform:translate(3px)}.back-link:hover .chevron{transform:translate(-3px)}.kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 var(--space-14);font-size:.78rem;font-weight:600}.featured{margin-top:var(--space-section);align-items:center;gap:var(--space-24);background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow);padding:var(--pad-surface);flex-wrap:wrap;display:flex}.featured[hidden]{display:none}.featured-icon{border-radius:var(--radius-icon);object-fit:cover;flex-shrink:0;width:64px;height:64px;box-shadow:inset 0 1px #ffffff59,0 4px 12px #00000024}.featured-body{flex:1;min-width:200px}.featured-eyebrow{text-transform:uppercase;letter-spacing:.04em;padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);background:var(--orange-bg);color:var(--orange);margin:0 0 var(--space-8);font-size:.68rem;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff80}.featured h3{margin:0 0 var(--space-4);font-size:1.2rem;font-weight:600}.featured p{color:var(--text-dim);margin:0;font-size:.95rem}.feature-grid{gap:var(--space-32);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.feature{gap:var(--space-14);flex-direction:column;display:flex}.feature-icon{border-radius:var(--radius-icon);background:var(--bg-alt);width:44px;height:44px;color:var(--accent);justify-content:center;align-items:center;display:flex}.feature h4{margin:0;font-size:1.02rem;font-weight:600}.feature p{color:var(--text-dim);margin:0;font-size:.92rem;line-height:1.5}.hero-grid{gap:var(--gap-columns);grid-template-columns:300px 1fr;align-items:start;display:grid}.profile-card{background:var(--bg-raised);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow);padding:var(--pad-surface);text-align:center;flex-direction:column;align-items:center;display:flex;position:relative;top:-32px}.profile-photo{object-fit:cover;width:116px;height:116px;margin-bottom:var(--space-16);border:3px solid #fffc;border-radius:50%;box-shadow:0 4px 14px #0000001f}.profile-name{margin:0;font-size:1.1rem;font-weight:600}.profile-role{margin:var(--space-4) 0 0;color:var(--accent);font-size:.88rem;font-weight:500}.profile-location{margin:var(--space-4) 0 var(--space-14);color:var(--text-dim);font-size:.82rem}.profile-bio{margin:0 0 var(--space-20);color:var(--text-dim);font-size:.88rem;line-height:1.5}.profile-social{gap:var(--space-16);display:flex}.profile-social a{color:var(--text-dim);transition:color .18s var(--ease-spring), transform .18s var(--ease-spring);display:inline-flex}@media (hover:hover){.profile-social a:hover{color:var(--accent);transform:translateY(-2px)}}@media (width<=720px){.hero-grid{grid-template-columns:1fr}.profile-card{justify-self:center;max-width:320px;top:0}}.profile-card.flying-card{box-shadow:none;-webkit-backdrop-filter:none;z-index:20;pointer-events:none;will-change:transform, opacity;background:0 0;border-color:#0000;margin:0;position:fixed;top:0;left:0}.profile-card.flying-card>*{will-change:opacity, transform;transition:none}.fc-chrome{z-index:-1;border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow);opacity:0;position:absolute;inset:0;overflow:hidden}.flying-card .profile-social a{will-change:opacity, transform;transition:none}.sheen-band{opacity:0;pointer-events:none;will-change:transform, opacity;background:linear-gradient(90deg,#0000 0%,#ffffff21 50%,#0000 100%);width:40%;position:absolute;top:-10%;bottom:-10%;left:0;transform:translate(-100%)}#apps{scroll-margin-top:96px}section{margin-top:var(--space-section)}section:not(:has(h2))+section:not(:has(h2)){margin-top:var(--grid-gap)}.featured:not([hidden])+section{margin-top:var(--grid-gap)}section h2,.apps-heading{margin:0 0 var(--space-20);letter-spacing:-.015em;font-size:2rem;font-weight:600}.apps-heading{margin-top:var(--space-section)}.apps-heading+.featured,.apps-heading+section,.apps-heading+.featured[hidden]+section{margin-top:0}.grid{gap:var(--grid-gap);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.card{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow);padding:var(--pad-surface);gap:var(--space-14);color:var(--text);transition:transform .22s var(--ease-spring), box-shadow .22s var(--ease-spring), border-color .22s var(--ease-spring);flex-direction:column;display:flex}@media (hover:hover){.card:hover{border-color:rgba(var(--accent-rgb), .35);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-hover);text-decoration:none;transform:translateY(-3px)}}.card-head{align-items:center;gap:var(--space-14);display:flex}.card .icon{transition:transform .22s var(--ease-spring);font-size:2rem;display:inline-block}.card-head img.icon-img{border-radius:var(--radius-icon);width:56px;height:56px;transition:transform .22s var(--ease-spring);flex-shrink:0;box-shadow:inset 0 1px #ffffff4d,0 4px 12px #0000004d}@media (hover:hover){.card:hover .icon,.card:hover .icon-img{transform:scale(1.05)}}.card-title{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.card h3{margin:0;font-size:1.05rem;font-weight:600;line-height:1.25}.card-subtitle{color:var(--text-dim);margin:0;font-size:.85rem}.card .badge{margin-top:-2px}.card p{color:var(--text-dim);margin:0;font-size:.92rem;line-height:1.45}.card-actions{gap:var(--space-12);padding-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin-top:auto;display:grid}.card-actions .button{padding:var(--space-8) var(--space-16);white-space:nowrap;justify-content:center;font-size:.9rem}.card-actions button.button:disabled{opacity:1;color:var(--text-dim);border-style:dashed;border-color:var(--glass-border);background:0 0}.badge{text-transform:uppercase;letter-spacing:.04em;padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);background:var(--bg-alt);color:var(--text-dim);border:none;align-self:flex-start;font-size:.68rem;font-weight:600;display:inline-block;box-shadow:inset 0 1px #ffffff80}.badge.dev{color:var(--purple);background:var(--purple-bg)}.badge.live{color:var(--green);background:var(--green-bg)}.badge.concept{color:var(--orange);background:var(--orange-bg)}.badge.beta{color:var(--accent);background:rgba(var(--accent-rgb), .18)}.badge.planning{color:var(--orange);background:var(--orange-bg)}.badge.discovery{color:var(--teal);background:var(--teal-bg)}.badge.example{color:var(--text-dim);background:var(--bg-alt)}.app-detail{flex-direction:column;gap:0;display:flex}.app-detail-head{align-items:center;gap:var(--space-24);padding-bottom:var(--space-32);margin-bottom:var(--space-32);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.app-detail .icon-lg{border-radius:var(--radius-icon);background:linear-gradient(160deg, rgba(var(--accent-rgb), .28), rgba(var(--accent-rgb), .06) 70%), var(--bg-alt);border:1px solid var(--glass-border);flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;font-size:3rem;display:flex;box-shadow:inset 0 1px #ffffff80,0 4px 12px #00000014}.app-detail img.icon-lg{object-fit:cover;background:0 0;display:block}.app-detail-meta h1{margin:0 0 var(--space-8)}.app-detail-meta p.lede{margin:0}.app-detail-meta .badge{margin-bottom:var(--space-8)}.app-detail-description{color:var(--text);max-width:52ch;margin:0;font-size:1.1rem;line-height:1.6}.app-detail-body{gap:var(--gap-columns);grid-template-columns:1fr 240px;align-items:start;display:grid}.app-detail-side{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow);padding:var(--pad-surface);gap:var(--space-24);flex-direction:column;display:flex}.app-detail-side h4{margin:0 0 var(--space-12);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:.72rem;font-weight:600}.app-detail-side .button{text-align:center;width:100%;padding:var(--space-12) var(--space-16);justify-content:center}.app-detail-side button.button:disabled{opacity:1;color:var(--text-dim);border-style:dashed;border-color:var(--glass-border);background:0 0}.app-detail-side .back-link{align-items:center;gap:var(--space-8);color:var(--text-dim);font-size:.9rem;display:inline-flex}.app-detail-side .back-link:hover{color:var(--text);text-decoration:none}.app-detail .platforms{gap:var(--space-8);flex-wrap:wrap;display:flex}@media (width<=640px){.app-detail-body{grid-template-columns:1fr}}.skeleton-block{background:linear-gradient(100deg, var(--glass-fill) 40%, #ffffff24 50%, var(--glass-fill) 60%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-icon{border-radius:var(--radius-icon);flex-shrink:0;width:88px;height:88px}.skeleton-line{max-width:100%;height:.95rem;margin:10px 0}.skeleton-line-badge{border-radius:var(--radius-pill);width:90px;height:.85rem;margin:0 0 var(--space-8)}.skeleton-line-title{width:55%;height:1.6rem}.skeleton-line-lede{width:75%}.skeleton-line-short{width:60%}.skeleton-cta{border-radius:var(--radius-pill);height:40px}@media (prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.chip{color:var(--text-dim);background:var(--chip-bg);border:1px solid var(--glass-border);padding:calc(var(--space-4) - 1px) calc(var(--space-12) - 1px);border-radius:var(--radius-pill);font-size:.8rem}.empty-state{color:var(--text-dim);padding:var(--space-40) 0}.reveal{opacity:0;transition:opacity .6s var(--ease-spring), transform .6s var(--ease-spring);transform:translateY(20px)}.reveal.in-view{opacity:1;transform:translateY(0)}.grid .reveal:nth-child(2){transition-delay:60ms}.grid .reveal:nth-child(3){transition-delay:.12s}.grid .reveal:nth-child(4){transition-delay:.18s}.grid .reveal:nth-child(5){transition-delay:.24s}.grid .reveal:nth-child(6){transition-delay:.3s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}
