html{font-size: 62.5%;font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;}body{font-size: 1.8rem;line-height: 1.618;max-width: 38em;margin: auto;color: #4a4a4a;background-color: #f9f9f9;padding: 13px;}@media (max-width: 684px){body{font-size: 1.53rem;}}@media (max-width: 382px){body{font-size: 1.35rem;}}h1,h2,h3,h4,h5,h6{line-height: 1.1;font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;font-weight: 700;margin-top: 3rem;margin-bottom: 1.5rem;overflow-wrap: break-word;word-wrap: break-word;-ms-word-break: break-all;word-break: break-word;}h1{font-size: 2.35em;}h2{font-size: 2em;}h3{font-size: 1.75em;}h4{font-size: 1.5em;}h5{font-size: 1.25em;}h6{font-size: 1em;}p{margin-top: 0px;margin-bottom: 2.5rem;}small,sub,sup{font-size: 75%;}hr{border-color: #1d7484;}a{text-decoration: none;color: #1d7484;}a:visited{color: #144f5a;}a:hover{color: #982c61;border-bottom: 2px solid #4a4a4a;}ul{padding-left: 1.4em;margin-top: 0px;margin-bottom: 2.5rem;}li{margin-bottom: 0.4em;}blockquote{margin-left: 0px;margin-right: 0px;padding-left: 1em;padding-top: 0.8em;padding-bottom: 0.8em;padding-right: 0.8em;border-left: 5px solid #1d7484;margin-bottom: 2.5rem;background-color: #f1f1f1;}blockquote p{margin-bottom: 0;}img,video{height: auto;max-width: 100%;margin-top: 0px;margin-bottom: 2.5rem;}pre{background-color: #f1f1f1;display: block;padding: 1em;overflow-x: auto;margin-top: 0px;margin-bottom: 2.5rem;font-size: 0.9em;}code,kbd,samp{font-size: 0.9em;padding: 0 0.5em;background-color: #f1f1f1;white-space: pre-wrap;}pre > code{padding: 0;background-color: transparent;white-space: pre;font-size: 1em;}table{text-align: justify;width: 100%;border-collapse: collapse;margin-bottom: 2rem;}td,th{padding: 0.5em;border-bottom: 1px solid #f1f1f1;}input,textarea{border: 1px solid #4a4a4a;}input:focus,textarea:focus{border: 1px solid #1d7484;}textarea{width: 100%;}.button,button,input[type=submit],input[type=reset],input[type=button],input[type=file]::file-selector-button{display: inline-block;padding: 5px 10px;text-align: center;text-decoration: none;white-space: nowrap;background-color: #1d7484;color: #f9f9f9;border-radius: 1px;border: 1px solid #1d7484;cursor: pointer;box-sizing: border-box;}.button:hover,button:hover,input[type=submit]:hover,input[type=reset]:hover,input[type=button]:hover,input[type=file]::file-selector-button:hover{background-color: #982c61;color: #f9f9f9;outline: 0;}.button[disabled],button[disabled],input[type=submit][disabled],input[type=reset][disabled],input[type=button][disabled],input[type=file][disabled]{cursor: default;opacity: 0.5;}.button:focus-visible,button:focus-visible,input[type=submit]:focus-visible,input[type=reset]:focus-visible,input[type=button]:focus-visible,input[type=file]:focus-visible{outline-style: solid;outline-width: 2px;}textarea,select,input{color: #4a4a4a;padding: 6px 10px;margin-bottom: 10px;background-color: #f1f1f1;border: 1px solid #f1f1f1;border-radius: 4px;box-shadow: none;box-sizing: border-box;}textarea:focus,select:focus,input:focus{border: 1px solid #1d7484;outline: 0;}input[type=checkbox]:focus{outline: 1px dotted #1d7484;}label,legend,fieldset{display: block;margin-bottom: 0.5rem;font-weight: 600;}:root{--yellow:#FFFC00;--ink:#111111;--ground:#FFFFFF;--paper:#F6F5EF;--button:#D92B45;--blue:#0EADFF;--muted:#55544E;--line:#DDDBD0;--r:20px;--r-s:12px;--sh:0 1px 2px rgba(17,17,17,.06),0 6px 16px rgba(17,17,17,.07),0 18px 40px rgba(17,17,17,.06);--f-d:"Onest","Trebuchet MS",sans-serif;--f-b:"Karla","Segoe UI",sans-serif;--s-sm:.8125rem;--s-b:1.0625rem;--s-h2:1.5625rem;--s-h1:clamp(2.25rem,9.6vw + .2rem,2.5rem);color-scheme:light;}@media (min-width:900px){:root{--s-h2:2.25rem;--s-h1:clamp(2.75rem,3.6vw + 1rem,3.5rem)}}*,*::before,*::after{box-sizing:border-box}html{font-size:100%;scroll-behavior:smooth;scrollbar-color:var(--ink) var(--paper)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{max-width:none;margin:0;padding:0;background:var(--ground);color:var(--ink);font-family:var(--f-b);font-size:var(--s-b);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}::selection{background:var(--yellow);color:var(--ink)}h1,h2,h3{font-family:var(--f-d);font-weight:800;color:var(--ink);margin:0;text-wrap:balance;letter-spacing:-.02em}h1{font-size:var(--s-h1);line-height:1.04}h2{font-size:var(--s-h2);line-height:1.15}p{margin:0;text-wrap:pretty}a,a:visited{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:3px}a:hover{color:var(--ink);border-bottom:0}img{margin:0}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}hr{border:0;border-top:1px solid var(--line);margin:0}.wrap{width:min(100% - 32px,1040px);margin-inline:auto}.col{width:min(100% - 32px,640px);margin-inline:auto}.bar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);transition:transform .35s cubic-bezier(.16,1,.3,1)}.bar.away{transform:translateY(-100%)}.bar .col{display:flex;align-items:center;padding-block:8px;padding-top:calc(8px + env(safe-area-inset-top))}.bar a{display:block;line-height:0;border-radius:50%}.bar img{width:64px;height:64px;display:block}@media (min-width:900px){.bar img{width:112px;height:112px}}.open{padding:20px 0 40px}@media (min-width:900px){.open{padding:48px 0 64px}}.kicker{font-size:var(--s-sm);font-weight:700;color:var(--muted);margin-bottom:12px}.open h1{margin-bottom:16px}.deck{color:var(--muted);margin-bottom:12px;max-width:34em}.by{font-size:var(--s-sm);color:var(--muted);margin-bottom:20px}.btn-start{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:14px 20px;background:var(--button);color:#fff;font-family:var(--f-d);font-weight:800;font-size:var(--s-b);text-decoration:none;border-radius:var(--r-s);box-shadow:0 1px 2px rgba(17,17,17,.12),0 8px 20px rgba(17,17,17,.14);transition:transform .2s cubic-bezier(.16,1,.3,1)}.btn-start:visited,.btn-start:hover{color:#fff;text-decoration:none}@media (hover:hover){.btn-start:hover{transform:translateY(-2px)}}.btn-start:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.open .btn-start{max-width:480px}.under{font-size:var(--s-sm);color:var(--muted);margin-top:10px}.pass-sec{background:var(--paper);padding:48px 0 56px}.pass{width:min(100% - 24px,640px);margin-inline:auto;background:var(--ground);border-radius:var(--r);box-shadow:var(--sh)}.pass-head{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:20px 20px 16px;border-bottom:1px solid var(--line)}.field span{display:block;font-size:var(--s-sm);color:var(--muted)}.field b{display:block;font-family:var(--f-d);font-weight:800;font-size:var(--s-b);line-height:1.3}.hatnote{grid-column:1 / -1;font-style:italic;font-size:var(--s-sm);color:var(--muted)}.story{position:relative;padding:0 16px}.stage{position:sticky;top:0;z-index:2;background:var(--ground);padding:12px 0 8px;border-bottom:1px solid var(--line)}.stage svg{display:block;width:100%;max-width:400px;height:auto;margin-inline:auto}.steps{list-style:none;margin:0;padding:0}.steps>li{min-height:56dvh;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:24px 4px;margin:0}.steps .step{display:block;font-family:var(--f-d);font-weight:800;font-size:var(--s-h2);line-height:1.3;max-width:22em}.n{font-family:var(--f-d);font-weight:800;color:var(--muted);font-size:var(--s-sm);display:block;margin-bottom:6px}.warn{display:flex;gap:12px;align-items:flex-start;font-weight:700}.warn i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);position:relative}.warn i::before,.warn i::after{content:"";position:absolute;left:12.5px;width:3px;background:var(--yellow);border-radius:2px}.warn i::before{top:6px;height:10px}.warn i::after{top:19px;height:3px}.perf{position:relative;height:24px;margin:0 0;background:radial-gradient(circle,var(--line) 2px,transparent 2.5px) 0 50% / 12px 12px repeat-x}.perf::before,.perf::after{content:"";position:absolute;top:0;width:24px;height:24px;border-radius:50%;background:var(--paper)}.perf::before{left:-12px}.perf::after{right:-12px}.stub{padding:8px 20px 24px}.flip{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;perspective:900px;font:inherit;color:inherit;text-align:left;min-height:44px;white-space:normal;border-radius:var(--r-s)}.flip:hover{background:none;color:inherit}.flip-in{display:grid;transition:transform .6s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d}.face{grid-area:1 / 1;padding:16px 18px;border-radius:var(--r-s);backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;gap:6px}.face.front{background:var(--paper);border:1px solid var(--line)}.face.back{background:var(--ink);color:#fff;transform:rotateY(180deg)}.face .t{font-family:var(--f-d);font-weight:800}.face .hint{font-size:var(--s-sm);color:var(--muted)}.face.back .hint{color:#D8D7CF}.flip[aria-pressed="true"] .flip-in{transform:rotateY(180deg)}#g .lay,#g .row,#g .lit,#g .gap{transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s ease-out;transform-box:fill-box}#g[data-step="1"] .lay{opacity:0;transform:translateY(-40px)}#g[data-step="1"] .gap{opacity:0}#g[data-step="2"] .lay{opacity:.45}#g[data-step="2"] .row{transform:translateX(0)}#g .r1{transform:translateX(0)}#g .r2{transform:translateX(16px)}#g .r3{transform:translateX(8px)}#g .r4{transform:translateX(24px)}#g[data-step="1"] .row,#g[data-step="2"] .row{transform:translateX(0)}#g .lit{opacity:0}#g[data-step="4"] .lit{opacity:1}#g[data-step="4"] .r1{transform:translateX(-8px)}.sec{padding:56px 0}.hang{display:grid;gap:16px}@media (min-width:900px){.hang{grid-template-columns:1fr 2fr;gap:48px;align-items:start}}.tiles{list-style:none;margin:0;padding:0;display:grid;gap:12px}.tiles li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;padding:18px 18px 18px 14px;background:var(--ground);border-radius:var(--r-s);box-shadow:var(--sh);margin:0}.tiles .num{font-family:var(--f-d);font-weight:800;font-size:var(--s-h2);line-height:1;color:var(--ink)}.close{background:var(--paper);padding:56px 0 0}.term{width:min(100% - 32px,560px);margin-inline:auto;background:var(--ink);color:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}.term-top{padding:10px 16px;font-size:var(--s-sm);color:#CFCEC6;border-bottom:1px solid #2C2C2C}.term-body{padding:20px 16px 16px}.term-body p{font-family:var(--f-d);font-weight:800;font-size:var(--s-h2);line-height:1.3;color:#fff;margin-bottom:20px}.caret{display:inline-block;width:.5em;height:1em;background:var(--yellow);vertical-align:-.12em;margin-left:4px;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.key{position:relative;flex-direction:column;gap:2px;min-height:72px;border-radius:14px;box-shadow:0 2px 0 #8E1729,0 10px 24px rgba(0,0,0,.35)}.key small{font-family:var(--f-b);font-weight:700;font-size:var(--s-sm);opacity:.9}footer{background:var(--paper);padding:64px 0 calc(96px + env(safe-area-inset-bottom))}footer .col{display:flex;flex-direction:column;gap:12px}footer p{font-size:var(--s-sm);color:var(--muted)}footer a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:1.6}footer a,footer a:visited{color:var(--ink);font-weight:700;display:inline-flex;align-items:center;min-height:44px}.dock{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);transform:translateY(110%);visibility:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility 0s linear .35s}.dock.on{transform:none;visibility:visible;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility 0s}.dock .btn-start{max-width:480px;margin-inline:auto;min-height:52px}.js .pre{opacity:0;transform:translateY(16px);transition:opacity .6s ease-out,transform .6s cubic-bezier(.16,1,.3,1)}.js .pre.in{opacity:1;transform:none}@media (min-width:900px){.pass{width:min(100% - 48px,960px)}.pass-head{padding:28px 32px 20px}.steps>li{max-width:640px;margin-inline:auto}.story{padding:0 32px}.stub{padding:8px 32px 32px}.sec{padding:80px 0}.close{padding-top:80px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.js .pre{opacity:1;transform:none}}html{max-width:100%;overflow-x:clip;}body{max-width:100%;overflow-x:clip;}