:root{--bg:#fbfaf7;--surface:#fff;--sunken:#f3f1ec;--text:#24221f;--muted:#6d685f;--line:#e2ded6;--accent:#2f6690;--good:#2e7d4f;--bad:#b3261e;--mark:#b3261e1f;--select:#2f66901f;--caret-line:#24221f0a;--hl-keyword:#8b3a9c;--hl-type:#006b60;--hl-ctor:#924500;--hl-fn:#2557b8;--hl-quiet:#625d55;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1b1c1e;--surface:#222326;--sunken:#2a2b2f;--text:#e6e3dd;--muted:#9a958c;--line:#3a3b40;--accent:#8cb8dc;--good:#7cc497;--bad:#f49a91;--mark:#f08a8029;--select:#3264a04d;--caret-line:#e6e3dd0d;--hl-keyword:#d29be3;--hl-type:#5fc7b4;--hl-ctor:#e6a465;--hl-fn:#8ab4f8;--hl-quiet:#b5b0a7}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a,.link{color:var(--accent)}code,pre{font-family:var(--mono);font-size:14px}code{font-size:.93em}code code,.hover-tip code{font-size:inherit}h1,h2,h3{font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}textarea.source:focus-visible,.message:focus-visible{outline:none}input.query:focus,select:focus{border-color:var(--accent)}button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:3px 10px}button:hover{border-color:var(--muted)}button.link{font-family:inherit;font-size:inherit;font-style:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}select,input.query{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:3px 6px}input.query{width:100%;font-family:var(--mono);font-size:14px}header.top{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 20px;padding:10px 24px;display:flex}header.top h1{margin:0 auto 0 0;font-size:20px}header.top h1 a{color:inherit;text-decoration:none}@media (width<=480px){header.top h1{flex-basis:100%}}.layout{grid-template-columns:minmax(0, 1fr) var(--side,minmax(280px, 340px));align-items:start;gap:24px;padding:16px 24px 48px;display:grid}.layout.tutorial{grid-template-columns:180px minmax(0, 1fr) var(--side,minmax(280px, 340px))}@media (width>=1440px){.toc>summary{display:none}}@media (width<=1439px){.layout.tutorial{grid-template-columns:minmax(0, 1fr) var(--side,minmax(280px, 340px));row-gap:12px}.layout.tutorial>.toc{grid-area:1/1}.layout.tutorial>.work{grid-area:2/1}.layout.tutorial>.side{grid-area:1/2/3}.toc>summary{color:var(--accent);cursor:pointer}.toc[open]>nav{margin-top:8px}}@media (width<=1199px){.layout,.layout.tutorial{grid-template-columns:minmax(0, 1fr) var(--side,280px)}}@media (width<=1009px){.layout,.layout.tutorial{grid-template-columns:minmax(0, 1fr) var(--side,250px);column-gap:16px;padding:16px 12px 48px}header.top{padding:10px 12px}}@media (width<=954px){.layout,.layout.tutorial{grid-template-columns:minmax(0,1fr)}.layout.tutorial>.side{grid-area:3/1}.side{position:static}.side-scroll{max-height:none}.resizer{display:none}}.work{flex-direction:column;gap:12px;min-width:0;display:flex}.work h2{margin:0;font-size:22px}.work p{max-width:42em;margin:0}.side{display:flex;position:sticky;top:16px}.side-scroll{flex:1;min-width:0;max-height:calc(100vh - 32px);overflow:auto}.resizer{cursor:col-resize;touch-action:none;border-right:1px solid var(--line);flex:none;width:9px;margin-left:-16px;margin-right:7px}.resizer:hover{border-right:3px solid var(--accent)}.toc h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 4px;font-size:11px}.toc h2:first-child{margin-top:0}.toc ol{margin:0;padding:0;list-style:none}.toc .tag{white-space:nowrap}.toc a{border-left:2px solid var(--line);padding:3px 0 3px 10px;text-decoration:none;display:block}.toc a:hover{border-left-color:var(--muted)}.toc a[aria-current]{color:var(--text);border-left-color:var(--accent);font-weight:600}.work .pager{max-width:none;display:flex}.pager .next{margin-left:auto}.editor{border:1px solid var(--line);background:var(--surface);border-radius:8px;display:flex}.editor.readonly{background:var(--sunken)}.editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.gutter,.layer,textarea.source{font:400 14px/21px var(--mono);letter-spacing:0;word-spacing:0;font-variant-ligatures:none;font-kerning:none;text-transform:none;white-space:pre;tab-size:2;margin:0;padding:8px 10px}.gutter{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);flex:none;padding-right:8px}.gutter span{display:block}.gutter .current{color:var(--text)}.gutter .error-line{color:var(--bad);box-shadow:inset -2px 0 var(--bad);margin-right:-8px;padding-right:8px}.code{width:calc(var(--cols) * 1ch + 22px);min-width:0;font:14px var(--mono);flex:auto;position:relative;overflow:clip}.code:has(~.outputs:not(:empty)){flex-grow:0}.layer>div{min-height:21px}.layer{color:var(--text);z-index:1;pointer-events:none;transform:translate(var(--scroll-x,0), var(--scroll-y,0));position:absolute;inset:0}.caret-line{background:var(--caret-line);height:21px;transform:translateY(var(--scroll-y,0));position:absolute;left:0;right:0}.hl-keyword{color:var(--hl-keyword)}.hl-type{color:var(--hl-type)}.hl-ctor{color:var(--hl-ctor)}.hl-fn{color:var(--hl-fn)}.hl-punct,.hl-hole,.hl-comment{color:var(--hl-quiet)}.hl-erased:not(.hl-comment){font-style:italic}.hl-lex-error{color:var(--bad);background:var(--mark);border-radius:2px}.hl-error{-webkit-text-decoration:underline wavy var(--bad);text-decoration:underline wavy var(--bad);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:3px}.hl-bracket{box-shadow:inset 0 0 0 1px var(--hl-quiet);border-radius:2px}.hl-link{text-decoration:underline}.source.following{cursor:pointer}textarea.source{resize:none;color:#0000;-webkit-text-fill-color:transparent;width:100%;caret-color:var(--text);background:0 0;border:none;outline:none;display:block;position:relative;overflow:auto hidden}textarea.source::selection{background:var(--select);color:#0000;-webkit-text-fill-color:transparent}.outputs{border-left:1px solid var(--line);flex:1 0 clamp(96px,25%,128px);font-size:14px;position:relative}.outputs:empty{display:none}.output{flex-wrap:wrap;align-items:start;column-gap:8px;padding:0 10px;line-height:21px;display:flex;position:absolute;left:0;right:0}.message{-webkit-line-clamp:var(--rows);overflow-wrap:anywhere;cursor:default;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.output:has(.message:hover,.message:focus){z-index:3}.message:hover,.message:focus{-webkit-line-clamp:unset;background:var(--surface);box-shadow:0 0 0 6px var(--surface), 0 4px 18px 6px #00000024;border-radius:2px;outline:none;overflow:visible}.message:focus-visible{box-shadow:0 0 0 6px var(--surface), 0 0 0 8px var(--accent)}@media (width<=1199px){.editor{grid-template-columns:auto minmax(0,1fr);display:grid}.editor .code{width:auto}.outputs{border-left:none;border-top:1px solid var(--line);grid-column:1/-1;padding:6px 0}.output{position:static}.output:before{content:"line " attr(data-line);color:var(--muted);font-size:13px}.message{-webkit-line-clamp:unset}}.print{color:var(--text);font-size:14px}.print:before{content:"⇒ ";color:var(--muted)}.message.bad{color:var(--bad);font-size:13px}details.inspect>summary{color:var(--accent);cursor:pointer;font-size:13px}.inspect-body{z-index:2;white-space:normal;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:min(380px,80vw);padding:10px 12px 0;position:absolute;right:0;box-shadow:0 6px 24px #0000001f}.hover-tip{z-index:10;background:var(--surface);border:1px solid var(--line);pointer-events:none;overflow-wrap:anywhere;border-radius:6px;max-width:min(520px,100vw - 16px);padding:4px 8px;font-size:13px;position:fixed;box-shadow:0 4px 16px #00000024}.hover-tip .name{font-weight:600}.status,.verdicts{flex-wrap:wrap;gap:6px 18px;display:flex}.status{font-size:14px}.verdict,.describing{color:var(--muted)}.verdict.good{color:var(--good)}.verdict.bad{color:var(--bad)}.status.outdated>:not(.checking,.describing){opacity:.5}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row select{text-overflow:ellipsis;max-width:100%}.panel form{margin:0 0 6px}.panel p{margin:0}.panel{margin:0 0 16px}.panel h3,.panel>summary{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 4px;font-size:12px}.panel>summary{cursor:pointer}ul.entries{margin:0;padding:0;list-style:none}ul.entries ul{margin:2px 0;padding-left:16px;list-style:none}.global{overflow-wrap:anywhere;padding:2px 0}.global .name{font-weight:600}.global>details>summary{cursor:pointer}.global>details>ul{padding-left:26px}.global>code,.global>details>ul>li{text-indent:-1em;padding-left:1em}.global>details>summary{text-indent:-2em;padding-left:2em}.global>code{display:block}.hover-tip .tag{font-family:system-ui,-apple-system,Segoe UI,sans-serif}.kind{color:var(--muted);font-size:12px}.tag{color:var(--muted);border:1px solid var(--line);border-radius:10px;margin-left:8px;padding:0 6px;font-size:12px;font-weight:400}.muted{color:var(--muted)}dl{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;display:grid}dt{color:var(--muted)}dd{margin:0}ol.rewrites{margin:4px 0;padding-left:22px}ol.derivation{margin:4px 0;padding:0;list-style:none}.status ol.derivation{flex-basis:100%}details>summary code{cursor:pointer}details.solution>summary{color:var(--accent);cursor:pointer}details.solution>.box{margin-top:8px}.box-label{color:var(--muted);margin:0 0 2px 2px;font-size:12px}.marker,.head{white-space:nowrap}.work p.intro{color:var(--muted)}.about{flex-wrap:wrap;gap:0 20px;margin:0 0 12px;display:flex}.about>details[open]{flex-basis:100%}details.glossary{color:var(--muted);font-size:.9em}details.glossary>summary{cursor:pointer}details.glossary>dl{max-width:52em;color:var(--text);gap:6px 16px;margin:6px 0 0}details.glossary dt{color:var(--text);font-weight:600}dfn{font-style:italic;font-weight:600}.task{border-left:3px solid var(--accent);background:var(--sunken);border-radius:0 8px 8px 0;max-width:42em;padding:10px 14px}.task h3{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-size:11px}.task p+p{margin-top:8px}.work p.refs{font-size:.9em}pre.foreign{max-width:42em;font:400 13px/1.5 var(--mono);background:var(--sunken);border:1px solid var(--line);border-radius:8px;margin:0;padding:8px 10px;overflow-x:auto}.toc h2 .note{letter-spacing:0;text-transform:none;margin-left:6px;font-weight:400}.fallback{max-width:46em;padding:16px 24px 48px}.fallback pre{overflow-x:auto}.scope{flex-direction:column;gap:6px;display:flex}.scope-entry{font-family:var(--mono);font-size:14px}.scope-entry .head .name{font-weight:600}.scope-entry .head .tag{font-family:system-ui,-apple-system,Segoe UI,sans-serif}.scope-entry table{border-collapse:collapse;margin-left:12px}.scope-entry th{color:var(--muted);text-align:left;vertical-align:top;white-space:nowrap;padding:2px 10px 0 0;font:12px system-ui,-apple-system,Segoe UI,sans-serif}.scope-entry td{overflow-wrap:anywhere;padding:0}.scope-entry td>.link{font:12px system-ui,-apple-system,Segoe UI,sans-serif}.canonical-pop{width:min(640px,100vw - 32px);max-height:80vh;color:var(--text);background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:8px;margin:10vh auto auto;padding:12px 16px;font-size:14px;box-shadow:0 8px 28px #0000002e}.canonical-pop p{margin:0 0 6px}.canonical-pop>.close{float:right;background:var(--surface);color:var(--muted);border:none;margin:-6px -10px 0 8px;padding:0 8px;font-size:20px;line-height:28px;position:sticky;top:0}.canonical-pop>.close:hover{color:var(--text)}.canonical-pop .muted{font-size:12px}.canonical-pop h4{margin:0 0 8px;font-size:14px;font-weight:600}.canonical-pop h5{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 2px;font-size:11px;font-weight:600}.canonical-pop ol.rules{counter-reset:rule;margin:0;padding-left:26px;list-style:none}.canonical-pop ol.rules>li{counter-increment:rule}.canonical-pop ol.rules summary{cursor:pointer;margin-left:-26px;list-style:none}.canonical-pop ol.rules summary::-webkit-details-marker{display:none}.canonical-pop ol.rules summary:before{content:counter(rule) ". ▶︎ "}.canonical-pop ol.rules details[open]>summary:before{content:counter(rule) ". ▼︎ "}.canonical-pop table.rewriting{border-collapse:collapse}.canonical-pop table.rewriting td{vertical-align:top;padding:1px 8px 1px 0}.canonical-pop table.rewriting td:last-child{white-space:nowrap}ol.derivation code{white-space:pre-wrap}
