@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/fonts/ibm-plex-sans-latin-e2291e842cf5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/fonts/jetbrains-mono-latin-18be452724bf.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Roboto Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/fonts/roboto-mono-latin-b81cd5517730.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0d1117;--surface:#161b22;--surface-2:#1c232c;--text:#e6edf3;--muted:#8d96a0;--border:#30363d;--accent:#58a6ff;--on-accent:#0d1117;--link:#58a6ff;--down:#58a6ff;--up:#d2a8ff;--track:#232a33;--ui-radius:6px;--ui-btn-radius:6px;--ui-font:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--ui-font-head:"JetBrains Mono", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ui-font-num:"Roboto Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--ui-maxw:70rem;color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ui-font);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}a{color:var(--link);text-underline-offset:.15em}a:hover{text-decoration-thickness:2px}h1,h2,h3{font-family:var(--ui-font-head);font-weight:800;letter-spacing:-0.02em;line-height:1.2;margin:0 0 .5em}h1{font-size:clamp(2rem, 5.5vw, 3rem)}h2{font-size:1.25rem}h3{font-size:1.0625rem}p{margin:0 0 1em}ul,ol{padding-left:1.25em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.xes-skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--on-accent);padding:.5rem 1rem;z-index:10}.xes-skip:focus{left:1rem;top:1rem}.xes-wrapper{width:100%;max-width:var(--ui-maxw);margin:0 auto;padding:0 clamp(1rem, 4vw, 2rem)}.xes-cta-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.75rem 1.5rem;border:0;border-radius:var(--ui-btn-radius);background:var(--accent);color:var(--on-accent);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.xes-cta-link:hover{filter:brightness(1.08)}.xes-cta-link:disabled{opacity:.6;cursor:default}.xes-surface{background:var(--surface);border-radius:var(--ui-radius);padding:1.125rem;border:1px solid var(--border)}.xes-segment{margin-top:3.375rem}.xes-h2{margin-bottom:0.8438rem}.xes-deck{color:var(--muted);font-size:1.125rem;max-width:42em}.xes-page-header{padding:2.8125rem 0 1.125rem}.xes-subtle{color:var(--muted);font-size:.875rem}.xes-arrow-link{font-weight:600}.xes-status-code{font-family:var(--ui-font-num);font-size:clamp(3rem, 12vw, 5rem);font-weight:700;line-height:1;color:var(--accent);margin:0 0 .5rem}.xes-crumbs ol{list-style:none;padding:0;margin:1.6875rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.875rem;color:var(--muted)}.xes-crumbs li+li::before{content:"/";margin-right:.5rem}.xes-rich-text{max-width:44rem}.xes-header{border-bottom:1px solid var(--border);background:var(--surface)}.xes-header-inner{max-width:var(--ui-maxw);margin:0 auto;padding:0.9844rem clamp(1rem, 4vw, 2rem);display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem}.xes-wordmark{display:inline-flex;align-items:center;gap:.5rem;color:var(--text);font-weight:700;font-size:1.125rem;text-decoration:none;letter-spacing:-0.02em}.xes-logo-mark{display:inline-flex;color:var(--accent)}.xes-nav-items{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}.xes-nav-item{color:var(--muted);text-decoration:none;font-weight:500;padding:.25rem 0;display:inline-block}.xes-nav-item:hover{color:var(--text)}.xes-header-inner{flex-direction:column;text-align:center}.xes-is-current{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}body{min-height:100vh;display:flex;flex-direction:column}.xes-page{flex:1 0 auto}.xes-site-footer{margin-top:4.5rem;border-top:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:.9375rem}.xes-footer-row{max-width:var(--ui-maxw);margin:0 auto;padding:2.25rem clamp(1rem, 4vw, 2rem)}.xes-footer-list{list-style:none;margin:0;padding:0}.xes-footer-list a{color:var(--muted)}.xes-footer-list a:hover{color:var(--text)}.xes-ftitle{color:var(--text);font-weight:600;margin-bottom:.5rem}.xes-legal{max-width:var(--ui-maxw);margin:0 auto;padding:0 clamp(1rem, 4vw, 2rem) 2.25rem;font-size:.875rem}.xes-footer-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem}.xes-footer-list{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.xes-footer-row p{margin:0}.xes-legal{padding:0}.xes-grid{display:grid;gap:1.125rem;grid-template-columns:repeat(auto-fit, minmax(min(100%, 13rem), 1fr))}.xes-item-title{display:block;margin:0 0 .25rem;font-size:1rem}.xes-item-text{color:var(--muted);margin:0}ul.xes-items,ol.xes-sequence{padding-left:1.25em}ul.xes-items li,ol.xes-sequence li{margin:.5rem 0}dl.xes-items dd{margin:0 0 1rem}.xes-step-num{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700;margin-bottom:.5rem}.xes-faq-item{border-bottom:1px solid var(--border);padding:0.8438rem 0}.xes-qa-q{font-weight:600;font-size:1.0625rem;margin:0}summary.xes-qa-q{cursor:pointer;list-style-position:outside}.xes-faq-a{color:var(--muted);margin:.5rem 0 0}.xes-faq-a p:last-child{margin-bottom:0}dl.xes-faq dt{margin-top:1.25rem}.xes-kv{width:100%;border-collapse:collapse;list-style:none;padding:0;margin:0 0 1rem}.xes-spec{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding:.6rem 0}table.xes-kv .xes-spec{display:table-row}table.xes-kv th,table.xes-kv td{padding:.6rem .75rem .6rem 0;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}table.xes-kv td{text-align:right;padding-right:0}.xes-spec-name{color:var(--muted);font-weight:500;margin:0}.xes-kv-value{margin:0;font-weight:600;text-align:right}.xes-on-page{border-left:3px solid var(--accent);padding-left:1rem;margin:1.6875rem 0}.xes-on-page ul{list-style:none;padding:0;margin:0}.xes-on-page li{margin:.25rem 0}.xes-page-nav-title{font-weight:600;margin-bottom:.5rem}.xes-glossary dt{font-weight:700;margin-top:1.25rem}.xes-glossary dd{margin:.25rem 0 0;color:var(--muted)}.xes-stat-name{color:var(--muted);font-size:.8125rem;font-weight:500}.xes-stat-value{font-family:var(--ui-font-num);font-variant-numeric:tabular-nums;font-weight:700;font-size:2rem;color:var(--text)}.xes-metric-unit{color:var(--muted);font-size:.875rem}.xes-results dd{margin:0}.xes-down .xes-stat-value{color:var(--down)}.xes-up .xes-stat-value{color:var(--up)}.xes-state{color:var(--muted);min-height:1.5em;margin:.75rem 0}.xes-bar{height:8px;background:var(--track);border-radius:999px;overflow:hidden;margin-top:.5rem}.xes-line-fill{height:100%;width:0;background:var(--accent);transition:width .2s linear}.xes-down .xes-line-fill{background:var(--down)}.xes-up .xes-line-fill{background:var(--up)}.xes-run-progress{height:2px;background:var(--track);border-radius:999px;overflow:hidden;margin:1rem 0}.xes-progress-inner{height:100%;width:0;background:var(--accent);transition:width .2s linear}.xes-current{font-family:var(--ui-font-num);font-variant-numeric:tabular-nums;font-weight:700}.xes-unit{color:var(--muted);margin-left:.35rem}.xes-intro{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.6875rem;padding:2.8125rem 0 0.5625rem}.xes-intro > div:first-child{flex:1 1 22rem}.xes-intro .xes-deck{margin-bottom:0}.xes-gauge-readout{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.xes-gauge-readout .xes-state{margin:0}.xes-current{font-size:1.125rem}.xes-tester[data-stage=idle] .xes-state .xes-current,.xes-tester[data-stage=idle] .xes-state .xes-unit{display:none}.xes-results{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:1.125rem}.xes-reading{display:flex;flex-direction:column;gap:.25rem}.xes-columns-2{display:grid;grid-template-columns:minmax(0, 1fr) 15rem;gap:2.8125rem;align-items:start}.xes-aside{position:sticky;top:1rem}.xes-aside .xes-on-page{margin-top:0}@media (max-width: 640px){.xes-segment{margin-top:2.25rem}.xes-menu{margin-left:0;width:100%}.xes-results{grid-template-columns:repeat(2, minmax(0, 1fr))}.xes-columns-2{grid-template-columns:1fr}.xes-aside{position:static;order:-1}}@media (prefers-reduced-motion: reduce){*{transition:none !important}}
.xes-collection-home{max-width:76rem;margin:auto;padding:0 clamp(1rem,4vw,3rem)}
.xes-feature-header{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(1.5rem,5vw,4rem);padding:clamp(2rem,6vw,5rem) 0}
.xes-feature-header h1{font-size:clamp(2.1rem,5vw,4rem);max-width:17ch;line-height:1.06}
.xes-overline{font-size:.8rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#8d96a0}
.xes-hero-mark{display:grid;place-items:center;font-size:clamp(5rem,18vw,12rem);min-height:12rem;border-radius:1.5rem;background:#1c232c;color:#58a6ff}
.xes-feature-header img{width:100%;height:auto;max-height:32rem;object-fit:cover;border-radius:1rem}
.xes-catalog{margin:2rem 0 3rem}
.xes-play-grid,.xes-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1.5rem}
.xes-play-card{background:#161b22;border:1px solid #30363d;border-radius:1rem;padding:1.5rem}
.xes-game-symbol{font-family:monospace;font-size:3rem;letter-spacing:.2rem;color:#58a6ff;padding:1rem 0}
.xes-entry{min-width:0;border-bottom:1px solid #30363d;padding-bottom:1.5rem}
.xes-entry h3{margin:.8rem 0 .4rem}
.xes-entry img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:.5rem}
.xes-picture{margin:1.5rem 0}
.xes-picture img{max-width:100%;height:auto;display:block;border-radius:.5rem}
figcaption{color:#8d96a0;font-size:.875rem;padding:.75rem 0}
.xes-audio-list{display:grid;gap:1.5rem}
.xes-audio-list .xes-entry{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem}
.xes-entry-number{font-size:2rem;font-weight:700;color:#8d96a0;padding-top:.5rem}
audio{display:block;width:100%;max-width:38rem;margin:1rem 0}
[hidden]{display:none!important}
input[type=search]{display:block;width:100%;max-width:32rem;padding:.8rem;border:1px solid #30363d;border-radius:.5rem;font:inherit;color:#e6edf3;background:#161b22;margin:.5rem 0}
.xes-puzzle{max-width:28rem;padding:1.25rem;border:1px solid #30363d;border-radius:1rem;background:#161b22}
.xes-play-board{display:grid;gap:.4rem;margin-bottom:1rem}
.xes-play-board button{aspect-ratio:1;min-width:0;min-height:44px;padding:.1rem;border:1px solid #30363d;border-radius:.45rem;font-size:clamp(1rem,4vw,1.75rem);font-family:inherit;background:#1c232c;color:#e6edf3;cursor:pointer}
.xes-play-board button[data-lit=true]{background:#58a6ff;color:#0d1117}
.xes-play-board button:disabled{cursor:default}
.xes-attribution{border-left:3px solid #30363d;padding-left:1rem;margin:2rem 0}
.xes-checksum{display:block;overflow-wrap:anywhere;word-break:break-word;white-space:normal;font-size:.85rem;padding:1rem;background:#1c232c;border-radius:.4rem}
.xes-legal-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;padding:1rem;background:#1c232c}
.xes-release{padding:1.5rem;margin:1.5rem 0;border:1px solid #30363d;border-radius:.75rem;background:#161b22}
.xes-release h3{font-size:1.4rem}
.xes-release code{display:block;font-size:.8rem;overflow-wrap:anywhere;margin-top:1rem}
.xes-release{border-left:5px solid #58a6ff}
.xes-hero-mark{font-family:monospace;border-radius:.5rem}
@media(max-width:650px){.xes-feature-header{grid-template-columns:1fr}.xes-hero-mark{display:none}.xes-feature-header h1{max-width:none}.xes-gallery{grid-template-columns:1fr}}
.xes-page{width:100%;max-width:70rem;min-width:0;margin:0 auto;padding:2rem clamp(1rem,4vw,3rem) 3rem}
.xes-collection-home{max-width:none;margin:0;padding:0}
.xes-nav-item{display:inline-flex;align-items:center;min-height:44px}
.xes-opening-copy{padding:2rem 0 2.5rem}
.xes-opening-copy h1{font-size:clamp(2.2rem,5.5vw,4.6rem);line-height:1.08;max-width:21ch;margin-bottom:1.1rem}
.xes-opening-copy .xes-deck{max-width:48rem}
.xes-quick-links{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin:1.5rem 0}
.xes-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.xes-split>*{min-width:0}
.xes-reading-note{padding:1.5rem;border:1px solid #30363d;border-radius:6px;background:#161b22}
.xes-reading-note .xes-puzzle{border:0;padding:0;max-width:25rem;margin:auto}
.xes-play-grid,.xes-gallery{gap:1.5rem}
.xes-play-card{border-radius:6px}
.xes-game-symbol{font-family:"Roboto Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}
.xes-cover{margin:0 0 3rem}
.xes-cover img{width:100%;display:block;max-height:38rem;object-fit:cover;aspect-ratio:16/8}
.xes-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;border-bottom:1px solid #30363d;padding:1rem 0}
.xes-audio-cover{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:2.5rem;align-items:center;border-top:1px solid #30363d;border-bottom:1px solid #30363d;padding:2.5rem 0;margin:1rem 0 3rem}
.xes-audio-cover h2{font-size:clamp(1.5rem,3vw,2.2rem)}
.xes-audio-cover audio{max-width:100%}
.xes-wave-art{display:flex;align-items:center;justify-content:center;gap:clamp(3px,.6vw,8px);height:16rem;padding:2rem;background:#58a6ff;border-radius:50% 50% 8px 8px}
.xes-wave-art span{width:8px;border-radius:8px;background:#0d1117}
.xes-masthead-wide{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem 1rem 1.2rem}
.xes-masthead-wide .xes-wordmark{font-family:"JetBrains Mono", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:clamp(1.7rem,4vw,2.8rem)}
.xes-masthead-wide .xes-menu{margin:0}
.xes-page-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);min-height:100vh}
.xes-page-layout>div{min-width:0}
.xes-page-layout .xes-side{position:static;width:auto;padding:2rem 1.25rem;border-right:1px solid #30363d;background:#161b22}
.xes-side .xes-menu{margin:2rem 0}
.xes-side .xes-nav-items{display:grid;gap:.65rem}
.xes-side .xes-wordmark{flex-wrap:wrap}
.xes-release h2{font-size:clamp(1.5rem,3vw,2.3rem)}
.xes-release-history{border-top:1px solid #30363d;margin-top:2.5rem;padding-top:2rem}
.xes-release-history dl{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1.5rem}
.xes-release-history dt{font-family:"Roboto Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-weight:700}
.xes-release-history dd{margin:0}
.xes-opening-copy h1{font-size:clamp(2rem,4vw,3rem)}
.xes-split{align-items:start}
.xes-release{margin-top:0}
@media(max-width:850px){.xes-page-layout{grid-template-columns:1fr}.xes-page-layout .xes-side{border-right:0;border-bottom:1px solid #30363d;padding:1rem}.xes-side .xes-nav-items{display:flex;flex-wrap:wrap}.xes-side .xes-menu{margin:1rem 0}.xes-split{grid-template-columns:1fr}}
@media(max-width:650px){.xes-split,.xes-opening-copy,.xes-audio-cover,.xes-masthead-wide{display:block}.xes-opening-copy{padding:1rem 0 2rem}.xes-opening-copy h1{font-size:2.25rem}.xes-reading-note{margin:1.5rem 0}.xes-wave-art{height:10rem;margin-bottom:1.5rem}.xes-gallery{grid-template-columns:1fr}.xes-gallery article:nth-child(even){padding-top:0}.xes-audio-list{grid-template-columns:1fr}.xes-play-card{grid-template-columns:1fr}.xes-play-card p{grid-column:auto}.xes-release-history dl{grid-template-columns:1fr}}

body{min-height:100vh;display:block}
body>header,body>footer{padding-inline:clamp(1rem,5vw,5rem)}
body nav a,body>footer>a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.24em}
body nav a[aria-current=page]{font-weight:750;text-decoration-thickness:2px}
body>footer{margin:2.5rem auto 0;border-top:1px solid #30363d;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1rem;padding-block:.9rem;max-width:90rem}
body>footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem 1.4rem}
body>footer a{font-size:.9rem;color:#8d96a0}

[data-project]{background:#161b22;border-bottom:2px solid #58a6ff;display:flex;align-items:center;gap:.3rem 2rem;flex-wrap:wrap;padding-block:.75rem}
[data-project]>a:first-child{font-size:1.4rem}
[data-project]>a:last-child{margin-left:auto;font:600 .95rem/1.5 "Roboto Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}
[data-project] nav{display:flex;flex-wrap:wrap;gap:1rem}
[data-release-desk]{display:grid;grid-template-columns:minmax(8rem,12rem) minmax(0,1fr);align-items:start;gap:1rem 3rem}
[data-versions]{display:flex;flex-direction:column;border-left:2px solid #58a6ff;align-items:start;padding-left:1rem;margin-top:1rem;font-family:"Roboto Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}
[data-release-desk] article,[data-release-timeline] article{overflow-wrap:anywhere}
[data-release-title]{max-width:43rem;padding:.5rem 0}
[data-artifacts]{margin:1rem 0}[data-artifacts] dt{padding:.7rem 0 .2rem}[data-artifacts] dd{margin:0;padding:.25rem 0 .7rem;border-bottom:1px solid #30363d;display:flex;align-items:baseline;gap:1.25rem;flex-wrap:wrap}
[data-artifacts] details{min-width:0}[data-artifacts] code{overflow-wrap:anywhere}
[data-release-archive]{display:grid;gap:1rem;padding:1.25rem 0;border-top:1px solid #30363d}
[data-release-archive] summary,[data-artifacts] summary{cursor:pointer}
[data-release-archive] summary{font-weight:700}
[data-release-timeline]{max-width:58rem;margin-left:auto;padding-left:clamp(.6rem,3vw,2rem);border-left:2px solid #30363d}
@media(max-width:650px){[data-release-desk]{display:block}[data-versions]{flex-direction:row;flex-wrap:wrap;gap:0 .9rem;padding:0;border:0;margin:0}[data-project]>a:last-child{margin:0}}
[data-unit-table]{width:100%;border-collapse:collapse}[data-unit-table] caption,[data-unit-table] th,[data-unit-table] td{text-align:left;padding:.5rem;border-bottom:1px solid #30363d}[data-worked-case]{padding:1rem;background:#1c232c}[data-conversion-index] li{padding:.35rem 0}