@font-face{font-family: "Geist";src: url("/assets/fonts/Geist-Variable.woff2") format("woff2");font-weight: 100 900;font-style: normal;font-display: swap}@font-face{font-family: "Geist Mono";src: url("/assets/fonts/GeistMono-Variable.woff2") format("woff2");font-weight: 100 900;font-style: normal;font-display: swap}:root{color-scheme: light dark;--font-sans: "Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono: "Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--bg: light-dark(#FBFBFD,#0B0D12);--bg-elev: light-dark(#FFFFFF,#12151C);--bg-sunken: light-dark(#F2F3F6,#171B23);--ink: light-dark(#0B0C0F,#ECEEF3);--ink-2: light-dark(#30343E,#C9CDD6);--muted: light-dark(#5B6070,#9AA1B2);--line: light-dark(#E3E5EB,#232834);--line-strong: light-dark(#CDD1DA,#343A4A);--accent: light-dark(#1A5FB4,#78B0F5);--accent-hover: light-dark(#154E95,#9AC4F8);--accent-ink: light-dark(#FFFFFF,#06121F);--accent-soft: light-dark(#E7F0FB,#0F2238);--new: light-dark(#B4410B,#FDBA74);--new-soft: light-dark(#FFEDD5,#3A1D0B);--glass: light-dark(rgb(251 251 253 / .72),rgb(11 13 18 / .66));--glass-strong:light-dark(rgb(255 255 255 / .82),rgb(22 26 34 / .78));--shadow-sm: 0 1px 2px light-dark(rgb(16 24 40 / .05),rgb(0 0 0 / .4));--shadow-md: 0 1px 2px light-dark(rgb(16 24 40 / .04),rgb(0 0 0 / .3)),0 12px 32px -8px light-dark(rgb(16 24 40 / .12),rgb(0 0 0 / .5));--shadow-lg: 0 2px 4px light-dark(rgb(16 24 40 / .04),rgb(0 0 0 / .3)),0 30px 60px -20px light-dark(rgb(16 24 40 / .25),rgb(0 0 0 / .7));--code-bg: light-dark(#F6F7F9,#0F1218);--code-ink: light-dark(#1F2329,#DCDFE6);--code-k: light-dark(#9B2393,#FC5FA3);--code-t: light-dark(#3900A0,#5DD8FF);--code-a: light-dark(#815F03,#FD8F3F);--code-f: light-dark(#326D74,#67B7A4);--code-s: light-dark(#C41A16,#FC6A5D);--code-n: light-dark(#1C00CF,#D0BF69);--code-c: light-dark(#5D6C79,#7F8C98);--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 24px;--r-xl: 32px;--r-pill: 999px;--gutter: clamp(16px,4vw,40px);--container: 1200px;--header-h: 72px;--band: light-dark(#1A5FB4,#174C8C);--foot-bg: light-dark(#E9EDF3,#141922);--foot-line: light-dark(#D5DBE5,#262D3A);--step--1: .875rem;--step-0: 1.0625rem;--step-1: 1.25rem;--step-2: clamp(1.5rem,1.25rem + 1vw,2rem);--step-3: clamp(1.875rem,1.4rem + 2vw,2.75rem);--step-4: clamp(2.25rem,1.5rem + 3.4vw,4.25rem);--ease: cubic-bezier(.2,.8,.2,1)}:root[data-theme="light"],.scheme-light{color-scheme: light}:root[data-theme="dark"],.scheme-dark{color-scheme: dark}*,*::before,*::after{box-sizing: border-box}[hidden]{display: none !important}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: calc(var(--header-h) + 24px)}body{margin: 0;background: var(--bg);color: var(--ink);font: 400 var(--step-0)/1.6 var(--font-sans);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility}img,svg,video{display: block;max-width: 100%}img{height: auto}h1,h2,h3,h4{margin: 0;color: var(--ink);font-weight: 650;letter-spacing: -0.02em;line-height: 1.15;text-wrap: balance}p{margin: 0;text-wrap: pretty}a{color: var(--accent);text-decoration-thickness: .08em;text-underline-offset: .2em}a:hover{color: var(--accent-hover)}button{font: inherit;color: inherit}:focus-visible{outline: 2px solid var(--accent);outline-offset: 3px;border-radius: 6px}::selection{background: var(--accent-soft);color: var(--ink)}.visually-hidden{position: absolute !important;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);clip-path: inset(50%);white-space: nowrap}.skip-link{position: absolute;left: 16px;top: -48px;z-index: 100;padding: 10px 14px;border-radius: var(--r-sm);background: var(--ink);color: var(--bg);text-decoration: none}.skip-link:focus{top: 12px}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*,*::before,*::after{transition-duration: 0s !important;animation-duration: 0s !important}}.container{width: min(100% - 2 * var(--gutter),var(--container));margin-inline: auto}.container--narrow{--container: 820px}.section{padding-block: clamp(64px,9vw,120px)}.section--tight{padding-block: clamp(40px,6vw,72px)}.section-head{display: grid;grid-template-columns: minmax(0,1fr) auto;align-items: center;column-gap: 32px;margin-bottom: clamp(28px,4vw,48px)}.section-head>div{display: contents}.section-head>div>*{grid-column: 1}.section-head>div>.eyebrow{margin-bottom: 12px}.section-head>.link-arrow{grid-column: 2;justify-self: end;min-height: 40px;padding: 0 16px;border: 1px solid var(--line-strong);border-radius: var(--r-pill);background: var(--bg-elev);color: var(--ink);font-size: .9375rem;transition: border-color .15s,color .15s}.section-head>.link-arrow:hover{border-color: var(--accent);color: var(--accent)}.section-head>div + .link-arrow{grid-row: 2}.section-head>h2 + .link-arrow{grid-row: 1}@media (max-width: 600px){.section-head>div + .link-arrow,.section-head>h2 + .link-arrow{grid-column: 1;grid-row: auto;justify-self: start;margin-top: 18px}}.section-head h2{font-size: var(--step-3);letter-spacing: -0.03em}.section-head p{color: var(--muted);max-width: 52ch;margin-top: 12px}.eyebrow{display: inline-flex;align-items: center;gap: 8px;font: 500 .75rem/1.2 var(--font-mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted)}.eyebrow--lead{text-transform: none;letter-spacing: .01em;font-size: .875rem;line-height: 1.45;color: var(--ink-2)}.link-arrow{display: inline-flex;align-items: center;gap: 6px;font-weight: 550;text-decoration: none;white-space: nowrap}.link-arrow svg{transition: transform .2s var(--ease)}.link-arrow:hover svg{transform: translateX(3px)}.icon{width: 20px;height: 20px;flex: none;stroke: currentColor;fill: none;stroke-width: 1.75;stroke-linecap: round;stroke-linejoin: round}.icon--sm{width: 16px;height: 16px}.family-bar{border-bottom: 1px solid var(--line);background: var(--bg-sunken);font-size: .8125rem}.family-bar .container{display: flex;align-items: center;justify-content: space-between;gap: 16px;min-height: 40px}.family-bar a{color: var(--ink-2);text-decoration: none}.family-bar a:hover{color: var(--ink)}.family-home{display: inline-flex;align-items: center;gap: 6px;min-height: 40px}.family-home .brand{height: 20px}.family-home .brand img{height: 27px}.family-links{display: flex;gap: 20px}@media (max-width: 560px){.family-links a:not(:first-child){display: none}}.lang-banner{display: flex;align-items: center;justify-content: center;flex-wrap: wrap;gap: 8px 16px;padding: 10px 48px 10px 16px;position: relative;background: var(--accent-soft);color: var(--ink);font-size: var(--step--1)}.lang-banner[hidden]{display: none}.lang-banner a{font-weight: 600}.lang-banner .icon-btn{position: absolute;right: 6px;top: 50%;translate: 0 -50%;width: 36px;height: 36px}.site-header{position: sticky;top: 0;z-index: 50;background: var(--glass);-webkit-backdrop-filter: saturate(180%) blur(20px);backdrop-filter: saturate(180%) blur(20px);border-bottom: 1px solid transparent;transition: border-color .2s var(--ease)}.site-header.is-scrolled{border-bottom-color: var(--line)}.header-inner{display: flex;align-items: center;gap: 16px;height: var(--header-h)}.brand{display: block;height: 30px;overflow: hidden;flex: none;border-radius: 4px}.brand img{height: 41px;width: auto}.brand-lockup{display: flex;align-items: center;gap: 14px;flex: none;text-decoration: none}.brand-tag{padding-left: 14px;border-left: 1px solid var(--line-strong);font-size: .8125rem;line-height: 1.3;font-weight: 500;color: var(--muted)}.app-lockup{gap: 12px}.app-lockup img{width: 36px;height: 36px;border-radius: 22.37%;box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08)}.app-lockup-name{font-weight: 650;font-size: 1.0625rem;letter-spacing: -0.015em;color: var(--ink);white-space: nowrap}.nav-capsule{display: flex;gap: 2px;margin-left: auto;padding: 4px;border: 1px solid var(--line);border-radius: var(--r-pill);background: var(--bg-sunken)}.nav-capsule a{position: relative;padding: 8px 16px;border-radius: var(--r-pill);color: var(--ink-2);font-size: .9375rem;font-weight: 550;text-decoration: none;transition: color .15s,background-color .15s,box-shadow .15s}.nav-capsule a:hover{color: var(--accent)}.nav-capsule a[aria-current]{color: var(--accent);background: var(--bg-elev);box-shadow: var(--shadow-sm)}.nav-capsule a[aria-current]::before{content: "";position: absolute;left: 50%;top: -19px;translate: -50% 0;border: 6px solid transparent;border-top-color: var(--accent)}.header-actions{display: flex;align-items: center;gap: 4px;margin-left: 6px}.header-actions .btn{margin-left: 6px}kbd{font: 500 .6875rem/1 var(--font-mono);color: var(--muted);padding: 4px 6px;border: 1px solid var(--line);border-radius: 6px;background: var(--bg)}.icon-btn{display: inline-grid;place-items: center;width: 40px;height: 40px;flex: none;border: 0;border-radius: var(--r-pill);background: transparent;color: var(--ink-2);cursor: pointer;transition: background-color .15s,color .15s}.icon-btn:hover{background: var(--bg-sunken);color: var(--ink)}.lang-switch{display: inline-flex;padding: 3px;gap: 2px;border: 1px solid var(--line);border-radius: var(--r-pill);background: var(--bg-elev)}.lang-switch a{font: 500 .75rem/1 var(--font-mono);letter-spacing: .04em;padding: 7px 9px;border-radius: var(--r-pill);color: var(--muted);text-decoration: none}.lang-switch a:hover{color: var(--ink)}.lang-switch a[aria-current="true"]{background: var(--ink);color: var(--bg)}.menu-btn{display: none}.site-menu{border-top: 1px solid var(--line);padding: 8px var(--gutter) 20px}.site-menu>a{display: block;padding: 14px 4px;border-bottom: 1px solid var(--line);color: var(--ink);font-size: 1.125rem;font-weight: 550;text-decoration: none}.site-menu-row{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 12px;padding-top: 16px}@media (max-width: 960px){.nav-capsule,.header-actions .lang-switch{display: none}.header-actions{margin-left: auto}.menu-btn{display: inline-grid;width: 44px;height: 44px}}@media (min-width: 961px){.site-menu{display: none}}@media (max-width: 560px){.brand-tag,.header-actions .btn{display: none}}:root[data-theme="dark"] .logo-adaptive{filter: invert(1) hue-rotate(180deg) brightness(1.2)}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logo-adaptive{filter: invert(1) hue-rotate(180deg) brightness(1.2)}}dialog{color: var(--ink)}dialog::backdrop{background: rgb(8 10 14 / .45);-webkit-backdrop-filter: blur(4px);backdrop-filter: blur(4px)}.search-dialog{width: min(640px,100% - 24px);margin: 12vh auto auto;padding: 0;border: 1px solid var(--line);border-radius: var(--r-lg);background: var(--bg-elev);box-shadow: var(--shadow-lg);overflow: hidden}.search-field{display: flex;align-items: center;gap: 12px;padding: 0 16px;border-bottom: 1px solid var(--line)}.search-field input{flex: 1;height: 60px;border: 0;outline: none;background: transparent;font: 400 1.125rem var(--font-sans);color: var(--ink)}.search-field input::placeholder{color: var(--muted)}.search-results{list-style: none;margin: 0;padding: 8px;max-height: min(60vh,460px);overflow: auto}.search-results .group{padding: 10px 12px 6px}.search-results a{display: grid;grid-template-columns: auto 1fr;gap: 2px 12px;align-items: center;padding: 10px 12px;border-radius: var(--r-sm);color: var(--ink);text-decoration: none}.search-results a .icon{grid-row: span 2;color: var(--muted)}.search-results a small{color: var(--muted);font-size: .8125rem}.search-results a[aria-selected="true"],.search-results a:hover{background: var(--bg-sunken)}.search-results mark{background: var(--accent-soft);color: inherit;border-radius: 3px;padding: 0 1px}.search-empty{padding: 28px 16px;text-align: center;color: var(--muted)}.search-foot{display: flex;gap: 16px;padding: 10px 16px;border-top: 1px solid var(--line);font-size: .75rem;color: var(--muted)}@media (max-width: 640px){.search-dialog{margin: 0;width: 100%;max-width: 100%;height: 100dvh;max-height: 100dvh;border-radius: 0;border: 0}.search-results{max-height: none}.search-foot{display: none}}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-height: 44px;padding: 0 20px;border-radius: var(--r-pill);border: 1px solid transparent;font-weight: 550;font-size: .9375rem;text-decoration: none;cursor: pointer;transition: background-color .15s,border-color .15s,transform .15s var(--ease)}.btn:active{transform: scale(.98)}.btn--primary{background: var(--accent);color: var(--accent-ink)}.btn--primary:hover{background: var(--accent-hover);color: var(--accent-ink)}.btn--secondary{background: var(--bg-elev);color: var(--ink);border-color: var(--line-strong)}.btn--secondary:hover{color: var(--ink);border-color: var(--muted)}.btn--dark{background: var(--ink);color: var(--bg)}.btn--dark:hover{color: var(--bg);opacity: .88}.btn--sm{min-height: 36px;padding: 0 14px;font-size: .875rem}.btn--lg{min-height: 52px;padding: 0 26px;font-size: 1rem}.chip{display: inline-flex;align-items: center;gap: 6px;min-height: 32px;padding: 0 12px;border: 1px solid var(--line);border-radius: var(--r-pill);background: var(--bg-elev);font-size: .8125rem;font-weight: 500;color: var(--ink-2);text-decoration: none;white-space: nowrap;cursor: pointer}.chip:hover{border-color: var(--line-strong);color: var(--ink)}.chip[aria-pressed="true"]{background: var(--ink);border-color: var(--ink);color: var(--bg)}.chip .count{font-family: var(--font-mono);font-size: .6875rem;color: inherit;opacity: .6}.chips{display: flex;flex-wrap: wrap;gap: 8px}.chips--scroll{flex-wrap: nowrap;overflow-x: auto;scrollbar-width: none;padding-bottom: 4px;margin-inline: calc(-1 * var(--gutter));padding-inline: var(--gutter)}.chips--scroll::-webkit-scrollbar{display: none}.badge{display: inline-flex;align-items: center;gap: 6px;height: 24px;padding: 0 10px;white-space: nowrap;border-radius: var(--r-pill);font: 600 .6875rem/1 var(--font-mono);letter-spacing: .06em;text-transform: uppercase}.badge--new{background: var(--new-soft);color: var(--new)}.badge--new::before{content: "";width: 6px;height: 6px;border-radius: 50%;background: currentColor}.badge--accent{background: var(--accent-soft);color: var(--accent)}.badge--neutral{background: var(--bg-sunken);color: var(--ink-2)}.segmented{display: inline-flex;padding: 3px;gap: 2px;border-radius: var(--r-pill);border: 1px solid var(--line);background: var(--bg-sunken)}.segmented button{display: inline-flex;align-items: center;gap: 6px;min-height: 32px;padding: 0 12px;border: 0;border-radius: var(--r-pill);background: transparent;color: var(--muted);font-size: .8125rem;font-weight: 500;cursor: pointer}.segmented button:hover{color: var(--ink)}.segmented button[aria-pressed="true"]{background: var(--bg-elev);color: var(--ink);box-shadow: var(--shadow-sm)}.field{display: grid;gap: 6px}.field label{font-size: .875rem;font-weight: 550;color: var(--ink-2)}.input,.textarea{width: 100%;min-height: 48px;padding: 12px 14px;border: 1px solid var(--line-strong);border-radius: var(--r-sm);background: var(--bg);color: var(--ink);font: inherit;font-size: 1rem;transition: border-color .15s,box-shadow .15s}.textarea{min-height: 140px;resize: vertical}.input:focus,.textarea:focus{outline: none;border-color: var(--accent);box-shadow: 0 0 0 4px var(--accent-soft)}.input::placeholder,.textarea::placeholder{color: var(--muted)}.form-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px}.form-grid .full{grid-column: 1 / -1}.form-note{font-size: .8125rem;color: var(--muted)}.form-status{font-size: .875rem;color: var(--accent);min-height: 1.4em}@media (max-width: 560px){.form-grid{grid-template-columns: minmax(0,1fr)}}.card{position: relative;display: flex;flex-direction: column;border: 1px solid var(--line);border-radius: var(--r-lg);background: var(--bg-elev);overflow: hidden;transition: transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}.card:hover{transform: translateY(-3px);box-shadow: var(--shadow-md);border-color: var(--line-strong)}.card-media{aspect-ratio: 16 / 9;overflow: hidden;background: var(--bg-sunken)}.card-media img{width: 100%;height: 100%;object-fit: cover;transition: transform .5s var(--ease)}.card:hover .card-media img{transform: scale(1.03)}.card-body{display: flex;flex-direction: column;gap: 10px;padding: 20px 22px 22px;flex: 1}.card-kicker{display: flex;flex-wrap: wrap;gap: 6px 10px;align-items: center;font: 500 .75rem/1.3 var(--font-mono);color: var(--muted);letter-spacing: .02em}.card-kicker .tag{color: var(--accent);text-transform: uppercase;letter-spacing: .06em}.card-title{font-size: 1.1875rem;line-height: 1.3;letter-spacing: -0.015em}.card-title a{color: inherit;text-decoration: none}.card-title a::after{content: "";position: absolute;inset: 0;z-index: 1}.card-text{color: var(--muted);font-size: .9375rem;line-height: 1.55;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden}.card-meta{margin-top: auto;padding-top: 6px;display: flex;align-items: center;gap: 8px;font-size: .8125rem;color: var(--muted)}.card--lg .card-title{font-size: var(--step-2);letter-spacing: -0.025em;line-height: 1.15}.card--lg .card-body{padding: 26px 28px 28px;gap: 12px}.card--lg .card-text{font-size: 1rem}.card-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(min(100%,320px),1fr));gap: 24px}.app-icon{--size: 64px;width: var(--size);height: var(--size);flex: none;border-radius: calc(var(--size) * .2237);display: grid;place-items: center;color: #fff;background: var(--app,#0E7C66);box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12),0 6px 16px -6px color-mix(in srgb,var(--app,#0E7C66) 60%,transparent)}.app-icon svg{width: 55%;height: 55%;stroke: currentColor;fill: none;stroke-width: 1.6;stroke-linecap: round;stroke-linejoin: round}.app-card{display: grid;gap: 16px;padding: 22px;border: 1px solid var(--line);border-radius: var(--r-lg);background: var(--glass-strong);-webkit-backdrop-filter: saturate(180%) blur(24px);backdrop-filter: saturate(180%) blur(24px);box-shadow: var(--shadow-lg)}.app-card-head{display: flex;align-items: center;gap: 14px}.app-card-head h3{font-size: 1.375rem;letter-spacing: -0.02em}.app-card-head p{color: var(--muted);font-size: .875rem}.app-card .tagline{color: var(--ink-2);font-size: .9375rem}.app-card-actions{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 16px}.app-card-actions .link-arrow{font-size: .875rem}.platforms{display: flex;flex-wrap: wrap;gap: 6px}.hero{padding-block: clamp(40px,7vw,96px) clamp(56px,8vw,112px)}.hero-grid{display: grid;grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);gap: clamp(40px,5vw,80px);align-items: center}.hero h1{font-size: var(--step-4);line-height: 1.02;letter-spacing: -0.045em;font-weight: 680;margin: 0 0 24px}.hero h1 em{font-style: normal;color: var(--accent)}.hero .lede{font-size: clamp(1.125rem,1rem + .5vw,1.3125rem);line-height: 1.55;color: var(--ink-2);max-width: 34ch}.hero .app-card-head h3 a{color: inherit;text-decoration: none}.hero .app-card-head h3 a:hover{color: var(--accent)}.hero-actions{display: flex;flex-wrap: wrap;gap: 12px;margin-top: 32px}.stage{position: relative;width: 100%;max-width: 560px;justify-self: end;aspect-ratio: 1 / 1.02;border-radius: var(--r-xl);border: 1px solid var(--line);overflow: hidden;background-color: var(--bg-sunken);background-image: radial-gradient(light-dark(rgb(16 24 40 / .10),rgb(255 255 255 / .07)) 1px,transparent 1px);background-size: 22px 22px}.stage-label{position: absolute;top: 20px;left: 22px;z-index: 2}.stage .device--iphone,.stage .device--iphone-max{position: absolute;top: 13%;left: 50%;--w: 38%}.stage .device--watch{position: absolute;top: 11%;left: 52%;--w: 36%}.stage-slide{position: absolute;inset: 0}.stage-top{position: absolute;top: 14px;left: 18px;right: 14px;z-index: 4;display: flex;align-items: center;justify-content: space-between;gap: 12px}.stage-switch{display: flex;gap: 2px;padding: 3px;border-radius: var(--r-pill);border: 1px solid var(--line);background: var(--glass-strong);-webkit-backdrop-filter: blur(12px);backdrop-filter: blur(12px)}.stage-tab{display: grid;place-items: center;width: 44px;height: 44px;padding: 0;border: 0;border-radius: 50%;background: transparent;cursor: pointer}.stage-tab .app-icon{--size: 30px;box-shadow: none;transition: transform .2s var(--ease),box-shadow .2s}.stage-tab:hover .app-icon{transform: scale(1.06)}.stage-tab[aria-selected="true"] .app-icon{box-shadow: 0 0 0 2px var(--bg-elev),0 0 0 4px var(--app,var(--accent))}.stage .app-card{position: absolute;left: 6%;bottom: 6%;width: min(340px,64%);z-index: 3}.stage-fallback{position: absolute;inset: 0;display: grid;place-items: center;padding: 40px;text-align: center;color: var(--muted)}@media (max-width: 960px){.hero-grid{grid-template-columns: minmax(0,1fr)}.stage{justify-self: stretch;max-width: none;aspect-ratio: auto;min-height: 0;padding: 72px 16px 16px;display: grid}.stage .device{display: none}.stage-slide{position: static}.stage .app-card{position: static;width: auto}}.page-hero{padding-block: clamp(40px,6vw,88px) clamp(28px,4vw,48px)}.page-hero h1{font-size: var(--step-4);letter-spacing: -0.045em;line-height: 1.03;margin: 16px 0 18px;max-width: 18ch}.page-hero .lede{color: var(--muted);font-size: clamp(1.0625rem,1rem + .3vw,1.25rem);max-width: 56ch}.page-hero-row{display: flex;flex-wrap: wrap;gap: 12px 20px;align-items: center;margin-top: 24px}.filter-bar{position: sticky;top: var(--header-h);z-index: 20;background: var(--glass);-webkit-backdrop-filter: blur(16px);backdrop-filter: blur(16px);padding-block: 12px;border-bottom: 1px solid var(--line)}.pagination{display: flex;justify-content: space-between;align-items: center;gap: 16px;margin-top: 48px;padding-top: 24px;border-top: 1px solid var(--line);color: var(--muted);font-size: .875rem}.post-header{padding-block: clamp(32px,5vw,72px) clamp(24px,3vw,40px)}.breadcrumbs{display: flex;flex-wrap: wrap;gap: 8px;align-items: center;font-size: .875rem;color: var(--muted)}.breadcrumbs a{color: var(--muted);text-decoration: none}.breadcrumbs a:hover{color: var(--ink)}.breadcrumbs svg{width: 14px;height: 14px}.post-header h1{font-size: clamp(2.125rem,1.5rem + 2.6vw,3.5rem);letter-spacing: -0.04em;line-height: 1.06;margin: 18px 0 18px}.post-dek{font-size: clamp(1.125rem,1rem + .45vw,1.375rem);color: var(--muted);line-height: 1.5;max-width: 60ch}.post-meta{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 16px;margin-top: 28px;padding-top: 20px;border-top: 1px solid var(--line)}.byline{display: flex;align-items: center;gap: 12px;font-size: .9375rem}.byline img{width: 40px;height: 40px;border-radius: 50%}.byline strong{display: block;font-weight: 600}.byline span{color: var(--muted);font-size: .875rem}.translation-note{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 12px;margin-bottom: 20px;padding: 10px 14px;border-radius: var(--r-sm);background: var(--accent-soft);font-size: .875rem;color: var(--ink-2)}.translation-note .icon{color: var(--accent)}.post-cover{width: min(100% - 2 * var(--gutter),1120px);margin-inline: auto}.post-cover img{width: 100%;aspect-ratio: 1080 / 560;object-fit: cover;border-radius: var(--r-xl);border: 1px solid var(--line)}.post-layout{display: grid;grid-template-columns: minmax(0,720px) 240px;justify-content: center;gap: 72px;width: min(100% - 2 * var(--gutter),1120px);margin: clamp(32px,5vw,64px) auto 0}.toc{position: sticky;top: calc(var(--header-h) + 32px);align-self: start;font-size: .875rem}.toc h2{font: 500 .75rem/1.2 var(--font-mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);margin-bottom: 12px}.toc ol{list-style: none;margin: 0;padding: 0;border-left: 1px solid var(--line);display: grid}.toc a{display: block;padding: 6px 0 6px 14px;margin-left: -1px;border-left: 2px solid transparent;color: var(--muted);text-decoration: none;line-height: 1.4}.toc a:hover{color: var(--ink)}.toc a[aria-current="true"]{color: var(--ink);border-left-color: var(--accent)}.toc-actions{display: grid;gap: 8px;margin-top: 28px;padding-top: 20px;border-top: 1px solid var(--line)}.toc-actions a,.toc-actions button{display: inline-flex;align-items: center;gap: 8px;color: var(--muted);text-decoration: none;background: none;border: 0;padding: 4px 0;cursor: pointer;font-size: .875rem}.toc-actions a:hover,.toc-actions button:hover{color: var(--ink)}@media (max-width: 1100px){.post-layout{grid-template-columns: minmax(0,720px)}.toc{display: none}}.tldr{padding: 20px 24px;border-radius: var(--r-md);background: var(--bg-sunken);border: 1px solid var(--line);margin-bottom: 40px}.tldr ul{margin: 12px 0 0;padding-left: 1.1em;display: grid;gap: 6px;color: var(--ink-2);font-size: 1rem}.prose{font-size: 1.125rem;line-height: 1.75;color: var(--ink-2)}.prose>* + *{margin-top: 1.25em}.prose h2{font-size: 1.75rem;letter-spacing: -0.025em;line-height: 1.2;margin-top: 2.2em;color: var(--ink)}.prose h3{font-size: 1.3125rem;margin-top: 1.8em}.prose strong{color: var(--ink);font-weight: 650}.prose a{font-weight: 500}.prose :not(pre)>code{font: 500 .86em var(--font-mono);background: var(--bg-sunken);border: 1px solid var(--line);padding: .12em .4em;border-radius: 6px;color: var(--ink);white-space: nowrap}.prose figure{margin: 2.2em 0}.prose figure img{width: 100%;border-radius: var(--r-md);border: 1px solid var(--line);background: #fff}.prose figcaption{margin-top: 12px;text-align: center;font-size: .875rem;color: var(--muted)}.prose ul,.prose ol{padding-left: 1.2em}.prose blockquote{margin: 2em 0;padding-left: 20px;border-left: 3px solid var(--accent);font-size: 1.25rem;color: var(--ink)}.callout{display: grid;grid-template-columns: auto minmax(0,1fr);gap: 14px;padding: 18px 20px;border-radius: var(--r-md);background: var(--accent-soft);color: var(--ink-2);font-size: 1rem;line-height: 1.6}.callout .icon{color: var(--accent);margin-top: 3px}.callout strong{color: var(--ink)}.codeblock{margin: 2em 0;border: 1px solid var(--line);border-radius: var(--r-md);background: var(--code-bg);overflow: hidden}.codeblock-head{display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 6px 8px 6px 16px;border-bottom: 1px solid var(--line);font: 500 .75rem/1 var(--font-mono);color: var(--muted);letter-spacing: .04em}.copy-btn{display: inline-flex;align-items: center;gap: 6px;min-height: 32px;padding: 0 10px;border: 0;border-radius: var(--r-xs);background: transparent;color: var(--muted);cursor: pointer;font: 500 .75rem var(--font-mono)}.copy-btn:hover{background: var(--bg-sunken);color: var(--ink)}.codeblock pre{margin: 0;padding: 18px 20px;overflow-x: auto;font: 400 .875rem/1.7 var(--font-mono);color: var(--code-ink);tab-size: 4}.codeblock code{font: inherit}.k{color: var(--code-k);font-weight: 600}.t{color: var(--code-t)}.a{color: var(--code-a)}.f{color: var(--code-f)}.s{color: var(--code-s)}.n{color: var(--code-n)}.c{color: var(--code-c);font-style: italic}.screens{display: flex;justify-content: center;align-items: flex-end;gap: clamp(16px,3.5vw,48px);margin-top: clamp(48px,7vw,88px);padding: 0 var(--gutter) 24px}.screens .device{--w: clamp(150px,21vw,250px)}.screens .device.is-main{--w: clamp(190px,25vw,290px)}.screens .device:not(.is-main){margin-bottom: 3%}@media (max-width: 640px){.screens .device:not(.is-main){display: none}}.device-row{display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: clamp(28px,5vw,64px)}.device-figure{margin: 0;display: grid;justify-items: center;gap: 16px}.device-figure figcaption{font: 500 .75rem/1.4 var(--font-mono);color: var(--muted);letter-spacing: .04em;text-align: center}.faq{display: grid;gap: 12px}.faq details{border: 1px solid var(--line);border-radius: var(--r-md);background: var(--bg-elev)}.faq summary{display: flex;justify-content: space-between;align-items: center;gap: 16px;min-height: 60px;padding: 0 20px;cursor: pointer;font-weight: 600;list-style: none}.faq summary::-webkit-details-marker{display: none}.faq summary::after{content: "+";font: 400 1.5rem/1 var(--font-sans);color: var(--muted);transition: rotate .2s var(--ease)}.faq details[open] summary::after{rotate: 45deg}.faq details p{padding: 0 20px 20px;color: var(--muted)}.app-tile-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(min(100%,320px),1fr));gap: 16px}.app-tile{position: relative;display: grid;grid-template-columns: auto minmax(0,1fr);gap: 16px;align-items: start;padding: 20px 44px 20px 20px;border: 1px solid var(--line);border-radius: var(--r-lg);background: var(--bg-elev);transition: border-color .15s,transform .25s var(--ease),box-shadow .25s var(--ease)}.app-tile:hover{border-color: var(--line-strong);transform: translateY(-2px);box-shadow: var(--shadow-md)}.app-tile .app-icon{--size: 56px}.app-tile h3{display: flex;flex-wrap: wrap;align-items: center;gap: 4px 10px;font-size: 1.125rem;letter-spacing: -0.015em}.app-tile h3 a{color: inherit;text-decoration: none}.app-tile h3 a::after{content: "";position: absolute;inset: 0;border-radius: inherit}.app-tile p{color: var(--muted);font-size: .9375rem;margin-top: 4px}.app-tile .app-meta{margin-top: 12px;font: 500 .6875rem/1.5 var(--font-mono);letter-spacing: .04em;text-transform: uppercase;color: var(--muted)}.app-tile .ext{position: absolute;top: 18px;right: 16px;color: var(--muted);transition: color .15s,transform .2s var(--ease)}.app-tile:hover .ext{color: var(--app,var(--accent));transform: translate(2px,-2px)}.app-feature-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 20px}.app-feature{display: grid;grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);min-height: 360px;border: 1px solid var(--line);border-radius: var(--r-xl);background: var(--bg-elev);overflow: hidden}.app-feature-body{display: flex;flex-direction: column;gap: 14px;padding: 28px}.app-feature-head{display: flex;align-items: center;gap: 14px}.app-feature-head h3{font-size: 1.5rem;letter-spacing: -0.02em}.app-feature-head p{font: 500 .75rem/1.4 var(--font-mono);color: var(--muted);margin-top: 2px}.app-feature .tagline{color: var(--ink-2)}.app-feature-actions{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 16px;margin-top: auto;padding-top: 8px}.app-feature-actions .link-arrow{font-size: .875rem}.app-feature-preview{position: relative;display: flex;justify-content: center;align-items: center;padding: 24px;overflow: hidden;background: color-mix(in srgb,var(--app,var(--accent)) 14%,var(--bg-elev))}.app-feature-preview .device--iphone,.app-feature-preview .device--iphone-max{--w: min(50%,150px)}.app-feature-preview .device--watch{--w: min(56%,170px)}@media (max-width: 1100px){.app-feature-grid{grid-template-columns: minmax(0,1fr)}}@media (max-width: 600px){.app-feature{grid-template-columns: minmax(0,1fr)}.app-feature-preview{order: -1}.app-feature-preview .device--iphone,.app-feature-preview .device--iphone-max{--w: 120px}.app-feature-preview .device--watch{--w: 130px}}.device{position: relative;flex: none;width: var(--w,280px);filter: drop-shadow(0 24px 28px light-dark(rgb(16 24 40 / .16),rgb(0 0 0 / .5)))}.device-frame{position: relative;z-index: 1;display: block;width: 100%;height: auto;max-width: none;pointer-events: none;user-select: none}.device-screen{position: absolute;left: var(--sx);top: var(--sy);width: var(--sw);height: var(--sh);overflow: hidden;border-radius: var(--sr);background: #000}.device-screen img{display: block;width: 100%;height: 100%;max-width: none;object-fit: cover}.device--baked img{width: 100%}.sg-split{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0;border: 1px solid var(--line);border-radius: var(--r-xl);overflow: hidden}.sg-pane{background: var(--bg);color: var(--ink);padding: clamp(20px,3vw,36px);display: grid;gap: 24px;align-content: start}.sg-pane + .sg-pane{border-left: 1px solid var(--line)}.sg-swatches{display: grid;grid-template-columns: repeat(auto-fill,minmax(120px,1fr));gap: 12px}.sg-swatch{display: grid;gap: 8px;font-size: .75rem}.sg-swatch i{display: block;height: 56px;border-radius: var(--r-sm);border: 1px solid var(--line)}.sg-swatch b{font-weight: 600;color: var(--ink);font-family: var(--font-mono)}.sg-swatch span{color: var(--muted);font-family: var(--font-mono)}.sg-row{display: flex;flex-wrap: wrap;gap: 10px;align-items: center}.sg-type>* + *{margin-top: 14px}.sg-type .spec{font: 500 .6875rem/1.2 var(--font-mono);color: var(--muted);letter-spacing: .04em;margin-bottom: 4px}@media (max-width: 860px){.sg-split{grid-template-columns: minmax(0,1fr)}.sg-pane + .sg-pane{border-left: 0;border-top: 1px solid var(--line)}}picture{display: contents}picture>source{display: none}.codeblock pre{--shiki-foreground: var(--code-ink);--shiki-background: transparent;--shiki-token-keyword: var(--code-k);--shiki-token-string: var(--code-s);--shiki-token-string-expression: var(--code-s);--shiki-token-comment: var(--code-c);--shiki-token-constant: var(--code-n);--shiki-token-function: var(--code-f);--shiki-token-parameter: var(--code-a);--shiki-token-punctuation: var(--code-ink);--shiki-token-link: var(--code-t)}.codeblock pre .line{display: inline}.codeblock pre span[style*="--shiki-token-keyword"]{font-weight: 600}.codeblock pre span[style*="--shiki-token-comment"]{font-style: italic}.app-icon--img{background: var(--bg-elev);overflow: hidden;box-shadow: inset 0 0 0 1px var(--line),0 6px 16px -8px rgb(0 0 0 / .35)}.app-icon--img img{width: 100%;height: 100%;object-fit: cover;display: block;border-radius: inherit}.shot{flex: none;width: clamp(150px,21vw,250px)}.shot.is-main{width: clamp(190px,25vw,290px)}.shot img{display: block;width: 100%;height: auto;border-radius: var(--r-lg);box-shadow: var(--shadow-lg)}.screens .shot:not(.is-main){margin-bottom: 3%}@media (max-width: 640px){.screens .shot:not(.is-main){display: none}}.stage-shot{position: absolute;top: 13%;left: 50%;width: 40%}.stage-shot img{display: block;width: 100%;height: auto;border-radius: var(--r-md);box-shadow: var(--shadow-lg)}.app-feature-preview .shot{width: min(50%,160px)}@media (max-width: 960px){.stage .stage-shot{display: none}}.link-card{display: grid;gap: 4px;margin: 1em 0;padding: 16px 18px;border: 1px solid var(--line);border-radius: var(--r-md);background: var(--bg-elev);color: var(--ink);text-decoration: none;font-weight: 400 !important;transition: border-color .15s}.link-card:hover{border-color: var(--line-strong)}.link-card strong{font-size: 1rem;line-height: 1.35}.link-card span{font-size: .875rem;line-height: 1.5;color: var(--muted)}.link-card .link-card-host{font: 500 .6875rem/1.2 var(--font-mono);letter-spacing: .04em;color: var(--accent)}.prose .link-card + .link-card{margin-top: 10px}.video-embed{position: relative;aspect-ratio: 16 / 9;border-radius: var(--r-md);overflow: hidden;background: #000 center / cover no-repeat;border: 1px solid var(--line)}.video-embed a{position: absolute;inset: 0;display: grid;place-content: center;justify-items: center;gap: 10px;padding: 20px;color: #fff;text-decoration: none;text-align: center;background: linear-gradient(to top,rgb(0 0 0 / .65),rgb(0 0 0 / .15))}.video-play{width: 64px;height: 64px;border-radius: 50%;display: grid;place-items: center;background: rgb(255 255 255 / .92);color: #000}.video-play svg{width: 26px;height: 26px;fill: currentColor;margin-left: 3px}.video-label{font-weight: 600;font-size: 1rem}.video-note{font-size: .75rem;opacity: .8}.video-embed iframe{position: absolute;inset: 0;width: 100%;height: 100%;border: 0}.prose figure.img-narrow img,.prose .img-narrow img{width: auto;max-width: min(100%,320px);margin-inline: auto;display: block}.prose figure img{height: auto}.figure-grid>div{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 12px}.table-wrap{overflow-x: auto}.table-wrap table{border-collapse: collapse;width: 100%;font-size: .9375rem}.table-wrap th,.table-wrap td{border-bottom: 1px solid var(--line);padding: 8px 10px;text-align: left}.prose hr{border: 0;border-top: 1px solid var(--line);margin: 2.5em auto;width: 40%}.prose h4{font-size: 1.125rem;margin-top: 1.6em;color: var(--ink)}.prose .callout p{margin: 0}.tldr p{color: var(--ink-2)}.toc li.toc-sub{padding-left: 14px;font-size: .9em}.post-header .badge{margin-bottom: 14px}.filter-empty{padding: 40px 0;text-align: center;color: var(--muted)}.search-page{margin-top: 28px}.search-page .search-field{border: 1px solid var(--line-strong);border-radius: var(--r-md);background: var(--bg-elev)}.search-results--page{max-height: none;margin-top: 12px}.notfound{min-height: 50vh}.section-title{font-size: var(--step-3);letter-spacing: -0.03em}.section-sub{max-width: 46ch;margin: 14px auto 0;color: var(--muted);font-size: clamp(1.0625rem,1rem + .3vw,1.1875rem)}.page-head{padding-block: clamp(48px,7vw,96px) clamp(32px,4vw,48px);text-align: center}.page-head h1{font-size: var(--step-4);line-height: 1.02;letter-spacing: -0.045em}.page-head .section-sub{max-width: 52ch}.page-head-row{display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 12px 20px;margin-top: 26px}.page-head-row .link-arrow{font-size: .9375rem}.band{--band-bg: var(--band);position: relative;isolation: isolate;color: #fff;margin-block: clamp(96px,12vw,160px);padding-block: clamp(64px,9vw,120px)}.band::before{content: "";position: absolute;inset: 0;z-index: -1;background: var(--band-bg);transform: skewY(-3.5deg)}.band h2{color: #fff;font-size: var(--step-3);line-height: 1.05;letter-spacing: -0.035em}.band p{color: rgb(255 255 255 / .86)}.band a:not(.btn){color: #fff}.band h2 a{text-decoration: none}.band h2 a:hover{text-decoration: underline;text-underline-offset: .12em;text-decoration-thickness: 2px}.band-kicker{display: inline-block;padding: 5px 12px;border: 1px solid rgb(255 255 255 / .4);border-radius: var(--r-pill);font: 500 .75rem/1.2 var(--font-mono);letter-spacing: .06em;text-transform: uppercase;color: #fff}.band-art{width: 100%;max-width: 300px;justify-self: center;transform: rotate(-6deg)}.band-art img{display: block;width: 100%;height: auto;filter: brightness(0) invert(1)}.btn--light{background: #fff;color: var(--band-ink,#10243F)}.btn--light:hover{background: rgb(255 255 255 / .88);color: var(--band-ink,#10243F)}.people-card{display: grid;gap: 14px;padding: 18px;border-radius: var(--r-lg);background: rgb(255 255 255 / .12);border: 1px solid rgb(255 255 255 / .22)}.person{display: grid;grid-template-columns: 56px minmax(0,1fr);gap: 14px;align-items: center}.person img{width: 56px;height: 56px;border-radius: 50%;border: 2px solid rgb(255 255 255 / .6)}.person strong{display: block;font-size: 1.0625rem}.person span{display: block;font-size: .8125rem;color: rgb(255 255 255 / .75)}.person-links{display: flex;flex-wrap: wrap;gap: 8px;margin-top: 10px}.person-links a{display: grid;place-items: center;width: 36px;height: 36px;border-radius: 50%;color: #fff;background: rgb(255 255 255 / .14);border: 1px solid rgb(255 255 255 / .26);transition: background .2s,color .2s,transform .2s}.person-links a:hover,.person-links a:focus-visible{background: #fff;color: var(--band);transform: translateY(-2px)}.person-links svg{width: 16px;height: 16px;fill: currentColor}.home-apps{padding-block: clamp(56px,8vw,104px) clamp(64px,9vw,112px);background: var(--bg-sunken);border-block: 1px solid var(--line);text-align: center}.shelf-title{display: inline-flex;align-items: center;justify-content: center;gap: 12px;flex-wrap: wrap;font-size: var(--step-2);font-weight: 620;letter-spacing: -0.02em}.shelf-title .icon{width: 28px;height: 28px;color: var(--accent)}.shelf{list-style: none;margin: clamp(48px,7vw,80px) 0 0;padding: 0;display: flex;flex-wrap: wrap;justify-content: center;gap: clamp(24px,4vw,56px)}.shelf-item{position: relative;width: 168px}.shelf-icon{display: grid;justify-items: center;gap: 14px;color: var(--ink);text-decoration: none}.shelf-icon img{width: 148px;height: 148px;border-radius: 22.37%;box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08),0 18px 34px -20px color-mix(in srgb,var(--app) 80%,transparent);transform: scale(.92);transition: transform .2s var(--ease),box-shadow .2s var(--ease)}.shelf-name{font-weight: 600;font-size: 1rem;letter-spacing: -0.01em}.shelf-line{display: none;color: var(--muted);font-size: .875rem;line-height: 1.45}.shelf-item:hover .shelf-icon img,.shelf-item:focus-within .shelf-icon img{transform: translateY(-12px) scale(1);box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08),0 30px 44px -20px color-mix(in srgb,var(--app) 90%,transparent)}.shelf-pop{position: absolute;left: 50%;bottom: calc(100% + 30px);z-index: 5;width: 288px;translate: -50% 10px;padding: 18px 20px 20px;text-align: left;border: 1px solid var(--line);border-radius: var(--r-lg);background: var(--bg-elev);box-shadow: var(--shadow-lg);opacity: 0;visibility: hidden;transition: opacity .18s var(--ease),translate .18s var(--ease),visibility 0s linear .18s}.shelf-pop::after{content: "";position: absolute;left: 50%;top: 100%;width: 16px;height: 16px;background: var(--bg-elev);border-right: 1px solid var(--line);border-bottom: 1px solid var(--line);transform: translate(-50%,-8px) rotate(45deg)}.shelf-pop::before{content: "";position: absolute;left: 0;right: 0;top: 100%;height: 34px}.shelf-item:hover .shelf-pop,.shelf-item:focus-within .shelf-pop{opacity: 1;visibility: visible;translate: -50% 0;transition-delay: 0s}.pop-kicker{font: 500 .6875rem/1.4 var(--font-mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted)}.pop-title{display: block;margin-top: 6px;font-size: 1.1875rem;font-weight: 650;letter-spacing: -0.02em}.pop-text{margin-top: 6px;color: var(--ink-2);font-size: .9375rem;line-height: 1.5}.pop-actions{display: flex;align-items: center;gap: 14px;margin-top: 14px}.pop-actions .link-arrow{font-size: .875rem}@media (hover: none),(max-width: 700px){.shelf-pop{display: none}.shelf-line{display: block}.shelf-item:hover .shelf-icon img,.shelf-item:focus-within .shelf-icon img{transform: scale(.92)}}@media (max-width: 700px){.shelf{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 32px 16px}.shelf-item{width: auto}.shelf-icon img{width: 112px;height: 112px}.shelf-icon{gap: 10px}}.home-services{padding-block: clamp(72px,10vw,128px) 0;text-align: center}.svc-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 12px;max-width: 940px;margin: clamp(36px,5vw,56px) auto 0}.svc{display: grid;justify-items: center;align-content: start;gap: 8px;padding: 28px 24px 30px;border-radius: var(--r-lg);background: var(--bg-sunken)}.svc-icon{display: grid;place-items: center;width: 64px;height: 64px;margin-bottom: 8px;border-radius: 50%;background: var(--bg-elev);color: var(--accent);box-shadow: var(--shadow-sm)}.svc-icon .icon{width: 28px;height: 28px;stroke-width: 1.6}.svc h3{font-size: 1.1875rem;letter-spacing: -0.015em;color: var(--accent)}.svc p{max-width: 30ch;color: var(--muted);font-size: .9375rem;line-height: 1.55}.svc--text{align-content: center;gap: 18px;background: transparent}.svc--text p{max-width: 26ch;color: var(--ink-2);font-size: 1.0625rem;line-height: 1.6}@media (max-width: 860px){.svc-grid{grid-template-columns: repeat(2,minmax(0,1fr))}.svc--text{grid-column: 1 / -1;order: 1;padding-top: 20px}}@media (max-width: 520px){.svc-grid{grid-template-columns: minmax(0,1fr);gap: 8px}.svc{grid-template-columns: 48px minmax(0,1fr);justify-items: start;gap: 2px 16px;padding: 18px;text-align: left}.svc-icon{grid-row: span 2;width: 48px;height: 48px;margin: 0}.svc-icon .icon{width: 22px;height: 22px}.svc--text{grid-template-columns: minmax(0,1fr);justify-items: center;text-align: center;gap: 16px}}.marquee{display: grid;grid-template-columns: minmax(0,1fr);gap: 14px;margin-top: clamp(56px,8vw,88px);overflow: hidden;-webkit-mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-row{display: flex;gap: 14px;width: max-content;animation: marquee-slide 80s linear infinite}.marquee-row--back{animation-direction: reverse}.marquee:hover .marquee-row{animation-play-state: paused}.marquee-tile{display: grid;place-items: center;width: 136px;aspect-ratio: 1;flex: none;border-radius: var(--r-md);background: var(--bg-sunken)}.marquee-tile img{width: 72%;height: 56%;object-fit: contain;filter: grayscale(1);mix-blend-mode: multiply;opacity: .72}:root[data-theme="dark"] .marquee-tile img{filter: grayscale(1) invert(1);mix-blend-mode: screen;opacity: .7}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .marquee-tile img{filter: grayscale(1) invert(1);mix-blend-mode: screen;opacity: .7}}.marquee-caption{padding-block: 6px;color: var(--muted);font-size: .9375rem;text-align: center}@media (max-width: 600px){.marquee-tile{width: 96px}.marquee,.marquee-row{gap: 10px}}@keyframes marquee-slide{to{transform: translateX(-50%)}}@media (prefers-reduced-motion: reduce){.marquee{-webkit-mask-image: none;mask-image: none}.marquee-row{width: auto;flex-wrap: wrap;justify-content: center;animation: none}.marquee-row [aria-hidden="true"]{display: none}}.people-grid{display: grid;grid-template-columns: minmax(0,.55fr) minmax(0,1.45fr);gap: clamp(28px,4vw,56px);align-items: center}.people-row{display: grid;grid-template-columns: minmax(0,1.35fr) minmax(0,.85fr);gap: clamp(24px,3vw,40px);align-items: start;margin-top: 8px}.band--people h2{font-size: var(--step-4);line-height: 1.02;letter-spacing: -0.045em}.people-intro{margin-top: 18px;font-size: clamp(1.1875rem,1rem + .7vw,1.5rem);line-height: 1.4;color: rgb(255 255 255 / .92)}.people-body{margin-top: 18px;font-size: .9375rem;line-height: 1.65;max-width: 56ch}.band--people .people-body{color: rgb(255 255 255 / .8)}.band--people .people-card{margin-top: 22px}@media (max-width: 960px){.people-grid,.people-row{grid-template-columns: minmax(0,1fr)}.band--people .band-art{max-width: 140px;justify-self: start}.band--people .people-card{margin-top: 0}}.home-notes .container{display: grid;grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr);gap: clamp(36px,5vw,72px);align-items: start}.notes-head{display: flex;align-items: baseline;justify-content: space-between;gap: 16px;margin-bottom: 16px}.notes-head h2{font-size: var(--step-2);letter-spacing: -0.025em}.notes-head .link-arrow{font-size: .9375rem}.note-list{list-style: none;margin: 0;padding: 0;border-top: 1px solid var(--line)}.note-list li{position: relative;display: grid;grid-template-columns: 9.5rem minmax(0,1fr);gap: 16px;align-items: baseline;padding: 16px 0;border-bottom: 1px solid var(--line)}.note-list time{font: 500 .75rem/1.4 var(--font-mono);color: var(--muted)}.note-list a{color: var(--ink);font-weight: 550;text-decoration: none}.note-list a::after{content: "";position: absolute;inset: 0}.note-list li:hover a{color: var(--accent)}.pod-card{display: grid;grid-template-columns: 88px minmax(0,1fr);gap: 18px;align-items: start;padding: 18px;border: 1px solid var(--line);border-radius: var(--r-lg);background: var(--bg-elev)}.pod-card img{width: 88px;height: 88px;border-radius: var(--r-sm);border: 1px solid var(--line)}.pod-card h3{font-size: 1.1875rem;letter-spacing: -0.015em}.pod-card p{margin-top: 4px;color: var(--muted);font-size: .9375rem;line-height: 1.5}.pod-last{margin-top: 12px;font-size: .875rem}.pod-last time{font-family: var(--font-mono);font-size: .75rem;color: var(--muted)}.pod-actions{grid-column: 1 / -1;display: flex;flex-wrap: wrap;align-items: center;gap: 10px 16px}.pod-actions .link-arrow{font-size: .875rem}@media (max-width: 860px){.home-notes .container{grid-template-columns: minmax(0,1fr)}}@media (max-width: 480px){.note-list li{grid-template-columns: minmax(0,1fr);gap: 4px}}.home-contact{padding-block: clamp(72px,10vw,128px) 0;text-align: center}.contact-pills{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px;margin-top: 28px}.contact-pills .btn .icon{color: var(--accent)}.contact-other{display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 6px 18px;margin-top: 18px;color: var(--muted);font-size: .9375rem}.contact-other a,.contact-other button{display: inline-flex;align-items: center;gap: 6px;padding: 0;border: 0;background: none;color: var(--accent);font: inherit;font-weight: 550;text-decoration: none;cursor: pointer}.contact-other a:hover,.contact-other button:hover{text-decoration: underline;text-underline-offset: .2em}.mail-toast{position: fixed;left: 50%;bottom: 20px;z-index: 80;translate: -50% 0;display: flex;align-items: center;gap: 10px 14px;width: max-content;max-width: calc(100% - 32px);padding: 10px 8px 10px 18px;border: 1px solid var(--line);border-radius: var(--r-lg);background: var(--bg-elev);box-shadow: var(--shadow-lg);color: var(--ink-2);font-size: .9375rem;animation: toast-in .25s var(--ease)}.mail-toast strong{color: var(--ink);font-weight: 600;user-select: all}@keyframes toast-in{from{opacity: 0;translate: -50% 12px}}@media (max-width: 560px){.mail-toast{flex-wrap: wrap}.mail-toast p{flex-basis: 100%}}.site-footer{margin-top: clamp(80px,11vw,144px);padding-block: 56px 28px;background: var(--foot-bg);border-top: 1px solid var(--foot-line)}.foot-grid{display: grid;grid-template-columns: minmax(0,2.4fr) repeat(4,minmax(0,1fr));gap: 32px}.foot-col h4{margin-bottom: 14px;font: 500 .75rem/1.2 var(--font-mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted)}.foot-col h4 a{color: inherit;text-decoration: none}.foot-col ul{list-style: none;margin: 0;padding: 0;display: grid;gap: 9px}.foot-col a{color: var(--ink-2);font-size: .9375rem;text-decoration: none}.foot-col a:hover{color: var(--ink);text-decoration: underline}.foot-apps{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 18px 24px}.foot-app{display: grid;grid-template-columns: 36px minmax(0,1fr);gap: 12px;align-items: start}.foot-app img{width: 36px;height: 36px;border-radius: 22.37%}.foot-app>div>a{color: var(--ink);font-weight: 600;font-size: .9375rem;white-space: nowrap}.foot-app-links{display: flex;flex-wrap: wrap;gap: 2px 12px;margin-top: 3px}.foot-app-links a{color: var(--accent);font-size: .8125rem}.foot-app-links span{color: var(--muted);font-size: .8125rem}.foot-bottom{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 16px;margin-top: 48px;padding-top: 24px;border-top: 1px solid var(--foot-line);font-size: .8125rem;color: var(--muted)}.foot-legal{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 14px}.foot-legal .brand{height: 21.5px}.foot-legal .brand img{height: 30px;margin-top: -2.4px}.foot-bottom .controls{display: flex;flex-wrap: wrap;gap: 10px;align-items: center}@media (max-width: 1060px){.foot-grid{grid-template-columns: repeat(4,minmax(0,1fr))}.foot-grid>:first-child{grid-column: 1 / -1}}@media (max-width: 640px){.foot-grid{grid-template-columns: repeat(2,minmax(0,1fr))}.foot-apps{grid-template-columns: minmax(0,1fr)}}.product{--app-ink: color-mix(in oklab,var(--app) 78%,var(--ink));--app-band: color-mix(in oklab,var(--app) 72%,#000)}.app-hero{padding-block: clamp(48px,7vw,96px) 0;text-align: center;background: radial-gradient(ellipse 70% 60% at 50% 0%,color-mix(in srgb,var(--app) 16%,transparent),transparent 70%)}.app-hero-icon{width: 136px;height: 136px;margin: 0 auto 26px;border-radius: 22.37%;box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08),0 30px 50px -24px color-mix(in srgb,var(--app) 90%,transparent)}.app-hero-icon img{display: block;width: 100%;height: 100%;border-radius: 22.37%}.app-kicker{display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 10px;font: 500 .75rem/1.4 var(--font-mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted)}.app-hero h1{margin-top: 10px;font-size: clamp(3rem,2rem + 5vw,5.25rem);line-height: 1;letter-spacing: -0.05em}.app-hero .lede{max-width: 36ch;margin: 18px auto 0;color: var(--ink-2);font-size: clamp(1.125rem,1rem + .6vw,1.4375rem)}.app-hero .hero-actions{justify-content: center;margin-top: 30px}.app-facts{margin-top: 16px;font: 500 .75rem/1.5 var(--font-mono);color: var(--muted)}.app-hero .screens{margin-top: clamp(48px,7vw,80px);padding-bottom: 0}.app-about{padding-block: clamp(72px,10vw,128px) 0;text-align: center}.app-about-lead{max-width: 40ch;margin-inline: auto;font-size: clamp(1.25rem,1rem + 1vw,1.75rem);line-height: 1.4;letter-spacing: -0.015em;color: var(--ink)}.app-about-more{max-width: 58ch;margin: 20px auto 0;color: var(--muted);font-size: 1rem;line-height: 1.65}.app-about-more>* + *{margin-top: 1em}.whats-new-line{display: inline-flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 6px 10px;margin-top: 28px;padding: 8px 16px 8px 8px;border: 1px solid var(--line);border-radius: var(--r-pill);background: var(--bg-elev);font-size: .875rem;color: var(--ink-2)}.whats-new-line .badge{background: color-mix(in srgb,var(--app) 14%,var(--bg-elev));color: var(--app-ink)}.app-features{padding-block: clamp(72px,10vw,128px) 0;text-align: center}.app-features .svc-grid{grid-template-columns: repeat(2,minmax(0,1fr));max-width: 780px}.app-features .svc-grid--3{grid-template-columns: repeat(3,minmax(0,1fr));max-width: 940px}.app-features .svc-icon,.app-features .svc h3{color: var(--app-ink)}@media (max-width: 860px){.app-features .svc-grid--3{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.app-features .svc-grid,.app-features .svc-grid--3{grid-template-columns: minmax(0,1fr)}}.app-faq{padding-block: clamp(72px,10vw,128px) 0}.app-faq .section-title{text-align: center;margin-bottom: clamp(28px,4vw,40px)}.band--app{--band-bg: var(--app-band);--band-ink: var(--app-band)}.made-grid{display: grid;grid-template-columns: minmax(0,.4fr) minmax(0,1.6fr);gap: clamp(28px,4vw,56px);align-items: center}.band--app .band-art{max-width: 220px}.made-text{margin-top: 14px;max-width: 52ch;font-size: clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height: 1.55}.made-apps{display: flex;flex-wrap: wrap;gap: 10px;margin-top: 26px}.made-app{display: inline-flex;align-items: center;gap: 10px;padding: 6px 14px 6px 6px;border-radius: var(--r-pill);background: rgb(255 255 255 / .12);border: 1px solid rgb(255 255 255 / .22);font-size: .9375rem;font-weight: 550;text-decoration: none;transition: background .2s}.made-app:hover{background: rgb(255 255 255 / .22)}.made-app img{width: 30px;height: 30px;border-radius: 22.37%}.made-all{display: flex;width: fit-content;margin-top: 18px;font-size: .9375rem;font-weight: 550}@media (max-width: 760px){.made-grid{grid-template-columns: minmax(0,1fr)}.band--app .band-art{max-width: 120px;justify-self: start}}.app-showcase{padding-block: clamp(72px,10vw,128px) 0;text-align: center}.app-showcase .device-row{margin-top: clamp(36px,5vw,56px)}.showcase-label{margin: clamp(48px,7vw,72px) 0 0;font: 600 .8125rem/1.2 var(--font-mono);letter-spacing: .08em;text-transform: uppercase;color: var(--app-ink)}.showcase-label + .device-row{margin-top: clamp(20px,3vw,28px)}.device-row .device--duo-closed{--w: clamp(190px,22vw,250px)}.device-row .device--iphone-max,.device-row .device--iphone{--w: clamp(170px,22vw,260px)}.device-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: clamp(28px,4vw,48px);max-width: 1080px;margin: clamp(20px,3vw,28px) auto 0}.device-grid .device--duo-open{--w: 100%}@media (max-width: 720px){.device-grid{grid-template-columns: 1fr;max-width: 520px}}.shot-row{display: grid;gap: clamp(36px,5vw,56px);justify-items: center;margin-top: clamp(36px,5vw,56px)}.ipad-shot,.mac-shot{width: min(100%,900px);margin: 0;display: grid;gap: 16px;justify-items: center}.ipad-shot img,.mac-shot img{display: block;width: 100%;height: auto}.ipad-shot img{border: clamp(7px,1.1vw,13px) solid #16181D;border-radius: clamp(18px,2.6vw,34px);background: #000;box-shadow: 0 24px 40px light-dark(rgb(16 24 40 / .16),rgb(0 0 0 / .5))}.mac-shot img{border-radius: 1.75% / 2.8%;box-shadow: 0 0 0 1px light-dark(rgb(16 24 40 / .12),rgb(255 255 255 / .14)),0 24px 40px light-dark(rgb(16 24 40 / .16),rgb(0 0 0 / .5))}.ipad-shot figcaption,.mac-shot figcaption{font: 500 .75rem/1.4 var(--font-mono);color: var(--muted);letter-spacing: .04em}.app-features .svc-grid:has(>:nth-child(7)){max-width: 860px}.app-support .contact-pills .btn .icon{color: var(--app-ink)}.app-support .contact-other{font-family: var(--font-mono);font-size: .75rem}.lead-post{position: relative;display: grid;grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);gap: clamp(24px,4vw,48px);align-items: center;padding: clamp(14px,1.6vw,20px);border: 1px solid var(--line);border-radius: var(--r-xl);background: var(--bg-elev);transition: border-color .15s,box-shadow .25s var(--ease)}.lead-post:hover{border-color: var(--line-strong);box-shadow: var(--shadow-md)}.lead-post img{display: block;width: 100%;height: auto;aspect-ratio: 16 / 9;object-fit: cover;border-radius: var(--r-lg)}.lead-post .post-kicker{margin-bottom: 12px}.lead-post h2{font-size: clamp(1.5rem,1.1rem + 1.5vw,2.25rem);line-height: 1.1;letter-spacing: -0.03em}.lead-post h2 a{color: var(--ink);text-decoration: none}.lead-post h2 a::after{content: "";position: absolute;inset: 0;border-radius: inherit}.lead-post p{margin-top: 14px;color: var(--muted)}.lead-post .link-arrow{margin-top: 18px;font-size: .9375rem}@media (max-width: 860px){.lead-post{grid-template-columns: minmax(0,1fr)}.lead-post>div{padding: 4px 8px 12px}}.post-kicker{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 10px;font: 500 .75rem/1.4 var(--font-mono);letter-spacing: .04em;color: var(--muted)}.post-kicker .tag{color: var(--accent);text-transform: uppercase;letter-spacing: .08em}.series-band{display: grid;grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);gap: clamp(28px,5vw,72px);align-items: center}.series-band h2{margin-top: 16px}.series-band>div>p{margin-top: 14px;max-width: 44ch}.series-meta{font: 500 .75rem/1.5 var(--font-mono);letter-spacing: .04em}.series-band .btn{margin-top: 26px}.series-parts{list-style: none;margin: 0;padding: 0;counter-reset: part;border-top: 1px solid rgb(255 255 255 / .2)}.series-parts li{counter-increment: part}.series-parts a{display: grid;grid-template-columns: 40px minmax(0,1fr) auto;gap: 12px;align-items: baseline;padding: 13px 4px;border-bottom: 1px solid rgb(255 255 255 / .2);font-weight: 550;text-decoration: none}.series-parts a::before{content: counter(part,decimal-leading-zero);font: 500 .8125rem/1 var(--font-mono);color: rgb(255 255 255 / .7)}.series-parts a:hover{text-decoration: underline;text-underline-offset: .2em}.series-parts small{font: 500 .75rem/1 var(--font-mono);color: rgb(255 255 255 / .7);white-space: nowrap}@media (max-width: 860px){.series-band{grid-template-columns: minmax(0,1fr)}}.archive{padding-bottom: 8px}.archive-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 16px 24px;margin-bottom: 28px}.archive-head h2{font-size: var(--step-2);letter-spacing: -0.025em}.archive-head .chips{gap: 6px}.archive-year{display: grid;grid-template-columns: 7rem minmax(0,1fr);gap: 24px;align-items: start}.archive-year + .archive-year{margin-top: 32px}.archive-year[hidden],.archive-list li[hidden]{display: none}.archive-y{position: sticky;top: calc(var(--header-h) + 20px);padding-top: 14px;font: 500 1.5rem/1 var(--font-mono);letter-spacing: -0.02em;color: var(--muted)}.archive-list li{grid-template-columns: 4.5rem minmax(0,1fr) auto}.archive-meta{display: inline-flex;align-items: center;gap: 8px;font: 500 .75rem/1.4 var(--font-mono);color: var(--muted);white-space: nowrap}.archive-meta .icon{width: 14px;height: 14px}@media (max-width: 720px){.archive-year{grid-template-columns: minmax(0,1fr);gap: 4px}.archive-y{position: static;padding-top: 0;font-size: 1.125rem}.archive-list li{grid-template-columns: 4rem minmax(0,1fr)}.archive-meta{grid-column: 2}}.art-col{width: min(100% - 2 * var(--gutter),720px);margin-inline: auto}@media (min-width: 1101px){.art-col{width: min(100% - 2 * var(--gutter),1032px);padding-right: 312px}}.art-head{padding-block: clamp(40px,6vw,80px) clamp(28px,3vw,40px)}.art-head .post-kicker a{color: var(--muted);text-decoration: none}.art-head .post-kicker a:hover{color: var(--accent)}.art-head .post-kicker .part{padding: 3px 10px;border-radius: var(--r-pill);background: var(--accent-soft);color: var(--accent)}.art-head h1{margin-top: 18px;font-size: clamp(2.25rem,1.5rem + 3vw,3.75rem);line-height: 1.04;letter-spacing: -0.045em}.art-head .post-dek{margin-top: 18px}.art-meta{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 14px;margin-top: 28px}.art-head .translation-note{margin: 24px 0 0}.art-cover{margin-block: 0}.art-cover img{display: block;width: 100%;height: auto;border-radius: var(--r-xl)}.article .post-layout{margin-top: clamp(40px,5vw,64px)}.art-foot{margin-top: 64px;display: grid;gap: 28px}.art-series{padding: clamp(20px,3vw,32px);border-radius: var(--r-lg);background: var(--bg-sunken)}.art-series .post-kicker{margin-bottom: 10px}.art-series h2{font-size: 1.375rem;letter-spacing: -0.02em}.art-series h2 a{color: var(--ink);text-decoration: none}.art-series h2 a:hover{color: var(--accent)}.art-series ol{list-style: none;margin: 16px 0 0;padding: 0;counter-reset: part;border-top: 1px solid var(--line)}.art-series li{counter-increment: part;display: grid;grid-template-columns: 36px minmax(0,1fr);gap: 10px;align-items: baseline;padding: 11px 2px;border-bottom: 1px solid var(--line);font-size: .9375rem}.art-series li::before{content: counter(part,decimal-leading-zero);font: 500 .75rem/1 var(--font-mono);color: var(--muted)}.art-series li a{color: var(--ink-2);font-weight: 550;text-decoration: none}.art-series li a:hover{color: var(--accent)}.art-series li[aria-current]{color: var(--accent);font-weight: 650}.art-series li[aria-current]::before{color: var(--accent)}.art-steps{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 12px;margin-top: 18px}.art-steps a{display: grid;gap: 2px;padding: 12px 14px;border-radius: var(--r-md);background: var(--bg-elev);border: 1px solid var(--line);color: var(--ink);text-decoration: none;font-weight: 550;font-size: .9375rem}.art-steps a:hover{border-color: var(--line-strong)}.art-steps span{font: 500 .6875rem/1.4 var(--font-mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted)}.art-steps a:last-child{text-align: right}.art-steps a:only-child{grid-column: 1 / -1}.art-tags{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 12px}.art-tags .chips{gap: 6px}.art-tags button{display: inline-flex;align-items: center;gap: 8px;padding: 0;border: 0;background: none;color: var(--muted);font-size: .875rem;cursor: pointer}.art-tags button:hover{color: var(--ink)}.art-author{display: grid;grid-template-columns: 72px minmax(0,1fr);gap: 20px;padding: clamp(20px,3vw,28px);border-radius: var(--r-lg);background: var(--band);color: #fff}.art-author img{width: 72px;height: 72px;border-radius: 50%;border: 2px solid rgb(255 255 255 / .6)}.art-author strong{display: block;font-size: 1.125rem}.art-author .role{display: block;font-size: .8125rem;color: rgb(255 255 255 / .75)}.art-author p{margin-top: 10px;font-size: .9375rem;line-height: 1.6;color: rgb(255 255 255 / .86)}@media (max-width: 520px){.art-author{grid-template-columns: minmax(0,1fr)}.art-steps{grid-template-columns: minmax(0,1fr)}.art-steps a:last-child{text-align: left}}.art-more{margin-top: clamp(72px,9vw,112px)}