@font-face{font-family:Geist;src:url(/fonts/geist-latin.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap;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}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-latin.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap;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}@font-face{font-family:Geist Fallback;src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");ascent-override:100.5%;descent-override:29.5%;line-gap-override:0%;size-adjust:99.83%}@font-face{font-family:Geist Mono Fallback;src:local("Courier New"),local("Menlo"),local("Liberation Mono");ascent-override:100.5%;descent-override:29.5%;line-gap-override:0%;size-adjust:100%}:root{color-scheme:light dark;--sans: "Geist", "Geist Fallback", system-ui, sans-serif;--mono: "Geist Mono", "Geist Mono Fallback", ui-monospace, monospace;--bg: #faf9f7;--ink: #000000;--ink-2: #626269;--sep: #dcdad5;--panel: #ecebe9;--stroke: rgba(26, 25, 24, .28);--stage: #0d0d0e;--baked: #ecebe9;--plate: var(--stage);--edge: #8a8a8e;--ring: #000000;--r-3: 12px;--side: 420px;--side-pad: 60px;--pad: 60px;--col: 430px;--gap: 40px;--text: 560px;--full: calc(var(--col) * 2 + var(--gap))}@media(prefers-color-scheme:dark){:root{--bg: #1c1c1e;--ink: #ffffff;--ink-2: rgba(235, 235, 245, .6);--sep: #38383a;--panel: #2c2c2e;--stroke: rgba(120, 120, 128, .36);--stage: #000000;--edge: #8d8d93;--ring: #ffffff}}@media(max-width:79.99rem){:root{--side: 320px;--side-pad: 40px}}@media(max-width:63.99rem){:root{--pad: 20px;--gap: 16px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:40px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:22px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0}h1,h2,h3,h4{font:inherit}ul,ol{list-style:none}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}img,video,svg{display:block;max-width:100%}img,video{height:auto}button{font:inherit;color:inherit}b,strong{font-weight:560}.t1{font-size:28px;line-height:34px;font-weight:400;letter-spacing:-.02em;text-wrap:balance}.t3{font-size:20px;line-height:25px;font-weight:400;letter-spacing:-.012em;text-wrap:balance}.hl{font-size:17px;line-height:22px;font-weight:560;letter-spacing:-.005em}.bd{font-size:17px;line-height:22px;font-weight:400;letter-spacing:-.005em}.co{font-size:16px;line-height:21px;font-weight:400}.sh{font-size:15px;line-height:20px;font-weight:400}.caps{font-size:15px;line-height:20px;font-weight:560;letter-spacing:.1em;text-transform:uppercase}.mute{color:var(--ink-2)}.num{font-variant-numeric:tabular-nums}.nw{white-space:nowrap}.cap:first-letter{text-transform:uppercase}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.dots{display:flex;flex-wrap:wrap;align-items:center}.dots>*{white-space:nowrap}.dots>:not(:last-child):after{content:"";display:inline-block;width:3px;height:3px;margin:0 8px;border-radius:50%;background:currentColor;vertical-align:middle;transform:translateY(-1px)}.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:40px;padding:var(--side-pad);view-transition-name:side}.sig{display:block;width:60px;height:40px;color:var(--ink);border-radius:4px}.sig svg{width:60px;height:40px}.sig:hover{text-decoration:none}.who{display:grid;gap:4px}.index>summary{display:none}.index .inside{display:flex;flex-direction:column;gap:40px}.group{display:grid;gap:12px}.group .caps{color:var(--ink-2)}.row{position:relative;display:flex;justify-content:space-between;gap:8px}.row .n{font-weight:560}.row .p{color:var(--ink-2);text-align:right;white-space:nowrap}a.row:hover{text-decoration:none}a.row:hover .n{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}.row.off .n,.side.on-case .row .n{color:var(--ink-2)}.side.on-case .row[aria-current] .n{color:var(--ink)}.row[aria-current]:before{content:"";position:absolute;left:-16px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--ink)}.links{font-weight:560}.pane{min-width:0;box-shadow:inset 1px 0 0 var(--sep)}.intro{padding:var(--pad);border-bottom:1px solid var(--sep)}.intro .inner{display:grid;gap:4px}.intro .inner>*{max-width:var(--text)}.intro .meta{margin-bottom:4px;max-width:var(--full)}.intro .meta>*{white-space:normal}.intro .btns{margin-top:20px}.intro .note{margin-top:8px}.sections{display:grid;gap:80px;padding:var(--pad);padding-bottom:120px}.sec{display:grid;gap:40px;max-width:var(--full);min-width:0}.sec>h2+:is(.text,.items,.prose,.facts){margin-top:-16px}.w-full{max-width:var(--full)}.w-text{max-width:var(--text)}.halves,.cards{display:grid;grid-template-columns:repeat(2,minmax(0,var(--col)));gap:var(--gap)}.card{display:grid;gap:16px;align-content:start;min-width:0}.card .txt{display:grid;gap:8px}.shot{position:relative;display:grid;place-items:center;aspect-ratio:430 / 220;border-radius:12px;overflow:hidden;background:var(--panel)}.shot.stage{background:var(--stage)}.shot>.demo{position:absolute;inset:0}.shot.inset{padding:16px 24px;grid-template:minmax(0,1fr) / minmax(0,1fr)}.shot.inset>img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:4px}.shot.baked{background:var(--baked)}.shot.baked>img{width:100%;height:100%;object-fit:contain}.shot.pending{color:var(--ink-2)}.btns{display:flex;flex-wrap:wrap;gap:16px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--stroke);font-size:15px;line-height:20px;transition:background-color .12s ease-out}.btn.plain{border-color:transparent}.btn:hover{text-decoration:none;background:var(--panel)}.btn svg{width:12px;height:12px;flex:none}.list{max-width:var(--full)}.list .lrow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-block:12px;border-top:1px solid var(--sep)}.list .lrow:last-child{border-bottom:1px solid var(--sep)}.list .lrow>:first-child{min-width:0}.list .lrow>.sh{white-space:nowrap;font-variant-numeric:tabular-nums}.list .note{display:block;margin-top:2px}.facts{max-width:var(--text)}.facts>div{display:grid;gap:4px;padding-block:12px;border-top:1px solid var(--sep)}.facts>div:last-child{border-bottom:1px solid var(--sep)}.facts dt{color:var(--ink-2)}.facts .ladder{display:grid;gap:4px}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,var(--col)));gap:var(--gap);max-width:var(--full)}.stats>div{display:grid;gap:4px;align-content:start;padding-top:12px;border-top:1px solid var(--sep)}.stats dt{font-variant-numeric:tabular-nums}.text{max-width:var(--text);display:grid;gap:12px}.text p,.items li,.prose p{text-wrap:pretty}.items{display:grid;gap:16px;max-width:var(--text)}.items li{display:grid;gap:2px}.items .price{color:var(--ink-2)}ol.items{counter-reset:item}ol.items li{counter-increment:item}ol.items li>b:before{content:counter(item,decimal-leading-zero) "  ";color:var(--ink-2);font-variant-numeric:tabular-nums}.text a,.items a,.prose a,.intro .inner p a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:var(--stroke)}.text a:hover,.items a:hover,.prose a:hover,.intro .inner p a:hover{text-decoration-color:currentColor}.prose{max-width:var(--text);hanging-punctuation:first allow-end}.prose>*+*{margin-top:12px}.prose h2{font-size:28px;line-height:34px;letter-spacing:-.02em;text-wrap:balance}.prose>h2{margin-top:80px}.prose>h2:first-child{margin-top:0}.prose>h2+*{margin-top:40px}.prose h3{font-weight:560}.prose>h3{margin-top:32px}.prose>h3+*{margin-top:8px}.prose ul,.prose ol{padding-left:20px}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li+li{margin-top:6px}.prose>figure{margin-block:32px;display:grid;gap:12px;justify-items:start}.prose>figure+*{margin-top:32px}.prose>figure img{max-height:560px;width:auto;border-radius:12px}.prose figcaption{font-size:15px;line-height:20px;color:var(--ink-2);text-wrap:pretty}blockquote{padding-left:16px;border-left:2px solid var(--sep);color:var(--ink-2)}hr{border:0;border-top:1px solid var(--sep);margin:40px 0}code{font-family:var(--mono);font-size:15px;background:var(--panel);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}pre{background:var(--panel);border-radius:12px;padding:16px 20px;overflow-x:auto;font-size:13px;line-height:20px}pre code{font-size:inherit;background:none;padding:0;white-space:pre}.leader{font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.fig{display:grid;gap:12px;min-width:0}.fig.full{max-width:var(--full)}.fig.half{max-width:var(--col)}.fig.text{max-width:var(--text)}.fig figcaption{max-width:var(--text);text-wrap:pretty}.plate{position:relative;min-width:0;border-radius:12px;overflow:hidden;background:var(--panel)}.plate.stage{background:var(--stage)}.plate.baked{background:var(--baked)}.plate.none{background:none;overflow:visible;border-radius:0}.plate>img{width:100%;height:auto}.plate.inset{padding:32px}.plate.inset>img{border-radius:4px}.pair{display:grid;grid-template-columns:repeat(2,minmax(0,var(--col)));gap:var(--gap)}.pair .plate{aspect-ratio:4 / 3;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center}.pair .plate.inset{padding:24px}.pair .plate>img{max-width:100%;max-height:100%;width:auto}.pair .plate.baked>img,.pair .plate:not(.inset)>img{width:100%;height:100%;object-fit:contain}.strip{padding:24px}.jrow{display:flex;gap:8px;align-items:flex-start;justify-content:center}.jrow+.jrow{margin-top:8px}.jrow>img{flex:var(--r) 1 0;min-width:0;width:100%;height:auto;border-radius:3px}.strip.capped .jrow{gap:24px}.strip.capped .jrow>img{max-width:var(--max);border-radius:10px}.pending-wide{aspect-ratio:900 / 240;display:grid;place-items:center;color:var(--ink-2)}.sec-head{display:grid;gap:8px;max-width:var(--text)}.sec-head .t1{text-wrap:wrap}.sub{display:grid;gap:24px;min-width:0}.sub+.sub{margin-top:16px}.sub-head{display:grid;gap:6px;max-width:var(--text)}.scr{display:block;width:100%;height:auto;box-shadow:0 0 0 1px var(--sep)}.scr.web{border-radius:10px}.scr.app{border-radius:18px}.scr.dark,.plate.stage .scr.app{box-shadow:none}.plate.pad-l{padding:40px}.plate.pad-s{padding:24px}.plate.centered{display:grid;place-items:center}.plate.cell{display:grid;place-items:center;height:100%}.grid{display:grid;gap:var(--gap);max-width:var(--full);min-width:0}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid.al-start{align-items:start}.grid.al-center{align-items:center}.grid.al-stretch{align-items:stretch}.grid>.capped{justify-self:center;width:100%}.grid-wrap{max-width:var(--full);min-width:0}.grid-wrap.fig{display:grid;gap:12px}figcaption b,.caption b{color:var(--ink);font-weight:560}.caption{max-width:var(--text);text-wrap:pretty}.btn.off{color:var(--ink-2);cursor:default}.btn.off:hover{background:none}.hero-plate{display:grid;place-items:center}@media(max-width:63.99rem){.shell{grid-template-columns:minmax(0,1fr)}.side{position:static;height:auto;overflow:visible;padding:24px 20px 20px;gap:16px;border-bottom:1px solid var(--sep);view-transition-name:none}.index>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--stroke);font-size:15px;line-height:20px}.index>summary::-webkit-details-marker{display:none}.index>summary:after{content:"+";color:var(--ink-2)}.index[open]>summary:after{content:"−"}.index .inside{gap:28px;padding-top:20px}.row[aria-current]:before{left:-12px}.pane{box-shadow:none}.intro{padding:28px 20px}.sections{gap:56px;padding:32px 20px 56px}.sec{gap:24px}.sec>h2+:is(.text,.items,.prose,.facts){margin-top:-8px}.cards,.halves{grid-template-columns:minmax(0,1fr);gap:40px}.pair{grid-template-columns:minmax(0,1fr);gap:24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.plate.inset,.plate.pad-l{padding:16px}.grid.c2{grid-template-columns:minmax(0,1fr);gap:24px}.grid.c3,.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.strip{padding:12px}.strip:not(.capped) .jrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.strip:not(.capped) .jrow+.jrow{margin-top:6px}.strip:not(.capped) .jrow>img{aspect-ratio:241 / 400;object-fit:cover}.strip.capped .jrow{gap:10px}.pending-wide{aspect-ratio:350 / 160}}@media(max-width:30rem){.list .lrow.stack{flex-direction:column;gap:4px}}@media(min-width:64rem)and (max-height:66rem){.side{gap:28px;padding-block:40px}.index .inside{gap:28px}.group{gap:8px}}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in oklab,var(--ring) 12%,transparent)}html.ring :focus-visible{outline-color:transparent;box-shadow:none}#ring{position:fixed;top:0;left:0;z-index:90;pointer-events:none;opacity:0;width:1px;height:1px;border:2px solid var(--ring);border-radius:4px;box-shadow:0 0 0 4px color-mix(in oklab,var(--ring) 12%,transparent);translate:var(--rx, 0) var(--ry, 0);transition:translate .22s cubic-bezier(.22,1,.36,1),width .22s cubic-bezier(.22,1,.36,1),height .22s cubic-bezier(.22,1,.36,1),border-radius .22s cubic-bezier(.22,1,.36,1),opacity .16s ease-out}#ring[data-on]{opacity:1}.skip{position:absolute;left:20px;top:0;translate:0 -120%;z-index:100;background:var(--bg);color:var(--ink);border:1px solid var(--stroke);padding:8px 12px;font-size:15px;line-height:20px}.skip:focus{translate:0 8px}@property --built{syntax: "<number>"; inherits: true; initial-value: 1;}@property --wire{syntax: "<number>"; inherits: true; initial-value: 0;}@view-transition{navigation:auto;types:sweep}::view-transition-group(*){animation-duration:.26s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(side),::view-transition-new(side){animation-duration:.16s}html:active-view-transition-type(sweep)::view-transition-image-pair(root){background:linear-gradient(var(--edge),var(--edge)) 0 0 / 100% 1px no-repeat;animation:sweep-rule .26s cubic-bezier(.4,0,.2,1) both}html:active-view-transition-type(sweep)::view-transition-old(root){animation:sweep-old .26s cubic-bezier(.4,0,.2,1) both}html:active-view-transition-type(sweep)::view-transition-new(root){animation:sweep-new .26s cubic-bezier(.4,0,.2,1) both}@keyframes sweep-rule{0%{background-position:0 0}to{background-position:0 100%}}@keyframes sweep-old{0%{clip-path:inset(0 0 0 0)}to{clip-path:inset(100% 0 0 0)}}@keyframes sweep-new{0%{clip-path:inset(0 0 calc(100% + 1px) 0)}to{clip-path:inset(0 0 calc(0% + 1px) 0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:1ms!important}}
