@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/archivo-vietnamese-wght-normal-HM2SI5GO.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/archivo-latin-ext-wght-normal-DJDR5FSA.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/archivo-latin-wght-normal-FAU44YVK.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--ink: #0f1525;--ink-2: #1b2236;--paper: #ffffff;--paper-2: #f5f6f8;--meta: #5b6270;--tone-2: #737a89;--line: #e4e7ec;--field-line: #8f95a1;--on-dark-field-line: #7b8391;--blue: #2e7aed;--blue-ink: #2468d4;--blue-hover: #1b56b3;--blue-deep: #0c2b6b;--sky: #bfdcff;--accent: var(--blue-ink);--accent-hover: var(--blue-hover);--accent-on-dark: var(--sky);--on-dark: #ffffff;--on-dark-meta: #aab2c5;--on-dark-line: rgba(255, 255, 255, .12);--font-sans: "Archivo Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-display: clamp(2.375rem, 4.6vw + .5rem, 4.25rem);--text-h2: clamp(1.875rem, 4.5vw, 3.25rem);--text-h3: clamp(1.125rem, 1rem + .5vw, 1.375rem);--text-lead: clamp(1.0625rem, 1rem + .35vw, 1.25rem);--text-body: .9375rem;--text-small: .875rem;--text-xs: .8125rem;--text-label: .75rem;--text-metric: clamp(2rem, 1.5rem + 2vw, 3rem);--r-pill: 9999px;--r-card: 1.25rem;--r-block: 1.75rem;--r-sm: .5rem;--shadow-card: 0 1px 2px rgba(15, 21, 37, .06), 0 2px 8px rgba(15, 21, 37, .06);--shadow-card-hover: 0 1px 2px rgba(15, 21, 37, .06), 0 8px 24px rgba(15, 21, 37, .1);--shadow-float: 0 1px 2px rgba(15, 21, 37, .06), 0 16px 40px -12px rgba(15, 21, 37, .22);--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-10: 2.5rem;--s-12: 3rem;--s-16: 4rem;--w-max: 80rem;--w-content: 45rem;--gutter: 1.25rem;--section-y: 4.5rem;--header-h: 4rem;--ease-out: cubic-bezier(.25, .1, .25, 1);--ease-sheet: cubic-bezier(.32, .72, 0, 1);--dur-roll: .5s;--dur-hover: .2s;--dur-sheet: .5s;color-scheme:light;accent-color:var(--accent)}@media(min-width:640px){:root{--text-body: 1.0625rem;--gutter: 2rem;--section-y: 6rem;--header-h: 4.5rem}}@media(min-width:1024px){:root{--gutter: 3rem;--section-y: 8rem}}:root,.tone-paper{--fg: var(--ink);--fg-meta: var(--meta);--fg-tone-2: var(--tone-2);--fg-line: var(--line);--fg-field-line: var(--field-line);--fg-accent: var(--accent);--bg: var(--paper)}.tone-paper-2{--fg: var(--ink);--fg-meta: var(--meta);--fg-tone-2: var(--tone-2);--fg-line: var(--line);--fg-field-line: var(--field-line);--fg-accent: var(--accent);--bg: var(--paper-2)}.tone-ink{--fg: var(--on-dark);--fg-meta: var(--on-dark-meta);--fg-tone-2: var(--on-dark-meta);--fg-line: var(--on-dark-line);--fg-field-line: var(--on-dark-field-line);--fg-accent: var(--accent-on-dark);--bg: var(--ink)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html:not(.lenis){scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;margin:0}button{background:none;border:0;padding:0;cursor:pointer}hr{border:0;border-top:1px solid var(--fg-line, var(--line));margin:0}input,textarea{caret-color:var(--fg-accent, var(--accent))}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:2px solid var(--fg-accent, var(--accent));outline-offset:2px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}h1,.display{font-size:var(--text-display);font-weight:600;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}h2,.h2{font-size:var(--text-h2);font-weight:600;line-height:1.06;letter-spacing:-.035em;text-wrap:balance}h2.display{font-size:var(--text-display);line-height:1.02;letter-spacing:-.04em}.tone-2{color:var(--fg-tone-2)}h3,.h3{font-size:var(--text-h3);font-weight:600;line-height:1.3;letter-spacing:-.01em;text-wrap:balance}.lead{font-size:var(--text-lead);font-weight:400;line-height:1.55;max-width:34em;text-wrap:pretty}.small{font-size:var(--text-small);line-height:1.5}.xs{font-size:var(--text-xs);line-height:1.5}.meta{color:var(--fg-meta)}.mono{font-family:var(--font-mono)}.metric{font-family:var(--font-mono);font-size:var(--text-metric);font-weight:600;line-height:1;letter-spacing:-.02em}p{text-wrap:pretty}.label{font-size:var(--text-label);font-weight:600;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-meta)}.kicker{font-size:var(--text-xs);line-height:1.4;letter-spacing:.02em;color:var(--fg)}@media(min-width:640px){.kicker{font-size:var(--text-small)}}.link{color:var(--fg-meta);transition:color var(--dur-hover) var(--ease-out)}.link:hover{color:var(--fg)}.hl{color:var(--fg-accent)}.container{width:100%;max-width:var(--w-max);margin-inline:auto;padding-inline:var(--gutter)}.container--content{max-width:calc(var(--w-content) + 2 * var(--gutter))}.section{padding-block:var(--section-y)}.section--tight{padding-block:calc(var(--section-y) * .75)}.grid{display:grid;gap:var(--s-6);grid-template-columns:repeat(12,minmax(0,1fr))}@media(max-width:1023px){.grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:639px){.grid{grid-template-columns:minmax(0,1fr)}}.media-grid{display:grid;gap:var(--s-5);grid-template-columns:minmax(0,1fr)}@media(min-width:768px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-6)}}@media(min-width:1024px){.media-grid{gap:1.75rem}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.stack>*+*{margin-top:var(--stack, var(--s-4))}.card{border-radius:var(--r-card);overflow:hidden;background:var(--paper-2)}@media(max-width:639px){.card{border-radius:.75rem}}.ratio-4-3{aspect-ratio:4 / 3}.ratio-3-2{aspect-ratio:3 / 2}.ratio-4-5{aspect-ratio:4 / 5}.ratio-16-10{aspect-ratio:16 / 10}.ratio-438-346{aspect-ratio:438 / 346}.ratio-4-3>img,.ratio-3-2>img,.ratio-4-5>img,.ratio-16-10>img,.ratio-438-346>img{width:100%;height:100%;object-fit:cover}.shot-frame{position:relative;display:flex;align-items:center;justify-content:center;padding:1.25rem;border-radius:var(--r-card);overflow:hidden;background-color:var(--paper);background-image:linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px),radial-gradient(circle 500px at 20% 80%,rgba(46,122,237,.18),transparent),radial-gradient(circle 500px at 80% 20%,rgba(191,220,255,.55),transparent);background-size:48px 48px,48px 48px,100% 100%,100% 100%}@media(min-width:640px){.shot-frame{padding:1.5rem}}@media(min-width:1024px){.shot-frame--wide{padding:2.5rem}}.shot-frame--4-3{aspect-ratio:4 / 3}.shot-frame--wide{aspect-ratio:16 / 10}.shot-frame>app-picture.shot{position:relative;width:100%;max-height:100%;background:transparent;box-shadow:var(--shadow-float)}@media(max-width:639px){.shot-frame{border-radius:.75rem}}.dotted{border:0;border-top:1px dotted var(--fg-meta)}.roll{display:block;height:20px;overflow:hidden}.roll__stack{display:flex;flex-direction:column;transition:transform var(--dur-roll) var(--ease-out)}.roll__stack>span{display:block;height:20px;line-height:20px;white-space:nowrap}.group:hover .roll__stack{transform:translateY(-50%)}@keyframes rotor-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.rotor-fill{display:block;height:100%;transform-origin:left center;transform:scaleX(0);background:currentColor}.rotor-fill--run{animation:rotor-fill var(--rotate-ms, 6.5s) linear forwards}.rotor-fill--full{transform:scaleX(1)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rise-in{animation:rise-in .52s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 90ms)}@media(prefers-reduced-motion:reduce){.rotor-fill--run{animation:none;transform:scaleX(1)}.rise-in{animation:none}}
