:root{--v3-stage-light: #eef0f2;--v3-stage-cool: #e6e8e9;--v3-stage-dark: #0a0a0a;--v3-stage-deep: #070707;--v3-ink-dark: #2b2b2b;--v3-ink-hi: #ebebeb;--v3-ink-mid: #bcbcbc;--v3-ink-low: #a1a1a1;--v3-sel: #2f6fed;--v3-sel-text: #4c86f5;--v3-danger: #c4442a;--v3-danger-dark: #e06a4e;--v3-warn: #96690f;--v3-warn-dark: #d6a43a;--v3-nav-h: 3.75rem}body{background:var(--v3-stage-light)}#site-nav{background:#eef0f2eb}:root{--stage-col: min(58vw, 42rem);--fig-col: min(92vw, 100rem)}@media(max-width:767px){:root{--stage-col: min(86vw, 34rem);--fig-col: 86vw}}.story-stage:not([data-story-ground=dark]){--color-ink-3: var(--color-ink-2)}.story-stage{position:relative;isolation:isolate;color:var(--v3-ink-dark);--stage-inset: clamp(1.25rem, 4vw, 3rem);--stage-top: clamp(2rem, 5vh, 4rem);--paper-pad: clamp(1rem, 2.4vw, 2rem);--stage-aside: calc((100% - var(--stage-col)) / 2 - var(--stage-inset) * 2);--fig-reserve: 6.5rem;--fig-share: .78}.stage-ground{position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:var(--v3-stage-light);transition-property:background-color;transition-duration:0s;transition-timing-function:linear}.story-stage[data-story-ground=dark] .stage-ground{background-color:var(--v3-stage-dark)}.story-stage[data-story-ground=dark]{color:var(--v3-ink-hi)}.story-stage[data-story-ground=dark] :focus-visible{outline-color:var(--v3-sel-text)}.stage-figure{display:flex;justify-content:center;padding:clamp(2rem,6vw,5rem) 1.25rem 0}.stage-sheet{margin:0;width:min(var(--fig-col),100%)}.stage-camera{display:flex;flex-direction:column;min-height:0;--cam-cx: .5;--cam-cy: .5}.sheet-paper{position:relative;display:flex;justify-content:center;min-height:0;padding:var(--paper-pad) var(--paper-pad) clamp(.75rem,1.8vw,1.5rem)}.sheet-white{position:absolute;inset:0;z-index:-1;background:#fff}.sheet-shadow{position:absolute;inset:0;z-index:-1;box-shadow:0 1px 2px #1b1b180f,0 14px 36px -14px #1b1b1838}.sheet-figure{position:relative;width:100%;aspect-ratio:var(--fig-ar);margin-bottom:clamp(.5rem,1.6vw,1.25rem)}.fig1{display:block;width:100%;height:100%;overflow:visible}.sheet-caption{margin-top:.875rem;text-align:right}.story-stage[data-story-ground=dark] .measure-note{color:var(--v3-ink-low)}.stage-selection-shift{position:absolute;inset:0;pointer-events:none}.stage-selection{position:absolute;left:var(--sel-x);top:var(--sel-y);width:var(--sel-w);height:var(--sel-h);outline:1px solid var(--v3-sel);pointer-events:none}.sel-handle{position:absolute;left:var(--hx);top:var(--hy);width:7px;height:7px;margin:-4px 0 0 -4px;background:#fff;border:1px solid var(--v3-sel)}.obj-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.obj-box{fill:none;stroke:var(--v3-sel);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.5}.obj-guide{stroke:var(--v3-sel);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.4}.obj-tag{font-size:6px;font-family:var(--font-mono);fill:var(--color-ink-3)}.obj[data-current] .obj-box,.obj[data-current] .obj-guide{opacity:1}.obj[data-current] .obj-tag{fill:var(--v3-sel)}.semantic-objects{margin:1.125rem 0 0;padding:0;list-style:none;display:grid;gap:.3rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;color:var(--color-ink-3)}.semantic-objects li{display:flex;gap:.75rem;align-items:baseline}.obj-n{color:var(--color-blue)}.obj-id{font-family:inherit;font-size:inherit;color:var(--color-ink-2)}.story-stage[data-story-ground=dark] .semantic-objects{color:var(--v3-ink-low)}.story-stage[data-story-ground=dark] .obj-n{color:var(--v3-sel-text)}.story-stage[data-story-ground=dark] .obj-id{color:var(--v3-ink-hi)}.stage-panel{margin:1.125rem 0 0;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;line-height:1.55;color:var(--color-ink-3)}.panel-head{margin:0 0 .5rem;color:var(--color-ink-3)}.panel-row{margin:0;display:flex;gap:.75rem;align-items:baseline}.edit-value{font-variant-numeric:tabular-nums;margin-top:.3rem}.edit-number{color:var(--color-ink-1)}.edit-target{color:var(--color-blue)}.edit-unit{color:var(--color-ink-3)}.script-lines{margin:0;padding:0 0 0 2.5em;list-style:decimal;font-variant-numeric:tabular-nums}.script-lines li{color:var(--color-ink-3)}.script-lines code{font-family:inherit;font-size:inherit;color:var(--color-ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.record-lines{margin:0;font-family:inherit;font-size:inherit;color:var(--color-ink-2);white-space:normal}.record-line{display:block;white-space:pre-wrap;overflow-wrap:anywhere}.page-box{position:absolute;left:var(--page-l);top:var(--page-t);width:var(--page-w);height:var(--page-h);transform-origin:var(--page-origin);display:none}.story-stage[data-story-direction=desktop] .page-box,.story-stage[data-story-direction=mobile] .page-box{display:block}.stage-page{z-index:-1}.page-paper{position:absolute;inset:0;background:#fff;overflow:hidden}.page-panel{position:absolute;left:var(--p-l);top:var(--p-t);width:var(--p-w);height:var(--p-h);overflow:hidden;transform-origin:0 0}.page-panel picture,.page-label picture{display:contents}.page-crop{position:absolute;left:var(--c-l);top:var(--c-t);width:var(--c-w);height:var(--c-h);max-width:none}.page-ruler{position:absolute;overflow:visible}.page-ruler-x{left:0;bottom:100%;width:100%;height:var(--band)}.page-ruler-y{top:0;right:100%;height:100%;width:var(--band)}.rule-tick{stroke:var(--v3-ink-low);stroke-width:1;vector-effect:non-scaling-stroke}.rule-label{font-family:var(--font-mono);font-size:2.6px;letter-spacing:.04em;fill:var(--v3-ink-low);text-anchor:end}.page-over{pointer-events:none}.page-label{position:absolute;left:var(--p-l);top:var(--p-t);width:var(--p-w);height:var(--p-h);overflow:hidden}.page-marks{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.page-mark{fill:none;stroke-width:1;vector-effect:non-scaling-stroke;opacity:0}.page-mark[data-severity=error]{stroke:var(--v3-danger)}.page-mark[data-severity=warn]{stroke:var(--v3-warn)}.page-mark[data-severity=suggestion]{stroke:var(--color-ink-3)}.page-scale,.page-measure{font-family:var(--font-mono);font-size:2.4px;letter-spacing:.03em;font-variant-numeric:tabular-nums;fill:var(--color-ink-3)}.page-measure[data-severity=error]{fill:var(--v3-danger)}.page-scan{position:absolute;inset:0;opacity:0}.scan-line{position:absolute;left:0;right:0;top:0;height:1px;background:var(--v3-sel)}.compose-still{margin:1.125rem 0 0}.compose-still-img{display:block;width:100%;height:auto;background:#fff}.compose-still figcaption{margin-top:.5rem;text-align:right}.story-stage[data-story-direction=desktop] .compose-still,.story-stage[data-story-direction=mobile] .compose-still{display:none}.page-rows,.finding-rows,.finding-rounds{margin:0;padding:0;list-style:none;display:grid;gap:.3rem}.finding-rounds li{display:flex;gap:.75rem;align-items:baseline}.page-rows li{display:grid;grid-template-columns:auto 1fr auto;gap:0 .75rem;align-items:baseline}.row-body{display:grid}.row-scale,.r-verdict{margin-left:auto;font-variant-numeric:tabular-nums}.finding-rows{gap:.5rem}.finding{display:grid;gap:.15rem}.f-head{display:flex;gap:.75rem;align-items:baseline}.f-sev{display:inline-grid}.f-sev-found,.f-sev-after{grid-area:1 / 1;justify-self:start}.f-sev-after{opacity:0}.finding[data-severity=error] .f-sev-found,.finding[data-severity=warn] .f-sev-found{color:var(--v3-ink-dark)}.f-where{color:var(--color-ink-3);letter-spacing:.08em}.f-text{display:inline-grid;color:var(--color-ink-2)}.f-found,.f-after{grid-area:1 / 1}.f-after{opacity:0}.finding-counts{margin:.75rem 0 0;display:inline-grid;font-variant-numeric:tabular-nums}.counts-found,.counts-fixed{grid-area:1 / 1;justify-self:start}.counts-fixed{opacity:0}.counts-blocking{color:var(--v3-ink-dark)}.finding-rounds{margin-top:.5rem;counter-reset:none}.export-files{margin:0;padding:0;list-style:none;display:grid;gap:.3rem;font-variant-numeric:tabular-nums}.export-files li{display:grid;grid-template-columns:auto 1fr;gap:0 .75rem;align-items:baseline}.export-files .file-fact{text-align:right}.export-name{display:none}.story-stage[data-story-direction=desktop] .stage-sheet,.story-stage[data-story-direction=mobile] .stage-sheet{position:relative}.story-stage[data-story-direction=desktop] .export-name,.story-stage[data-story-direction=mobile] .export-name{display:block;position:absolute;left:0;right:0;bottom:0;margin:0;text-align:center;opacity:0}.export-out{position:absolute;inset:0;pointer-events:none}.export-file{position:absolute;top:56%;width:min(11rem,20vw);font-family:var(--font-mono);font-size:.6875rem;line-height:1.5;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--v3-ink-low);transform:scale(var(--cam-inv))}.export-file[data-side=left]{right:100%;margin-right:calc(1.5rem * var(--cam-inv));transform-origin:100% 0;text-align:right}.export-file[data-side=right]{left:100%;margin-left:calc(1.5rem * var(--cam-inv));transform-origin:0 0}.export-move{display:grid;gap:.15rem;opacity:0}.export-thumb{display:block;margin-bottom:.35rem}.export-thumb img{display:block;width:72%;height:auto;border:1px solid var(--v3-sel)}.export-file[data-side=left] .export-thumb img{margin-left:auto}@media(max-width:767px){.export-files li{grid-template-columns:1fr}.export-files .file-fact{text-align:left}}.export-file-name{color:var(--v3-ink-hi)}@media(max-width:1023px){.story-stage[data-story-direction=desktop] .export-file{top:calc(100% + 2.75rem * var(--cam-inv));width:min(9rem,34vw)}.story-stage[data-story-direction=desktop] .export-file[data-side=left]{right:50%;margin-right:calc(.5rem * var(--cam-inv))}.story-stage[data-story-direction=desktop] .export-file[data-side=right]{left:50%;margin-left:calc(.5rem * var(--cam-inv))}}.story-stage[data-story-direction=mobile] .export-file{top:calc(100% + 4rem * var(--cam-inv));width:min(11rem,42vw)}.story-stage[data-story-direction=mobile] .export-thumb{display:none}.story-stage[data-story-direction=mobile] .export-file[data-side=left]{right:50%;margin-right:calc(.5rem * var(--cam-inv))}.story-stage[data-story-direction=mobile] .export-file[data-side=right]{left:50%;margin-left:calc(.5rem * var(--cam-inv))}.edit-cta{display:inline-block;margin-top:.875rem;color:var(--color-blue);text-decoration:underline;text-underline-offset:.25em}.replay-count{margin:.875rem 0 0;display:inline-grid;font-variant-numeric:tabular-nums}.count-run,.count-done{grid-area:1 / 1;justify-self:start}.count-run{opacity:0}.story-stage[data-story-ground=dark] .stage-panel,.story-stage[data-story-ground=dark] .panel-head,.story-stage[data-story-ground=dark] .script-lines li,.story-stage[data-story-ground=dark] .edit-unit{color:var(--v3-ink-low)}.story-stage[data-story-ground=dark] .script-lines code,.story-stage[data-story-ground=dark] .record-lines,.story-stage[data-story-ground=dark] .edit-number{color:var(--v3-ink-hi)}.story-stage[data-story-ground=dark] .edit-target,.story-stage[data-story-ground=dark] .edit-cta{color:var(--v3-sel-text)}.story-stage[data-story-ground=dark] .f-text{color:var(--v3-ink-hi)}.story-stage[data-story-ground=dark] .f-where,.story-stage[data-story-ground=dark] .page-rows li,.story-stage[data-story-ground=dark] .finding-rounds li{color:var(--v3-ink-low)}.story-stage[data-story-ground=dark] .row-scale,.story-stage[data-story-ground=dark] .r-verdict,.story-stage[data-story-ground=dark] .finding-counts{color:var(--v3-ink-mid)}.story-stage[data-story-ground=dark] .finding[data-severity=error] .f-sev-found,.story-stage[data-story-ground=dark] .counts-blocking{color:var(--v3-danger-dark)}.story-stage[data-story-ground=dark] .finding[data-severity=warn] .f-sev-found{color:var(--v3-warn-dark)}.stage-pointer{position:absolute;left:var(--pointer-x);top:var(--pointer-y);display:block;opacity:0;pointer-events:none}.stage-chapter{padding:clamp(2.5rem,8vw,6rem) 1.25rem;width:var(--stage-col);margin-inline:auto}.stage-eyebrow{margin:0 0 .5rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-3)}.story-stage[data-story-ground=dark] .stage-eyebrow{color:var(--v3-ink-low)}.stage-chapter h1,.stage-chapter h2{margin:0;font-weight:650;font-size:clamp(2.4rem,5.2vw,4.4rem);line-height:1.02;letter-spacing:-.05em;text-wrap:balance}.stage-chapter h1.prologue-h1{font-size:clamp(1.6rem,2.6vw,2.35rem);line-height:1.12}.prologue-eyebrow{margin:0 0 .625rem;font-size:.8125rem;letter-spacing:.01em;color:var(--color-ink-3)}.story-stage[data-story-ground=dark] .prologue-eyebrow{color:var(--v3-ink-low)}.prologue-h1-a{font-weight:650}.prologue-h1-b{margin-left:.3em;color:var(--color-ink-2);font-style:italic;font-weight:400;letter-spacing:-.01em}.prologue-h1-a,.prologue-h1-b,.final-h>span{display:block}.prologue-h1-b{margin-left:0}.story-stage[data-story-ground=dark] .prologue-h1-b{color:var(--v3-ink-mid)}:lang(zh) .stage-chapter h1,:lang(zh) .stage-chapter h2{letter-spacing:-.02em}.stage-lead{margin:1rem 0 0;max-width:44ch;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.55;color:var(--color-ink-2);text-wrap:pretty}.story-stage[data-story-ground=dark] .stage-lead{color:var(--v3-ink-mid)}.prologue-note{margin:.625rem 0 0}.prologue-cta{margin-top:1.5rem}.dl-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.dl-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:.625rem;text-align:left;border:1px solid var(--color-line-strong);background:transparent;color:inherit;flex:1 1 16rem}.dl-icon{flex:none;margin-top:-.05em}.dl-text{display:grid;gap:.1rem}.dl-label{font-size:.9375rem;font-weight:500;line-height:1.2}.dl-sub{display:grid;gap:.05rem}.dl-sub-file,.dl-sub-release{display:block}.dl-sub{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.03em;line-height:1.3;color:var(--color-ink-3);font-variant-numeric:tabular-nums}.dl-block[data-dl-primary=windows] .dl-btn[data-dl-platform=windows],.dl-block[data-dl-primary=macos] .dl-btn[data-dl-platform=macos]{order:-1;background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.dl-block[data-dl-primary=windows] .dl-btn[data-dl-platform=windows] .dl-sub,.dl-block[data-dl-primary=macos] .dl-btn[data-dl-platform=macos] .dl-sub{color:color-mix(in srgb,var(--color-paper) 72%,transparent)}.story-stage[data-story-ground=dark] .dl-btn{border-color:var(--v3-ink-dark)}.story-stage[data-story-ground=dark] .dl-btn .dl-sub{color:var(--v3-ink-low)}.story-stage[data-story-ground=dark] .dl-block[data-dl-primary=windows] .dl-btn[data-dl-platform=windows],.story-stage[data-story-ground=dark] .dl-block[data-dl-primary=macos] .dl-btn[data-dl-platform=macos]{background:var(--v3-ink-hi);border-color:var(--v3-ink-hi);color:var(--v3-stage-dark)}.story-stage[data-story-ground=dark] .dl-block[data-dl-primary=windows] .dl-btn[data-dl-platform=windows] .dl-sub,.story-stage[data-story-ground=dark] .dl-block[data-dl-primary=macos] .dl-btn[data-dl-platform=macos] .dl-sub{color:color-mix(in srgb,var(--v3-stage-dark) 68%,transparent)}.dl-choose{display:none;margin:0 0 .625rem;font-size:.875rem;color:var(--color-ink-2)}.dl-block[data-dl-device=handheld] .dl-choose{display:block}.story-stage[data-story-ground=dark] .dl-choose{color:var(--v3-ink-mid)}.dl-label-short{display:none}.dl-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:.875rem 0 0;font-size:.8125rem}.dl-links a{color:var(--color-ink-2);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:var(--color-line-strong)}.dl-links a:hover{color:var(--color-ink)}.dl-try{font-weight:500}.dl-rest{display:inline-flex;align-items:baseline;gap:.5rem}.dl-dot{color:var(--color-ink-3)}.story-stage[data-story-ground=dark] .dl-links a{color:var(--v3-ink-mid);text-decoration-color:var(--v3-ink-dark)}.story-stage[data-story-ground=dark] .dl-links a:hover{color:var(--v3-ink-hi)}.dl-aside{margin:.5rem 0 0}.dl-note{margin:.5rem 0 0;font-size:.8125rem}.dl-note>summary{cursor:pointer;color:var(--color-ink-2);font-size:.75rem}.dl-note>summary:hover{color:var(--color-ink)}.dl-note-body{max-width:42ch;margin-top:.625rem;padding-left:.875rem;border-left:1px solid var(--color-line);color:var(--color-ink-2)}.dl-note-body p{margin:0 0 .5rem;line-height:1.5}.dl-note-body p:last-child{margin-bottom:0}.dl-note-h{font-weight:550;color:var(--color-ink)}.dl-note-body a{color:inherit;text-decoration:underline;text-underline-offset:.2em}.story-stage[data-story-ground=dark] .dl-note>summary,.story-stage[data-story-ground=dark] .dl-note-body{color:var(--v3-ink-mid)}.story-stage[data-story-ground=dark] .dl-note-h{color:var(--v3-ink-hi)}.story-stage[data-story-ground=dark] .dl-note-body{border-left-color:var(--v3-ink-dark)}.stage-scene{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.story-box{display:inline-flex;align-items:center;padding:.35rem .6rem;border:1px solid var(--v3-sel);border-radius:2px;font-family:var(--font-mono);font-size:.6875rem;color:inherit}.story-stage{display:grid;--stage-gap: clamp(1.5rem, 4vw, 4rem);column-gap:var(--stage-gap)}.stage-chapters{display:contents}.stage-chapter{grid-row:var(--held-row)}.stage-held{grid-row:1 / var(--held-release);pointer-events:none}.stage-figure{position:sticky;pointer-events:auto}@media(max-width:1023px){.story-stage{grid-template-columns:minmax(0,1fr);--held-band: min(38dvh, 84vw)}.stage-held .sheet-figure{width:min(100%,calc((var(--held-band) - 5rem) * var(--fig-ratio)))}.stage-held .stage-sheet{width:min(var(--fig-col),calc((var(--held-band) - 5rem) * var(--fig-ratio) + var(--paper-pad) * 2))}.stage-held,.stage-chapter{grid-column:1}.stage-held{z-index:1}.stage-figure{top:var(--v3-nav-h);height:var(--held-band);padding-top:1rem;background-color:var(--v3-stage-light);transition-property:background-color;transition-duration:0s;transition-timing-function:linear}.story-stage[data-story-ground=dark] .stage-figure{background-color:var(--v3-stage-dark)}.stage-sheet{max-height:100%}.stage-chapter[data-chapter=prologue]{padding-top:calc(var(--held-band) + 1.5rem)}}@media(min-width:1024px){.story-stage{grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);--spread-cols: minmax(0, min(54%, 62rem)) minmax(0, 1fr);padding-inline:var(--stage-inset)}.stage-held{grid-column:1}.stage-figure{top:calc(var(--v3-nav-h) + var(--stage-top));padding:clamp(1.5rem,4vh,3rem) 0 0}.stage-chapter{grid-column:2;width:auto;margin-inline:0;padding-inline:0}.stage-chapter[data-held=spread]{grid-column:1 / -1;display:grid;grid-template-columns:var(--spread-cols);column-gap:var(--stage-gap);grid-template-rows:auto auto auto minmax(0,1fr);align-items:start}.stage-chapter[data-held=spread]>.stage-panel:not(.stage-page-doc),.stage-chapter[data-held=spread]>.compose-still{grid-column:1;grid-row:1 / -1;margin-top:0;max-width:46rem}.stage-chapter[data-held=spread]>.compose-still{max-width:none}.stage-chapter[data-held=spread]>.stage-copy{grid-column:2;grid-row:1}.stage-chapter[data-held=spread]>.stage-page-doc{grid-column:2;grid-row:2;max-width:46rem}.stage-chapter[data-held=spread]>.stage-scene{grid-column:2;grid-row:3}}.story-final{width:var(--stage-col);max-width:100%;margin-inline:auto;padding:clamp(3.5rem,9vw,7rem) 1.25rem clamp(3rem,7vw,5.5rem)}:root[data-story-direction=desktop] .story-final,:root[data-story-direction=mobile] .story-final{padding-top:clamp(2rem,4.5vw,3.5rem)}.final-h{margin:0;font-size:clamp(1.6rem,2.6vw,2.35rem);font-weight:400;line-height:1.16;letter-spacing:-.02em;text-wrap:balance}.final-h-b{color:var(--color-ink-2)}.final-actions .dl-block{width:100%}.final-actions .dl-buttons{flex:1 1 20rem}.final-actions .dl-btn{flex:1 1 15rem}.final-github{align-self:flex-start}.final-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1rem;margin-top:1.75rem}.final-license{margin:1.375rem 0 0;max-width:52ch;font-size:12.5px;line-height:1.6;color:var(--color-ink-3)}:root[data-story-ground=dark] .story-final{--color-ink: var(--v3-ink-hi);--color-ink-2: var(--v3-ink-mid);--color-ink-3: var(--v3-ink-low);--color-line: var(--v3-ink-dark);--color-line-strong: var(--v3-ink-dark);--color-paper: var(--v3-stage-dark);color:var(--v3-ink-hi)}:root[data-story-ground=dark] .final-h-b{color:var(--v3-ink-mid)}:root[data-story-ground=dark] .final-license{color:var(--v3-ink-low)}:root[data-story-ground=dark] .story-final .btn-primary{background:var(--v3-ink-hi);color:var(--v3-stage-dark)}:root[data-story-ground=dark] .story-final .btn-primary:hover{background:#fff}:root[data-story-ground=dark] .btn-secondary{color:var(--v3-ink-hi);border-color:var(--v3-ink-dark)}:root[data-story-ground=dark] .btn-secondary:hover{border-color:var(--v3-ink-low);background:#ffffff0f}:root[data-story-ground=dark] .story-final :focus-visible{outline-color:var(--v3-sel-text)}:root[data-story-ground=dark] body>footer{--color-ink: var(--v3-ink-hi);--color-ink-2: var(--v3-ink-mid);--color-ink-3: var(--v3-ink-low);--color-line: var(--v3-ink-dark);--color-line-strong: var(--v3-ink-dark);color:var(--v3-ink-hi)}:root[data-story-ground=dark] body>footer :focus-visible{outline-color:var(--v3-sel-text)}:root[data-story-ground=dark] body>footer .footer-brand .brand-light{display:none}:root[data-story-ground=dark] body>footer .footer-brand .brand-dark{display:block}.story-stage[data-story-direction=desktop],.story-stage[data-story-direction=mobile]{height:calc(100dvh - var(--v3-nav-h));overflow:hidden;contain:layout paint;transform:translateZ(0);display:grid;grid-template-rows:minmax(0,1fr) auto;row-gap:clamp(1.25rem,3.5vh,2.75rem);justify-items:center;padding-block:var(--stage-top) clamp(1.25rem,3vh,2.5rem);grid-template-columns:none;column-gap:0;padding-inline:0;--fig-max: calc((100dvh - var(--v3-nav-h)) * var(--fig-share))}.story-stage[data-story-direction=desktop] .stage-held,.story-stage[data-story-direction=mobile] .stage-held{display:contents}.story-stage[data-story-direction=desktop] .stage-figure,.story-stage[data-story-direction=mobile] .stage-figure{grid-area:auto;position:static;z-index:auto;background-color:transparent}.story-stage[data-story-direction=mobile] .stage-figure{grid-row:1}.story-stage[data-story-direction=mobile] .stage-chapters{grid-row:2}@media(min-width:768px)and (max-width:1023px)and (min-height:1000px){.story-stage[data-story-direction=desktop]{grid-template-rows:auto minmax(0,1fr)}.story-stage[data-story-direction=desktop] .stage-chapters{grid-row:1}.story-stage[data-story-direction=desktop] .stage-figure{grid-row:2}}.story-stage[data-story-direction=desktop] .stage-chapters,.story-stage[data-story-direction=mobile] .stage-chapters{display:grid;align-self:end;width:var(--stage-col)}.story-stage[data-story-direction=desktop] .stage-chapter,.story-stage[data-story-direction=mobile] .stage-chapter{grid-area:1 / 1;align-self:end;width:100%;padding:0;display:flex;flex-direction:column}.story-stage[data-story-direction=desktop] .stage-chapter,.story-stage[data-story-direction=mobile] .stage-chapter{pointer-events:none}.story-stage[data-story-direction=desktop] .stage-chapter>*,.story-stage[data-story-direction=mobile] .stage-chapter>*{pointer-events:auto}.story-stage[data-story-direction=desktop] .stage-panel,.story-stage[data-story-direction=mobile] .stage-panel{pointer-events:none}.story-stage[data-story-direction=desktop] :is(.stage-copy,.stage-scene),.story-stage[data-story-direction=mobile] :is(.stage-copy,.stage-scene){opacity:0;visibility:hidden;transition:opacity .35s linear}.story-stage[data-story-direction=desktop] .stage-chapter[data-active] :is(.stage-copy,.stage-scene),.story-stage[data-story-direction=mobile] .stage-chapter[data-active] :is(.stage-copy,.stage-scene){opacity:1;visibility:visible}.story-stage[data-story-direction=desktop] .stage-chapter[data-chapter=turn] .stage-copy,.story-stage[data-story-direction=mobile] .stage-chapter[data-chapter=turn] .stage-copy{opacity:0}.story-stage[data-story-direction=desktop] .stage-figure,.story-stage[data-story-direction=mobile] .stage-figure{padding:0;align-items:center;width:100%;height:100%;min-height:0;container-type:size}.story-stage[data-story-direction=desktop] .stage-sheet,.story-stage[data-story-direction=mobile] .stage-sheet{max-height:100%;display:flex;flex-direction:column;justify-content:center;will-change:transform}.story-stage[data-story-direction=desktop] .sheet-paper,.story-stage[data-story-direction=mobile] .sheet-paper{min-height:0}.story-stage[data-story-direction=desktop] .stage-sheet,.story-stage[data-story-direction=mobile] .stage-sheet{--fig-h: clamp( 4rem, min( calc(100cqh - var(--fig-reserve)), var(--fig-max), calc((min(var(--fig-col), 100cqw) - var(--paper-pad) * 2) / var(--fig-ratio)) ), var(--fig-max) )}.story-stage[data-story-direction=desktop] .stage-sheet{width:min(var(--fig-col),100%,calc(var(--fig-h) * var(--fig-ratio) + var(--paper-pad) * 2))}.story-stage[data-story-direction=desktop] .sheet-figure,.story-stage[data-story-direction=mobile] .sheet-figure{width:calc(var(--fig-h) * var(--fig-ratio))}.story-stage[data-story-direction=desktop] .stage-camera,.story-stage[data-story-direction=mobile] .stage-camera{transform-origin:calc(var(--paper-pad) + (100% - var(--paper-pad) * 2 - var(--fig-h) * var(--fig-ratio)) / 2 + var(--cam-cx) * var(--fig-h) * var(--fig-ratio)) calc(var(--paper-pad) + var(--cam-cy) * var(--fig-h));will-change:transform}.story-stage[data-story-direction=desktop][data-story-chapter=edit] .stage-figure{overflow:hidden}.story-stage[data-story-direction=mobile]{--stage-col: 86vw;--fig-col: 86vw}.story-stage[data-story-direction=mobile] .stage-sheet{--fig-h: clamp( 4rem, min( calc(100cqh - 4.5rem) , 44dvh, calc((min(var(--fig-col), 100cqw) - var(--paper-pad) * 2) / var(--fig-ratio)) ), 44dvh )}.story-stage[data-story-direction=mobile] .stage-chapter{align-self:start}.story-stage[data-story-direction=mobile] .dl-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.story-stage[data-story-direction=mobile] .dl-btn{justify-content:center;gap:.5rem;padding-inline:.5rem}.story-stage[data-story-direction=mobile] .dl-label{display:none}.story-stage[data-story-direction=mobile] .dl-label-short{display:block;font-size:.9375rem;font-weight:500}.story-stage[data-story-direction=mobile] .dl-choose{display:block;margin-bottom:.5rem}.story-stage[data-story-direction=mobile] :is(.dl-sub,.dl-links,.dl-aside,.dl-note){display:none}.story-stage[data-story-direction=mobile] .gid-ns{display:none}.story-stage[data-story-direction=desktop] .semantic-objects,.story-stage[data-story-direction=mobile] .semantic-objects{gap:0}.story-stage[data-story-direction=desktop] .semantic-objects li,.story-stage[data-story-direction=mobile] .semantic-objects li{grid-area:1 / 1;opacity:0;pointer-events:none;transition:opacity .2s linear}.story-stage[data-story-direction=desktop] .semantic-objects li[data-current],.story-stage[data-story-direction=mobile] .semantic-objects li[data-current]{opacity:1}@media(max-width:1279px),(max-height:859px){.story-stage[data-story-direction=desktop] .stage-panel,.story-stage[data-story-direction=mobile] .stage-panel{order:-1;margin:0 0 .75rem}.story-stage[data-story-direction=desktop] .stage-script,.story-stage[data-story-direction=mobile] .stage-script,.story-stage[data-story-direction=desktop] .stage-record .panel-head,.story-stage[data-story-direction=mobile] .stage-record .panel-head,.story-stage[data-story-direction=desktop] .record-line:not([data-patch]),.story-stage[data-story-direction=mobile] .record-line:not([data-patch]){display:none}.story-stage[data-story-direction=desktop] .stage-edit,.story-stage[data-story-direction=mobile] .stage-edit{display:flex;flex-wrap:wrap;gap:0 .75rem}.story-stage[data-story-direction=desktop] .edit-value,.story-stage[data-story-direction=mobile] .edit-value{margin-top:0}.story-stage[data-story-direction=desktop] .record-line,.story-stage[data-story-direction=mobile] .record-line{display:inline;white-space:normal}.story-stage[data-story-direction=desktop] .finding:not([data-severity=error]),.story-stage[data-story-direction=mobile] .finding:not([data-severity=error]),.story-stage[data-story-direction=desktop] .finding-rounds,.story-stage[data-story-direction=mobile] .finding-rounds,.story-stage[data-story-direction=desktop] .page-rows .obj-role,.story-stage[data-story-direction=mobile] .page-rows .obj-role{display:none}}.story-stage[data-story-direction=mobile] .stage-chapter:is([data-chapter=compose],[data-chapter=preflight],[data-chapter=export]){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto}.story-stage[data-story-direction=mobile] .stage-chapter:is([data-chapter=compose],[data-chapter=preflight],[data-chapter=export]) .stage-copy{display:grid;grid-area:1 / 1 / 4 / 2;grid-template-rows:subgrid}.story-stage[data-story-direction=mobile] .stage-chapter:is([data-chapter=compose],[data-chapter=preflight],[data-chapter=export]) .stage-panel{grid-row:3;grid-column:1;align-self:start;order:0;margin:1rem 0 0}.story-stage[data-story-direction=mobile] .stage-scene:empty{display:none}@media(min-width:1024px),(min-width:768px)and (max-height:999px){.story-stage[data-story-direction=desktop]{--copy-col: clamp(21rem, 25vw, 29rem);--stage-gap: clamp(1.75rem, 3vw, 3.5rem);grid-template-columns:minmax(0,1fr) var(--copy-col);grid-template-rows:minmax(0,1fr);grid-auto-flow:row;column-gap:var(--stage-gap);row-gap:clamp(.5rem,1.2vh,1rem);padding-inline:var(--stage-inset);justify-items:stretch}.story-stage[data-story-direction=desktop] .stage-figure{grid-area:1 / 1}.story-stage[data-story-direction=desktop] .stage-chapters{grid-area:1 / 2;grid-template-rows:minmax(0,1fr);width:100%;height:100%;align-self:stretch}.story-stage[data-story-direction=desktop] .stage-chapter{align-self:stretch;min-height:0;justify-content:flex-end}.story-stage[data-story-direction=desktop] .stage-chapter h2{font-size:clamp(1.9rem,2.2vw,2.9rem);line-height:1.06}.story-stage[data-story-direction=desktop] .stage-panel{order:-1;position:static;width:100%;margin:0 0 .5rem}.story-stage[data-story-direction=desktop] .stage-copy{margin-top:auto}.story-stage[data-story-direction=desktop] .stage-scene:empty{display:none}.story-stage[data-story-direction=desktop] .stage-script{font-size:.5rem;line-height:1.35}.story-stage[data-story-direction=desktop] .stage-record{font-size:.5625rem;line-height:1.4}.story-stage[data-story-direction=desktop] .stage-preflight{font-size:.625rem}.story-stage[data-story-direction=desktop] .stage-export .export-files li{grid-template-columns:1fr;gap:0}.story-stage[data-story-direction=desktop] .stage-export .file-fact{text-align:left}}@media(min-width:768px)and (max-width:1439px),(min-width:768px)and (max-height:900px){.story-stage[data-story-direction=desktop]{--fig-reserve: 5rem;--fig-share: .9}}@media(min-width:768px)and (max-height:859px){.story-stage[data-story-direction=desktop]{--stage-top: clamp(.75rem, 2.2vh, 1.5rem);padding-block:var(--stage-top) clamp(.75rem,1.8vh,1.25rem);row-gap:clamp(.25rem,.8vh,.625rem)}.story-stage[data-story-direction=desktop] .prologue-eyebrow{margin-bottom:.375rem}.story-stage[data-story-direction=desktop] .stage-lead{margin-top:.625rem}.story-stage[data-story-direction=desktop] .prologue-note{margin-top:.4375rem}.story-stage[data-story-direction=desktop] .prologue-cta{margin-top:1rem}.story-stage[data-story-direction=desktop] .dl-buttons{gap:.5rem}.story-stage[data-story-direction=desktop] .dl-links{margin-top:.625rem}.story-stage[data-story-direction=desktop] .dl-aside,.story-stage[data-story-direction=desktop] .dl-note{margin-top:.375rem}}@media(min-width:1280px)and (max-height:999px){.story-stage[data-story-direction=desktop] .stage-script{display:none}}.story-stage[data-story-direction=desktop] .edit-target,.story-stage[data-story-direction=mobile] .edit-target{display:none}.story-stage[data-story-direction=mobile] .obj:not([data-gid="axes_0.title"]):not([data-gid="axes_0.legend"]):not([data-gid="axes_0.lines_0"]),.story-stage[data-story-direction=mobile] .obj-guide{display:none}.story-stage[data-story-direction=mobile] .obj-box,.story-stage[data-story-direction=mobile] .obj-tag{opacity:0;transition:opacity .2s linear}.story-stage[data-story-direction=mobile] .obj[data-current] .obj-box,.story-stage[data-story-direction=mobile] .obj[data-current] .obj-tag{opacity:1}.obj-hit{fill:none;stroke:transparent;stroke-width:6;pointer-events:none}@media(hover:hover)and (pointer:fine){.story-stage[data-story-direction=desktop] .obj-hit{pointer-events:stroke}}.story-stage[data-story-arrival=pending] .sheet-paper,.story-stage[data-story-arrival=pending] .sheet-shadow,.story-stage[data-story-arrival=pending] .stage-copy,.story-stage[data-story-arrival=pending] .sheet-caption,.story-stage[data-story-arrival=pending] .sheet-figure [id=axes_0]>g,.story-stage[data-story-arrival=pending] .obj{opacity:0}.story-stage[data-story-direction=still] .stage-ground,.story-stage[data-story-direction=still] .stage-figure{transition-timing-function:ease}.story-stage[data-still-chapter=prologue] .stage-selection,.story-stage[data-still-chapter=prologue] .obj-layer,.story-stage[data-story-direction=still] .obj-layer{opacity:0}.story-stage[data-story-direction=still][data-still-chapter=semantic] .obj-layer{opacity:1}.story-stage[data-story-direction=still][data-still-edited]{--title-pt: calc(var(--edit-to) * 1px)}.story-stage[data-story-direction=still][data-still-edited] .stage-selection{transform:translate(var(--chrome-dx),var(--chrome-dy)) scale(var(--chrome-sx),var(--chrome-sy))}.story-stage[data-story-direction=still][data-still-edited] .sel-handle{transform:scale(calc(1 / var(--chrome-sx)),calc(1 / var(--chrome-sy)))}:root[data-story-visual-test] #site-nav,:root[data-story-visual-test] #site-nav *{transition:none!important}.story-stage[data-story-visual-test] .stage-chapter,.story-stage[data-story-visual-test] .semantic-objects li,.story-stage[data-story-visual-test] .obj-box,.story-stage[data-story-visual-test] .obj-tag{transition:none}@media(prefers-reduced-motion:reduce){.story-stage .stage-chapter,.story-stage .semantic-objects li,.story-stage .obj-box,.story-stage .obj-tag{transition:none}.stage-sheet{will-change:auto}}:root[data-story-ground=dark] #site-nav{background:#0a0a0aeb}:root[data-story-ground=dark] #site-nav .nav-brand .brand-light{display:none}:root[data-story-ground=dark] #site-nav .nav-brand .brand-dark{display:block}:root[data-story-ground=dark] #site-nav nav a,:root[data-story-ground=dark] #site-nav .nav-actions a{color:var(--v3-ink-mid)}:root[data-story-ground=dark] #site-nav nav a:hover,:root[data-story-ground=dark] #site-nav .nav-actions a:hover{color:var(--v3-ink-hi)}:root[data-story-ground=dark] #site-nav .nav-actions .nav-try{color:var(--v3-ink-hi)}:root[data-story-ground=dark] #site-nav .nav-actions .nav-try:hover{color:var(--v3-sel-text)}:root[data-story-ground=dark] #site-nav .nav-actions .btn-primary,:root[data-story-ground=dark] #mobile-menu .btn-primary{background:var(--v3-ink-hi);color:var(--v3-stage-dark)}:root[data-story-ground=dark] #site-nav .nav-actions .btn-primary:hover,:root[data-story-ground=dark] #mobile-menu .btn-primary:hover{background:#fff}:root[data-story-ground=dark] #site-nav.nav-scrolled{border-bottom-color:var(--v3-ink-dark)}:root[data-story-ground=dark] #site-nav :focus-visible,:root[data-story-ground=dark] #mobile-menu :focus-visible{outline-color:var(--v3-sel-text)}:root[data-story-ground=dark] #mobile-menu{background:var(--v3-stage-dark);border-top-color:var(--v3-ink-dark)}:root[data-story-ground=dark] #mobile-menu a{color:var(--v3-ink-mid)}:root[data-story-ground=dark] #menu-btn{color:var(--v3-ink-hi)}:root[data-story-ground=dark] body{background:var(--v3-stage-dark);color:var(--v3-ink-hi)}.film,.story-final,.waitlist,body>footer{position:relative;z-index:0}.film{width:min(100% - 2.5rem,1280px,calc((100vh - 9rem) * 16 / 9));margin:clamp(2rem,4.5vw,3.5rem) auto 0}.film-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:6px;background:#000}.film-video{display:block;width:100%;height:100%}.film-play{position:absolute;inset:50% auto auto 50%;width:5rem;height:5rem;translate:-50% -50%;border:0;border-radius:999px;background:#0a0a0ab8;color:#fff;cursor:pointer;transition:background-color .14s var(--ease-pop)}.film-play:hover{background:#0a0a0aeb}.film-play svg{width:2.25rem;height:2.25rem;fill:currentColor;translate:.125rem 0}.film-status{position:absolute;inset:auto 0 4rem;display:flex;justify-content:center;align-items:center;gap:.75rem;margin:0;font-size:.875rem;color:#fff;pointer-events:none}.film-status>*{pointer-events:auto}.film-retry{padding:.375rem .75rem;border:1px solid rgb(255 255 255 / .5);border-radius:999px;background:#0a0a0acc;color:inherit;font:inherit;font-size:.8125rem;cursor:pointer}.film-play:focus-visible,.film-retry:focus-visible{outline:2px solid var(--v3-sel-text);outline-offset:2px}.film-caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:.75rem 0 0;font-size:.8125rem;color:var(--color-ink-2)}:root[data-story-ground=dark] .film-caption{color:var(--v3-ink-mid)}:root[data-story-ground=dark] .film-caption .measure-note{color:var(--v3-ink-low)}.waitlist{width:var(--stage-col);max-width:100%;margin-inline:auto;padding:0 1.25rem clamp(3rem,7vw,5.5rem)}.waitlist-lead{margin:0;max-width:58ch;font-size:.9375rem;line-height:1.6;color:var(--color-ink-2);text-wrap:pretty}.waitlist-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;max-width:34rem}.waitlist-input{flex:1 1 14rem;min-height:44px;padding:0 .875rem;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface, #fff);color:var(--color-ink);font:inherit;font-size:.9375rem}.waitlist-input::placeholder{color:var(--color-ink-faint)}.waitlist-hp{position:absolute;left:-100vw;width:1px;height:1px;overflow:hidden}.waitlist-status{margin:.75rem 0 0;max-width:56ch;min-height:1.5em;font-size:.875rem;line-height:1.5;color:var(--color-ink-2)}.waitlist-status[data-ok="1"]{color:var(--color-ink)}.waitlist-note{margin:.875rem 0 0;max-width:64ch;line-height:1.6}.waitlist-lost{margin-left:.5rem;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}:root[data-story-ground=dark] .waitlist{--color-ink: var(--v3-ink-hi);--color-ink-2: var(--v3-ink-mid);--color-ink-3: var(--v3-ink-low);color:var(--v3-ink-hi)}:root[data-story-ground=dark] .waitlist-input{border-color:var(--v3-ink-dark);background:transparent;color:var(--v3-ink-hi)}:root[data-story-ground=dark] .waitlist .btn-primary{background:var(--v3-ink-hi);color:var(--v3-stage-dark)}
