@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-opsz-normal.DIwfbPUE.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-opsz-normal.C0olyEE-.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-opsz-normal.DrHU7SY7.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-opsz-normal.DX68cEVD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-opsz-normal.HoL-AExg.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-opsz-normal.BpEBLj1O.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-opsz-italic.Bl6DJqma.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-opsz-italic.Dibx14aP.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-opsz-italic.CMW9dfKg.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-opsz-italic.Hh3oeMt5.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-opsz-italic.BhUEwDRF.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-opsz-italic.BOLXpvkj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f7f1e6;--paper-deep:#efe5d3;--ink:#23262e;--ink-soft:#4a4d55;--muted:#6e5b45;--rule:#d8cbb4;--push:#1a4fa8;--push-fill:#2463c7;--push-wash:#dfe7f5;--pull:#9a4409;--pull-fill:#b85410;--pull-wash:#f5e2d3;--key:#fffdf8;--key-edge:#b9ab93;--accidental:#ebe3d4;--measure:40rem;--wide:66rem;--gutter:clamp(1rem, 4vw, 2.5rem);color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#1a1917;--paper-deep:#22201d;--ink:#ece6da;--ink-soft:#c9c2b5;--muted:#b8a68a;--rule:#3d3832;--push:#8eb1ff;--push-fill:#2f6bd0;--push-wash:#1f2a40;--pull:#f39a62;--pull-fill:#b85410;--pull-wash:#3a2618;--key:#2a2825;--key-edge:#5a5249;--accidental:#33302b;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-optical-sizing:auto;font-variant-numeric:oldstyle-nums proportional-nums;font-kerning:normal;text-rendering:optimizelegibility;margin:0;font-family:"Source Serif 4 Variable",Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(1.0625rem,.4vw + 1rem,1.1875rem);line-height:1.6}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px;text-decoration-color:var(--muted)}a:hover{text-decoration-color:currentColor}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--push);outline-offset:3px;border-radius:2px}img,svg{max-width:100%;height:auto}.skip{position:absolute;left:-999px}.skip:focus{background:var(--paper);z-index:10;padding:.5rem .75rem;top:1rem;left:1rem}h1,h2,h3{letter-spacing:-.012em;font-variant-numeric:lining-nums;text-wrap:balance;font-weight:560;line-height:1.12}h1{letter-spacing:-.02em;margin:0 0 .5em;font-size:clamp(2.3rem,4.6vw + .6rem,3.9rem);font-weight:520}h2{margin:2.4em 0 .6em;font-size:clamp(1.5rem,1.6vw + 1rem,2.05rem)}h3{margin:1.8em 0 .4em;font-size:1.2em}h1 em,h2 em{color:var(--push);font-style:italic;font-weight:inherit}p,ul,ol,dl,table,figure{margin:0 0 1.1em}p{text-wrap:pretty}ul,ol{padding-left:1.25em}li{margin-bottom:.35em}li::marker{color:var(--muted)}strong{font-weight:640}small{font-size:.85em}sub{vertical-align:-.25em;font-variant-numeric:lining-nums;font-size:.68em;line-height:0}hr{border:0;border-top:1px solid var(--rule);margin:3rem 0}.label{letter-spacing:.07em;color:var(--muted);font-size:1.02em;font-variant-caps:all-small-caps;font-weight:500}.lede{color:var(--ink-soft);max-width:34em;font-size:1.22em;line-height:1.5}.muted{color:var(--muted)}.push{color:var(--push)}.pull{color:var(--pull)}.wrap{max-width:var(--wide);padding:0 var(--gutter);margin:0 auto}.measure{max-width:var(--measure)}.site-head{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 2rem;padding-top:1.4rem;padding-bottom:1.1rem;display:flex}.wordmark{letter-spacing:-.005em;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark img{border-radius:7px;align-self:center;width:30px;height:30px}.site-nav{flex-wrap:wrap;gap:.25rem 1.4rem;display:flex}.site-nav a{letter-spacing:.07em;color:var(--ink-soft);padding:.2rem 0;font-size:1.05rem;font-variant-caps:all-small-caps;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.35em}main{padding-bottom:5rem}.site-foot{border-top:1px solid var(--rule);color:var(--muted);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.5rem 3rem;padding-top:2rem;padding-bottom:3rem;font-size:.92rem;display:grid}.site-foot ul{margin:0;padding:0;list-style:none}.site-foot li{margin-bottom:.3rem}.site-foot a{color:var(--ink-soft)}.site-foot p{margin:0 0 .4rem}.crumbs{color:var(--muted);margin:2rem 0 1.5rem;font-size:.92rem}.crumbs a{color:var(--muted)}.page-head{max-width:46rem;padding:3.5rem 0 1rem}.page-head .label{margin-bottom:.6rem;display:block}.hero{align-items:center;gap:2.5rem 4rem;padding:4rem 0 3rem;display:grid}@media (width>=60rem){.hero{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);padding-top:5.5rem}}.hero h1{font-size:clamp(2.6rem,5.4vw + .4rem,4.6rem)}.hero .lede{margin-bottom:1.8rem}.hero figure{margin:0}.store{flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem;display:flex}.store .badge img{width:auto;height:48px;display:block}.store p{color:var(--muted);max-width:22rem;margin:0;font-size:.95rem;line-height:1.45}.shot{border:1px solid var(--rule);background:var(--key);border-radius:10px;display:block}.shot-ipad{border-radius:14px}figcaption{color:var(--muted);margin-top:.7rem;font-size:.92rem;font-style:italic;line-height:1.45}.chapter{border-top:1px solid var(--rule);gap:0 4rem;padding:3.5rem 0 .5rem;display:grid}@media (width>=60rem){.chapter{grid-template-columns:15rem minmax(0,1fr)}.chapter>header{grid-row:span 3}}.chapter>header h2{margin:0 0 .5rem;font-size:clamp(1.45rem,1vw + 1.1rem,1.8rem)}.chapter>header .label{margin-bottom:.5rem;display:block}.chapter .body{max-width:var(--measure)}.chapter figure{margin:1rem 0 2.5rem}.two{gap:2rem 3rem;display:grid}@media (width>=48rem){.two{grid-template-columns:1fr 1fr}}.index{border-top:1px solid var(--rule);margin:0 0 2rem;padding:0;list-style:none}.index>li{border-bottom:1px solid var(--rule);gap:.15rem 2rem;margin:0;padding:1.1rem 0 1.15rem;display:grid}@media (width>=48rem){.index>li{grid-template-columns:17rem 1fr}}.index a{font-weight:600;text-decoration:none}.index a:hover{text-decoration:underline}.index p{color:var(--ink-soft);margin:0}.chips{flex-wrap:wrap;gap:.4rem 1.2rem;padding:0;list-style:none;display:flex}.chips li{margin:0}.table-wrap{-webkit-overflow-scrolling:touch;margin:0 0 1.6rem;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:lining-nums tabular-nums;width:100%;font-size:.95em}caption{text-align:left;caption-side:top;color:var(--muted);padding-bottom:.6rem;font-size:.95rem;font-style:italic}th,td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:.5rem 1rem .5rem 0}thead th{letter-spacing:.06em;color:var(--muted);border-bottom-color:var(--ink-soft);white-space:nowrap;font-size:1.02em;font-variant-caps:all-small-caps;font-weight:500}tbody th{font-weight:600}td.num,th.num{text-align:right;padding-right:1.4rem}.yes{color:var(--ink)}.no{color:var(--muted)}.tab{font-variant-numeric:lining-nums;flex-wrap:wrap;align-items:stretch;margin:.5rem 0 1.6rem;display:flex}.tab .note{text-align:center;grid-template-rows:2.2rem 1px 2.2rem auto;min-width:3.1rem;display:grid}.tab .note:before{content:"";background:var(--ink-soft);opacity:.55;grid-row:2}.tab .btn{border:1.5px solid;border-radius:6px;place-self:center;min-width:2.2rem;padding:.05rem .4rem;font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:1.02rem;font-weight:600;line-height:1.5}.tab .btn.push{color:var(--push);border-color:var(--push);background:var(--push-wash);grid-row:1}.tab .btn.pull{color:var(--pull);border-color:var(--pull);background:var(--pull-wash);grid-row:3}.tab .name{color:var(--muted);grid-row:4;padding-top:.15rem;font-size:.82rem}.tab .bar{background:var(--ink-soft);opacity:.55;width:1px;height:calc(4.4rem + 1px);margin:0 .4rem}.legend{color:var(--muted);flex-wrap:wrap;gap:.3rem 1.6rem;margin-bottom:.6rem;font-size:.92rem;display:flex}.legend span:before{content:"";vertical-align:.02em;border-radius:2px;width:.7em;height:.7em;margin-right:.45em;display:inline-block}.legend .l-push:before{background:var(--push-fill)}.legend .l-pull:before{background:var(--pull-fill)}.keyboard{-webkit-overflow-scrolling:touch;margin:1.5rem 0 .5rem;overflow-x:auto}.keyboard svg{width:100%;min-width:640px;max-width:62rem;display:block}.kb-key{fill:var(--key);stroke:var(--key-edge);stroke-width:1px}.kb-key.acc{fill:var(--accidental)}.kb-div{stroke:var(--key-edge);stroke-width:1px}.kb-text{fill:var(--ink);font-variant-numeric:lining-nums;font-family:inherit;font-size:13px}.kb-oct{font-size:9px}.kb-num{fill:var(--muted);text-anchor:middle;font-size:12px}.kb-row{fill:var(--ink);font-size:14px;font-weight:600}.kb-pos{fill:var(--muted);font-size:11.5px;font-style:italic}.kb-half{fill:#0000}.kb-half.on-push,[data-find] .kb-half.found-push{fill:var(--push-fill)}.kb-half.on-pull,[data-find] .kb-half.found-pull{fill:var(--pull-fill)}.kb-half.on-push+.kb-text,.kb-half.on-pull+.kb-text,[data-find] .found-push+.kb-text,[data-find] .found-pull+.kb-text{fill:#fff}.kb-step{fill:#fff;text-anchor:middle;font-size:10px;font-weight:700}.mirrored .kb-flip{transform-box:fill-box;transform-origin:50%;transform:scaleX(-1)}.tool{border:1px solid var(--rule);background:var(--paper-deep);border-radius:10px;margin:1rem 0 2rem;padding:1rem 1.2rem}.tool form{flex-wrap:wrap;align-items:center;gap:.8rem 1.6rem;font-size:.98rem;display:flex}.tool label{align-items:center;gap:.5rem;display:inline-flex}.tool select{font:inherit;border:1px solid var(--key-edge);background:var(--paper);color:var(--ink);border-radius:6px;padding:.25rem .5rem}.tool output{color:var(--ink-soft);min-height:1.6em;margin-top:.7rem;font-size:.98rem;display:block}.article{max-width:var(--measure)}.article h2{margin-top:2.2em}.byline{color:var(--muted);margin:-.3rem 0 2.5rem;font-size:.95rem}.aside{border-left:2px solid var(--rule);color:var(--ink-soft);margin:1.8rem 0;padding:.1rem 0 .1rem 1.1rem}.sources{color:var(--ink-soft);font-size:.92rem}.sources li{margin-bottom:.6rem}.wide{max-width:var(--wide)}.cta{border-top:1px solid var(--rule);max-width:var(--measure);align-items:center;gap:1rem 2rem;margin:3.5rem 0 1rem;padding-top:1.6rem;display:grid}@media (width>=40rem){.cta{grid-template-columns:4.5rem 1fr}}.cta img.icon{border-radius:1rem;width:4.5rem;height:4.5rem}.cta p{margin:0 0 .6rem}.cta .badge img{width:auto;height:42px}details{border-bottom:1px solid var(--rule);padding:.9rem 0}details:first-of-type{border-top:1px solid var(--rule)}summary{cursor:pointer;justify-content:space-between;gap:1rem;font-weight:600;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--muted);font-weight:400}details[open] summary:after{content:"–"}details p{color:var(--ink-soft);margin:.6rem 0 .2rem}@media print{.site-head nav,.site-foot,.cta,.tool,.skip{display:none!important}body{color:#000;background:#fff;font-size:11pt}.keyboard svg{min-width:0}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}pre,code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.86em}pre{background:var(--paper-deep);border:1px solid var(--rule);border-radius:8px;margin:0 0 1.4rem;padding:1rem 1.2rem;line-height:1.55;overflow-x:auto}p code,li code,td code{background:var(--paper-deep);border-radius:3px;padding:.05em .3em}
