:root{--bg:#faf8f3;--surface:#fffefb;--paper:#fbfaf6;--fg:#1c1a16;--dim:#6f6b63;--faint:#b8b3a8;--line:#1c1a161a;--line-strong:#1c1a162b;--brass:#a77a22;--brass-strong:#7a560a;--steel:#3d6aa8;--ok:#3b7a3b;--err:#b5423d;--yellow:#8f6a00;--sel:#efe3c8;--pencil:#3b3832;--dotgrid:#1c1a1614;--paper-dots:radial-gradient(circle at center, var(--dotgrid) 0 1px, transparent 1.4px);--paper-fade:radial-gradient(ellipse 75% 70% at 50% 45%, transparent 35%, var(--paper) 100%);--btn-bg:#161512;--btn-fg:#faf8f3;--shadow:0 40px 100px -50px #3c2d1466, 0 0 0 1px #1c1a161a;--tile:#fffefb;--tile-hi:#fff;--ease-out:cubic-bezier(.23, 1, .32, 1);--fg-2:color-mix(in srgb, var(--fg) 66%, var(--bg));--brass-text:var(--brass-strong);--f-display:"Fraunces", Georgia, "Times New Roman", serif;--f-body:"Instrument Sans", ui-sans-serif, -apple-system, "Helvetica Neue", sans-serif;--f-mono:"DM Mono", ui-monospace, "SF Mono", Menlo, monospace;--f-hand:"Caveat", "Bradley Hand", cursive;--gutter:clamp(16px, 4vw, 48px);--maxw:1120px;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}body{background:var(--bg);color:var(--fg);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}::selection{background:var(--sel)}a{color:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:6px}.defs{width:0;height:0;position:absolute;overflow:hidden}.mono{font-family:var(--f-mono);letter-spacing:-.01em;font-size:.9em}.skip{z-index:50;background:var(--brass);color:#000;border-radius:8px;padding:8px 12px;font-weight:500;text-decoration:none;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}section{padding:clamp(80px, 12vw, 160px) var(--gutter) 0}section>*{max-width:var(--maxw);margin-inline:auto}.display{font-family:var(--f-display);font-optical-sizing:auto;letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(3rem,8.4vw,6.8rem);font-weight:400;line-height:1.04}.display em{font-style:normal;font-weight:inherit;color:inherit}.display--m{letter-spacing:-.02em;font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.08}:is(:lang(zh),:lang(ja),:lang(ko)) :is(.display,.display--m,h3){letter-spacing:0}:is(:lang(zh),:lang(ja),:lang(ko)) .display{line-height:1.14}:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}:lang(ja) :is(.display,h2,h3,.lede){word-break:auto-phrase}:is(:lang(ja),:lang(zh)) :is(.display,.vitrin__list strong,.vitrin__head h3)>:is(span,em){display:block}:is(:lang(ja),:lang(zh),:lang(ko)) .hero__title em{font-style:normal}.eyebrow{background:color-mix(in srgb, var(--fg) 5%, transparent);width:fit-content;font:500 11px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border-radius:999px;align-items:center;margin:0 0 22px;padding:7px 11px;display:inline-flex}.lede{color:var(--fg-2);text-wrap:pretty;max-width:34em;margin:28px 0 0;font-size:clamp(1.06rem,1.45vw,1.24rem);line-height:1.55}h3{font-family:var(--f-display);letter-spacing:-.012em;margin:0;font-size:1.35rem;font-weight:400;line-height:1.2}.nav{z-index:20;padding:14px var(--gutter) 0;pointer-events:none;justify-content:center;display:flex;position:sticky;top:0}.nav__inner{pointer-events:auto;background:color-mix(in srgb, var(--surface) 80%, transparent);backdrop-filter:blur(16px)saturate(140%);box-shadow:0 0 0 1px var(--line), 0 10px 30px -18px #3c2d1459;border-radius:999px;align-items:center;gap:22px;padding:6px 6px 6px 16px;display:flex}.brand{font:500 16px/1 var(--f-body);letter-spacing:-.01em;align-items:center;gap:9px;text-decoration:none;display:inline-flex}.brand__mark{width:22px;height:22px}.brand__mark rect{stroke:#00000014}.nav__links{gap:20px;display:flex}.nav__links a{color:var(--fg-2);font-size:15px;text-decoration:none;transition:color .2s}.nav__links a:hover,.nav__links a[aria-current=page]{color:var(--fg)}.nav__tools{align-items:center;gap:4px;display:flex}.chip{appearance:none;cursor:pointer;min-width:34px;height:34px;color:var(--fg-2);font:500 12px/1 var(--f-mono);letter-spacing:.06em;background:0 0;border:0;border-radius:999px;place-items:center;padding:0 11px;transition:background-color .2s,color .2s,transform .15s;display:inline-grid}.chip:hover{background:color-mix(in srgb, var(--fg) 6%, transparent);color:var(--fg)}.chip:active{transform:scale(.96)}.i18n-wait body{visibility:hidden}.lang{position:relative}.lang__btn{align-items:center;gap:6px;padding:0 12px 0 10px;display:inline-flex}.lang__btn svg{width:15px;height:15px;transition:transform .5s var(--ease-out);flex:none}.lang.is-open .lang__btn{background:color-mix(in srgb, var(--fg) 6%, transparent);color:var(--fg)}.lang.is-open .lang__btn svg{transform:rotate(-40deg)}.lang__menu{z-index:30;background:var(--surface);border:1px solid var(--line-strong);transform-origin:calc(100% - 26px) 0;opacity:0;visibility:hidden;width:300px;transition:transform .26s var(--ease-out), opacity .16s ease-out, visibility 0s linear .26s;border-radius:14px;grid-template-columns:1fr 1fr;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;transform:scale(.95)translateY(-4px);box-shadow:0 22px 48px -20px #3c2d1459}.lang.is-open .lang__menu{opacity:1;visibility:visible;transition:transform .26s var(--ease-out), opacity .16s ease-out, visibility 0s;transform:none}.lang__menu button{appearance:none;cursor:pointer;text-align:left;color:var(--dim);font:500 14px/1.2 var(--f-body);background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px 9px 28px;transition:background-color .12s,color .12s;display:flex;position:relative}.lang__menu button:hover,.lang__menu button:focus-visible{background:color-mix(in srgb, var(--fg) 8%, transparent);color:var(--fg);outline:none}.lang__menu button[aria-checked=true]{color:var(--fg)}.lang__menu button[aria-checked=true]:before{content:"";border:solid var(--brass);border-width:0 1.5px 1.5px 0;width:4px;height:8px;margin-top:-6px;position:absolute;top:50%;left:12px;transform:rotate(40deg)}.lang__short{font:500 11px/1 var(--f-mono);letter-spacing:.08em;color:var(--faint)}.btn{background:var(--btn-bg);height:50px;color:var(--btn-fg);font:500 15.5px/1 var(--f-body);letter-spacing:-.005em;border-radius:999px;align-items:center;gap:10px;padding:0 24px 0 20px;text-decoration:none;transition:transform .18s cubic-bezier(.3,1.4,.6,1),background-color .2s;display:inline-flex}.btn svg{width:18px;height:18px}.btn:hover{background:#000;transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.btn--small{height:34px;padding:0 16px;font-size:14px}.btn--large{height:56px;padding:0 30px 0 26px;font-size:16.5px}.hero{padding-top:clamp(40px,6vw,80px);overflow-x:clip}.hero__copy{isolation:isolate;text-align:center;flex-direction:column;align-items:center;max-width:1080px;display:flex;position:relative}.hero .lede{text-wrap:balance;max-width:31em;margin-top:24px;font-size:clamp(1.08rem,1.35vw,1.25rem);line-height:1.5}.hero__title{text-wrap:balance;letter-spacing:-.02em;font-size:clamp(2.8rem,min(6.4vw,11vh),6.2rem);line-height:1}.hero__title span,.hero__title em{display:block}.hero__title em{white-space:nowrap;color:color-mix(in srgb, var(--fg) 56%, var(--bg));font-style:italic}.hero .cta{flex-direction:column;justify-content:center;gap:14px;margin-top:32px}.cta{flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:28px;display:flex}.cta__meta{color:var(--dim);margin:0;font-size:13.5px}.cta__meta a{color:inherit;text-underline-offset:3px;text-decoration:underline 1px}.cta__meta a:hover{color:var(--fg)}.reveal__frame{position:relative}.reveal__win{transform-origin:0 0;width:900px;height:520px;margin-top:40px;position:relative}#heroTerm{position:absolute;top:0;left:0}.reveal__shadow{bottom:0;left:0;right:0;top:var(--clip,0px);border-radius:20px;position:absolute;box-shadow:0 28px 60px -30px #3c2d1466,0 0 0 .5px #0000008c}.hero-keys{z-index:20;left:50%;top:calc(var(--clip,0px) + (100% - var(--clip,0px)) / 2);color:#1c1a16;font:500 15px/1 var(--f-body);letter-spacing:-.005em;white-space:nowrap;opacity:0;transform:translate(-50%, calc(-50% + 8px)) scale(calc(var(--hud-s,1) * .97));transition:opacity .25s ease, transform .4s var(--ease-out);pointer-events:none;background:#faf8f3f7;border-radius:16px;align-items:center;gap:12px;padding:9px 18px 9px 9px;display:flex;position:absolute;box-shadow:0 0 0 1px #00000014,0 22px 46px -14px #000000bf}.hero-keys.is-on{opacity:1;transform:translate(-50%, -50%) scale(var(--hud-s,1))}.hero-keys.is-note{gap:10px;padding:13px 18px 13px 16px}.hero-keys.is-note:before{content:"";background:#d16d6a;border-radius:50%;width:8px;height:8px}.hero-keys.at-right{left:75%}.hero-keys__caps{gap:5px;display:flex}.hero-keys kbd{min-width:32px;height:32px;box-shadow:none;font:500 15px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", var(--f-body);color:#1c1a16;vertical-align:0;background:#fff;border:1px solid #1c1a1624;border-bottom-width:2px;border-radius:8px;place-items:center;padding:0 8px;display:inline-grid}.reveal.is-on{height:190svh;margin-top:calc(-1 * var(--nav-h,60px));padding:0;overflow:clip visible}.reveal.is-on .reveal__frame{max-width:none;height:100svh;position:sticky;top:0;overflow:visible}.reveal.is-on .hero__copy{left:50%;top:var(--copy-top,18vh);width:min(1080px, calc(100% - 2 * var(--gutter)));transform:translate(-50%, calc(var(--e,0) * -96px)) scale(calc(1 - var(--e,0) * .05));opacity:var(--copy-o,1);position:absolute}.reveal.is-on .reveal__win{left:var(--win-left,0px);top:var(--win-top,0px);transform-origin:50% 100%;transform:scale(var(--win-s,1));margin:0;position:absolute}.reveal.is-moving .hero__copy{will-change:transform, opacity}.reveal.is-moving .reveal__win{will-change:transform}.reveal.is-on #heroTerm{clip-path:inset(var(--clip,0px) 0 0 0 round 20px)}#tip path{stroke:var(--brass)}.sketch{width:100%;height:auto;display:block;overflow:visible}.sketch .pen{color:var(--pencil)}.sketch .note{color:var(--brass)}.sketch path,.sketch rect,.sketch circle,.sketch ellipse{fill:none;stroke:currentColor;stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round}.sketch .ghost{stroke-width:.9px;opacity:.35}.sketch .thin{stroke-width:1.1px;opacity:.7}.sketch .thick{stroke-width:2.4px}.sketch .thick-soft{stroke-width:2.4px;opacity:.8}.sketch .dash{stroke-dasharray:4 6;opacity:.75}.sketch .dot{stroke-dasharray:.5 6;stroke-width:2px;opacity:.8}.sketch .ok{stroke:var(--ok);stroke-width:1.6px}.sketch .no{stroke:var(--err);stroke-width:1.6px}.sketch .gold-fill{fill:var(--brass);stroke:none}.sketch .ok-fill{fill:var(--ok);stroke:none}.sketch .err-fill{fill:var(--err);stroke:none}.sketch .grid-lines path{stroke:var(--steel);stroke-width:.9px;stroke-dasharray:2 4;opacity:.55}.sketch text{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;fill:currentColor;stroke:none;font-size:10.5px;font-weight:500}.sketch text.sm{font-size:9.5px}.js .drawable{stroke-dasharray:1 1;stroke-dashoffset:1px}.js .is-drawn .drawable{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur,1.1s) cubic-bezier(.55, .1, .25, 1) var(--delay,0s)}.js .sketch text,.js .sketch .gold-fill,.js .sketch .ok-fill,.js .sketch .err-fill{opacity:0;transition:opacity .6s ease var(--tdelay,.6s)}.js .is-drawn text,.js .is-drawn .gold-fill,.js .is-drawn .ok-fill,.js .is-drawn .err-fill{opacity:1}.plate{border:1px solid var(--line);background-color:var(--paper);background-image:var(--paper-fade), var(--paper-dots);background-position:0 0,11px 11px;background-size:100% 100%,24px 24px;border-radius:10px;margin:0 auto clamp(18px,2vw,24px);overflow:hidden}.plate__scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.plate__svg{width:100%;min-width:760px;height:auto;color:var(--fg);display:block}.pl-proj path{stroke:var(--fg);stroke-opacity:.28;stroke-width:1px;stroke-dasharray:5 5;fill:none}.pl-layer rect,.pl-layer path,.pl-layer circle{stroke-linejoin:round;stroke-linecap:round}.pl-sheet{fill:var(--paper);fill-opacity:.55;stroke:var(--fg);stroke-opacity:.45;stroke-width:1px;stroke-dasharray:3 3}.pl-edge{fill:var(--paper);fill-opacity:.35;stroke:var(--fg);stroke-opacity:.85;stroke-width:1.3px}.pl-base{fill:color-mix(in srgb, var(--paper) 70%, var(--fg) 8%);stroke:var(--fg);stroke-opacity:.85;stroke-width:1.3px}.pl-band{fill:var(--fg);fill-opacity:.06}.pl-thin{fill:none;stroke:var(--fg);stroke-opacity:.5;stroke-width:1px}.pl-text{fill:none;stroke:var(--fg);stroke-opacity:.75;stroke-width:2.2px}.pl-trail{fill:none;stroke:var(--brass);stroke-width:1.2px;stroke-dasharray:3 3}.pl-gold{fill:var(--brass)}.pl-wave{fill:none;stroke:var(--brass);stroke-width:1.2px}.pl-halo{fill:none;stroke:var(--brass);stroke-opacity:.45;stroke-width:1px}.pl-ink-fill{fill:var(--fg)}.pl-sel{fill:var(--steel);fill-opacity:.22;stroke:var(--steel);stroke-width:1.2px}.pl-emoji{fill:#e8c988}.pl-emoji2{fill:#e58b88}.pl-ok{fill:var(--ok)}.pl-err{fill:var(--err)}.pl-dot{fill:var(--fg)}.pl-leader{stroke:var(--fg);stroke-opacity:.55;stroke-width:1px;fill:none}.pl-bubble{fill:var(--paper);stroke:var(--fg);stroke-opacity:.8;stroke-width:1px}.pl-bubble-t{font:600 11px var(--f-mono);fill:var(--fg);text-anchor:middle}.pl-name{font:500 12.5px var(--f-mono);fill:var(--fg);letter-spacing:.02em}.pl-desc{font:400 12.5px var(--f-body);fill:var(--dim)}.pl-dim path{stroke:var(--fg);stroke-opacity:.6;stroke-width:1px;fill:none}.pl-dim .pl-slash{stroke-opacity:.9;stroke-width:1.4px}.pl-dimt{font:500 9.5px var(--f-mono);fill:var(--dim);letter-spacing:.1em}.pl-scale path{stroke:var(--fg);stroke-opacity:.7;stroke-width:1px;fill:none}.pl-tbbox{fill:var(--paper);stroke:var(--fg);stroke-opacity:.7;stroke-width:1.2px}.pl-tbline{stroke:var(--fg);stroke-opacity:.35;stroke-width:1px;fill:none}.pl-tbk{font:500 9px var(--f-mono);fill:var(--dim);letter-spacing:.12em}.pl-tbv{font:500 12px var(--f-mono);fill:var(--fg)}.js .pl-layer{transition:translate 1.3s cubic-bezier(.2, .8, .2, 1) calc(var(--i) * 40ms);translate:0}.js .plate:not(.is-drawn) .pl-layer{translate:0 calc((var(--i) - 4) * 50px)}.js .pl-proj,.js .pl-legend,.js .pl-dim{transition:opacity .8s .9s}.js .plate:not(.is-drawn) .pl-proj,.js .plate:not(.is-drawn) .pl-legend,.js .plate:not(.is-drawn) .pl-dim{opacity:0}.section-head{margin-bottom:clamp(40px,6vw,72px)}.sheets{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.sheet{counter-increment:detail;background-color:var(--paper);background-image:var(--paper-fade), var(--paper-dots);border:1px solid var(--line);background-position:0 0,11px 11px;background-size:100% 100%,24px 24px;border-radius:10px;padding:22px 26px 28px;transition:border-color .25s,transform .35s cubic-bezier(.3,1.3,.5,1);position:relative}.sheet:hover{border-color:var(--line-strong);transform:translateY(-2px)}.sheets{counter-reset:detail}.sheet:before{content:counter(detail);border:1px solid var(--line-strong);width:34px;height:34px;font:500 11px/1 var(--f-mono);color:var(--fg);background:linear-gradient(transparent 49.5%, var(--line-strong) 49.5% 50.5%, transparent 50.5%);border-radius:50%;place-items:start center;padding-top:4px;display:grid;position:absolute;top:16px;right:16px}.sheet:after{content:"A-12";text-align:center;width:34px;font:500 7.5px/1 var(--f-mono);letter-spacing:.04em;color:var(--dim);position:absolute;top:37px;right:16px}.sheet .sketch{margin:4px -6px 18px}.sheet p{color:var(--dim);text-wrap:pretty;margin:10px 0 0;font-size:15.5px}.flist{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,6vw,96px);margin:0 auto;display:grid}.flist>div{border-top:1px solid var(--line);grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:20px;padding:22px 0;display:grid}.flist dt{letter-spacing:-.005em;font-weight:500}.flist dd{color:var(--dim);margin:0;font-size:15.5px}.download{padding-top:clamp(110px,12vw,170px);padding-bottom:clamp(110px,12vw,160px)}.download__card{text-align:center;flex-direction:column;align-items:center;max-width:760px;display:flex}.download .display--m{font-size:clamp(2.6rem,5vw,4rem)}.download .lede{margin:18px auto 32px}.download .cta__meta{margin-top:16px}.dl__latest{font:400 13px/1 var(--f-mono);letter-spacing:.02em;margin:14px 0 0}.dl__latest a{color:var(--fg-2);text-decoration:none;transition:color .2s}.dl__latest a:hover{color:var(--fg)}.dl__latest [aria-hidden]{color:var(--brass)}.foot{padding:0 var(--gutter) 72px}.foot__inner{max-width:var(--maxw);border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,180px)) minmax(0,1fr);gap:32px;margin:0 auto;padding-top:52px;display:grid}.foot h2{font:500 11.5px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg);margin:0 0 16px}.foot__col a{width:fit-content;font:400 12.5px/1.3 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin:0 0 11px;text-decoration:none;transition:color .2s;display:block}.foot__col a:hover{color:var(--fg)}.foot__note{text-align:right;max-width:19em;color:var(--dim);flex-direction:column;justify-self:end;align-items:flex-end;gap:14px;font-size:14px;line-height:1.5;display:flex}.foot__note p{margin:0}.foot__note .brand__mark{width:32px;height:32px}@media (width<=1020px){.sheets{grid-template-columns:repeat(2,minmax(0,1fr))}.flist{grid-template-columns:1fr}}@media (width<=820px){.nav__links{display:none}}@media (width<=640px){.sheets{grid-template-columns:1fr}.flist>div{grid-template-columns:1fr;gap:4px}.nav__inner{gap:10px;padding-left:12px}.lang{position:static}.lang__menu{top:calc(100% + 4px);left:var(--gutter);right:var(--gutter);width:auto}.btn--small{padding:0 13px}.foot__inner{grid-template-columns:1fr 1fr}.foot__note{text-align:left;grid-column:1/-1;justify-self:start;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important}.js .drawable{stroke-dashoffset:0}.js .pl-layer{transition:none}.js .plate:not(.is-drawn) .pl-layer{translate:0}.js .plate:not(.is-drawn) .pl-proj,.js .plate:not(.is-drawn) .pl-legend,.js .plate:not(.is-drawn) .pl-dim,.js .sketch text,.js .sketch .gold-fill,.js .sketch .ok-fill,.js .sketch .err-fill{opacity:1}}
