:root{--gutter:clamp(20px, 5vw, 64px);--ease-out:cubic-bezier(.16, 1, .3, 1);--muted-on-tile:#aab8cc;--grid-line:color-mix(in srgb, var(--pt-neutral-800) 70%, transparent);--rule:linear-gradient(to right, transparent, var(--pt-divider) 48px, var(--pt-divider) calc(100% - 48px), transparent)}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--pt-tile) var(--pt-ground);scroll-padding-top:24px}body{background:var(--pt-ground);color:var(--pt-text);font-family:var(--pt-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1.0625rem;font-weight:400;line-height:1.6}h1,h2,h3{letter-spacing:-.02em;color:var(--pt-line);text-wrap:balance;margin:0;font-weight:500;line-height:1.1}p{text-wrap:pretty;margin:0}a{color:var(--pt-base);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .16s ease-out}a:hover{color:var(--pt-light)}:focus-visible{outline:2px solid var(--pt-base);outline-offset:3px;border-radius:2px}::selection{background:color-mix(in srgb, var(--pt-base) 35%, transparent);color:var(--pt-line)}code{font-family:var(--pt-font-mono);font-size:.875em}.wrap{width:min(100% - 2 * var(--gutter), 1200px);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--pt-light);color:var(--pt-ground);border-radius:8px;padding:8px 14px;position:absolute;top:12px;left:12px;translate:0 -200%}.skip-link:focus-visible{translate:0}.btn{border:1px solid var(--pt-base);color:var(--pt-light);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:.9375rem;font-weight:500;line-height:1.2;text-decoration:none;transition:background-color .16s ease-out,color .16s ease-out;display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--pt-base) 14%, transparent);color:var(--pt-line)}.btn:active{background:color-mix(in srgb, var(--pt-base) 24%, transparent)}.btn-lg{padding:14px 22px;font-size:1.0625rem}.text-link{align-items:center;gap:6px;font-weight:500;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.arrow{flex:none;width:1em;height:1em}.site-header{align-items:center;gap:40px;padding-block:22px;display:flex}.lockup{color:var(--pt-text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.lockup:hover{color:var(--pt-line)}.wordmark{letter-spacing:-.03em;font-size:1.125rem;font-weight:500}.site-nav ul{gap:28px;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--pt-muted);font-size:.9375rem;text-decoration:none}.site-nav a:hover{color:var(--pt-light)}.header-end{align-items:center;gap:14px;margin-left:auto;display:flex}.lang-switch{border:1px solid var(--pt-divider);color:var(--pt-muted);font-family:var(--pt-font-mono);border-radius:6px;padding:5px 8px;font-size:.8125rem;line-height:1;text-decoration:none}.lang-switch:hover{border-color:var(--pt-base);color:var(--pt-light)}.hero{grid-template-columns:minmax(0,4.6fr) minmax(0,7.4fr);align-items:center;gap:clamp(24px,4vw,64px);min-height:calc(100svh - 86px);padding-block:clamp(24px,4vw,48px) clamp(48px,6vw,80px);display:grid}.hero h1{font-size:clamp(2.5rem,1.5rem + 3vw,3.75rem);line-height:1.02}.twist-words{color:var(--pt-base);display:block}.lead{max-width:36ch;color:var(--pt-neutral-300);margin-top:24px;font-size:1.1875rem;line-height:1.55}.actions{flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:36px;display:flex}.drawing{--vb-x:4;--vb-y:4;--vb-w:168;margin:0;position:relative;container-type:inline-size}@media (width>=901px){.drawing{margin-right:calc(var(--gutter) * -.75)}}.drawing-canvas{aspect-ratio:168/112;position:relative}.drawing-canvas:before{content:"";background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:2.38095% 3.57143%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000);mask-image:radial-gradient(closest-side,#000 55%,#0000)}.drawing-canvas svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.drawing svg :is(line,path,circle){vector-effect:non-scaling-stroke}.guides line{stroke-width:1px;opacity:.5;transform-origin:0 0}.gh{stroke:url(#fade-x)}.gv{stroke:url(#fade-y)}.drawing stop{stop-color:var(--pt-neutral-600)}.drawing stop.fade-end{stop-opacity:0}.radius{fill:none;stroke:var(--pt-base);stroke-width:1px;stroke-dasharray:3 3;opacity:.85}.half-l,.half-r path:not(.leader){fill:none;stroke:var(--pt-line);stroke-width:2px;stroke-linejoin:round;filter:url(#glow)}.glow-near{flood-color:var(--pt-base)}.glow-far{flood-color:var(--pt-glow)}.dims path,.twist path{fill:none;stroke:var(--pt-muted);stroke-width:1px}.twist path:not(.leader){stroke:var(--pt-light)}.leader{fill:none;stroke:var(--pt-line);stroke-width:1px;opacity:.75}.dot{fill:var(--pt-line)}.labels{pointer-events:none;position:absolute;inset:0}.labels>span{left:calc((var(--x) - var(--vb-x)) * 100cqw / var(--vb-w));top:calc((var(--y) - var(--vb-y)) * 100cqw / var(--vb-w));white-space:nowrap;position:absolute;translate:0 -50%}.dim{background:var(--pt-ground);color:var(--pt-muted);font-family:var(--pt-font-mono);padding:0 3px;font-size:.75rem;line-height:1.4}.labels>.dim{translate:-50% -50%}.labels>.dim-twist,.labels>.dim-start{translate:0 -50%}.labels>.dim-end{translate:-100% -50%}.dim-twist{color:var(--pt-light)}.callout{color:var(--pt-text);letter-spacing:-.01em;align-items:center;gap:8px;font-size:.9375rem;font-weight:500;display:flex}.labels>.callout-end{translate:-100% -50%}.callout-end .callout-text{text-align:right;white-space:normal;max-width:7em;line-height:1.2}.balloon{border:1px solid var(--pt-base);background:var(--pt-ground);width:26px;height:26px;color:var(--pt-light);font-family:var(--pt-font-mono);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:400;line-height:1;display:inline-grid}@media (prefers-reduced-motion:no-preference){.gh{animation:grow-x 1.1s var(--ease-out) both}.gv{animation:grow-y 1.1s var(--ease-out) both}.guides line:nth-child(2n){animation-delay:80ms}.guides line:nth-child(3n){animation-delay:.16s}.half-r{animation:twist 1.2s var(--ease-out) .65s both}.callout-b{animation:twist-label 1.2s var(--ease-out) .65s both}.twist{animation:.6s ease-out 1.45s both appear}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes grow-y{0%{transform:scaleY(0)}}@keyframes twist{0%{transform:translateY(10px)}}@keyframes twist-label{0%{translate:0 calc(5.95238cqw - 50%)}}@keyframes appear{0%{opacity:0}}.section{padding-block:clamp(72px,10vw,136px)}.section-head{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:end;gap:16px clamp(24px,4vw,64px);margin-bottom:clamp(36px,5vw,56px);display:grid}.section-head h2{font-size:clamp(2rem,1.4rem + 2vw,3rem)}.section-head p{max-width:52ch;color:var(--pt-neutral-300);font-size:1.125rem}.schedule-also{color:var(--pt-neutral-300);margin-top:40px}.schedule-also+.schedule-also{margin-top:12px}.schedule-also span{color:var(--pt-muted);margin-right:8px}.spec-table{border-collapse:collapse;width:100%}.spec-table th,.spec-table td{text-align:left;vertical-align:baseline;padding:24px 24px 24px 0}.spec-table thead th{color:var(--pt-muted);letter-spacing:.08em;text-transform:uppercase;padding-block:0 14px;font-size:.75rem;font-weight:500}.spec-table tr{background:var(--rule) no-repeat bottom / 100% 1px}.spec-table .col-ref{width:56px}.spec-table tbody .col-ref{vertical-align:middle}.schedule{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:48px clamp(24px,4vw,56px);display:grid}.schedule-group h3{background:var(--rule) no-repeat bottom / 100% 1px;color:var(--pt-light);align-items:center;gap:12px;padding-bottom:18px;font-size:1.125rem;display:flex}.schedule-lead{min-height:3.2em;color:var(--pt-neutral-300);margin-top:16px}.schedule-group ul{margin:0;padding:0;list-style:none}.schedule-group li{background:var(--rule) no-repeat bottom / 100% 1px;color:var(--pt-line);letter-spacing:-.02em;padding-block:18px;font-size:clamp(1.25rem,1.05rem + .7vw,1.625rem);font-weight:500;line-height:1.2}.revisions tbody th{width:28%;color:var(--pt-line);font-size:1.125rem;font-weight:500}.revisions td{color:var(--pt-neutral-300)}.rev{color:var(--pt-base);font-family:var(--pt-font-mono);font-size:.875rem}.band-tile{background:var(--pt-tile);--pt-divider:color-mix(in srgb, var(--pt-light) 22%, transparent);--rule:linear-gradient(to right, transparent, var(--pt-divider) 48px, var(--pt-divider) calc(100% - 48px), transparent)}.band-tile .section-head p,.band-tile .sheet-intro p{color:var(--muted-on-tile)}.band-tile .btn{border-color:var(--pt-light)}.band-tile a:not(.btn){color:var(--pt-light)}.band-tile a:not(.btn):hover{color:var(--pt-line)}.sheet{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:40px clamp(24px,4vw,64px);display:grid}.plugin-name{align-items:center;gap:16px;margin-bottom:18px;display:flex}.plugin-icon{border-radius:13px;flex:none;width:56px;height:56px}.plugin-name h3{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}.sheet-intro p{max-width:42ch;font-size:1.0625rem}.sheet-intro .actions{margin-top:28px}.spec-list{background:var(--rule) no-repeat top / 100% 1px;margin:0}.spec-list>div{background:var(--rule) no-repeat bottom / 100% 1px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;padding-block:14px;display:grid}.spec-list dt{color:var(--muted-on-tile)}.spec-list dd{color:var(--pt-line);font-family:var(--pt-font-mono);font-variant-numeric:tabular-nums;margin:0;font-size:.9375rem}.contact{padding-block:clamp(48px,7vw,96px) clamp(72px,10vw,136px)}.titleblock{border:1px solid color-mix(in srgb, var(--pt-text) 22%, transparent);background:var(--pt-ground);border-radius:2px;flex-direction:column;align-items:flex-start;gap:18px;padding:clamp(28px,4vw,56px);display:flex}.titleblock h2{font-size:clamp(2rem,1.4rem + 2vw,3rem)}.titleblock p{max-width:40ch;color:var(--pt-neutral-300);margin-bottom:12px;font-size:1.125rem}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;width:min(100%,720px);display:grid}.contact-form label{color:var(--pt-neutral-300);gap:8px;font-size:.9375rem;display:grid}.contact-form-wide{grid-column:1/-1}.contact-form :is(input,textarea){border:1px solid var(--pt-divider);background:var(--pt-surface);color:var(--pt-text);font:inherit;border-radius:8px;padding:12px 14px;font-size:1rem;transition:border-color .16s ease-out}.contact-form textarea{resize:vertical}.contact-form :is(input,textarea):hover{border-color:color-mix(in srgb, var(--pt-text) 45%, transparent)}.contact-form :is(input,textarea):focus-visible{border-color:var(--pt-base);outline-offset:0}.contact-form .btn{cursor:pointer;background:0 0;justify-self:start;font-family:inherit}.titleblock .form-note{color:var(--pt-muted);grid-column:1/-1;margin:0;font-size:.875rem}.form-status{display:none}.titleblock .form-status:target{color:var(--pt-light);display:block}#contact-sent:target~.contact-form{display:none}.site-footer{background:var(--rule) no-repeat top / 100% 1px;color:var(--pt-muted);flex-wrap:wrap;align-items:center;gap:20px 40px;padding-block:36px 48px;font-size:.875rem;display:flex}.footer-brand{align-items:center;gap:10px;display:flex}.footer-brand .wordmark{color:var(--pt-text);font-size:1rem}.footer-links{flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:var(--pt-muted);text-decoration:none}.footer-links a:hover{color:var(--pt-light)}.footer-copy{margin-left:auto}.page-top{padding-top:clamp(32px,6vw,72px)}.page-title{font-size:clamp(2.25rem,1.6rem + 2.4vw,3.5rem)}.post-list{max-width:68ch;margin:40px 0 0;padding:0;list-style:none}.post-list li{background:var(--rule) no-repeat bottom / 100% 1px;gap:6px;padding-block:24px;display:grid}.post-list time,.prose time{color:var(--pt-muted);font-family:var(--pt-font-mono);font-size:.8125rem}.post-list a{letter-spacing:-.02em;font-size:1.375rem;font-weight:500;text-decoration:none}.post-list p{color:var(--pt-neutral-300)}.prose{max-width:calc(68ch + 2 * var(--gutter))}.prose .back{margin-bottom:28px;font-size:.9375rem}.prose time{margin-top:14px;margin-bottom:32px;display:block}.prose p,.prose ul{color:var(--pt-neutral-300);margin-bottom:1.1em;font-size:1.125rem}.prose h2{margin:1.6em 0 .6em;font-size:1.625rem}.prose li+li{margin-top:.3em}.prose img{vertical-align:top;border-radius:16px;width:min(50% - 12px,300px);height:auto;margin-right:8px}@media (width<=900px){.site-header{flex-wrap:wrap;row-gap:14px}.site-nav{order:3;width:100%;overflow-x:auto}.hero,.section-head,.sheet,.schedule{grid-template-columns:minmax(0,1fr)}.hero{gap:40px}}@media (width<=720px){.spec-table thead{display:none}.spec-table tr{grid-template-columns:44px minmax(0,1fr);gap:6px 0;padding-block:22px;display:grid}.spec-table th,.spec-table td{padding:0;width:auto!important}.spec-table .col-ref{grid-row:span 3}.contact-form{grid-template-columns:minmax(0,1fr)}.contact-form .btn{white-space:normal;text-align:center;justify-content:center;justify-self:stretch}.footer-copy{margin-left:0}}@media (width<=560px){.site-header{column-gap:16px}.header-end .btn{display:none}.site-nav ul{flex-wrap:wrap;gap:6px 20px}}.drawing-key{display:none}@container (width<=520px){.callout-text{display:none}.drawing-key{color:var(--pt-text);flex-wrap:wrap;gap:10px 20px;margin-top:8px;font-size:.9375rem;font-weight:500;display:flex}.drawing-key>span{align-items:center;gap:8px;display:inline-flex}}
