:root{--mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", monospace;--rule:2px;--rule-heavy:5px;--fast:.12s;--slow:.17s;--ease:cubic-bezier(.2, 0, .3, 1);--dock-height:3.5rem;--dock-gap:1rem;--dock:calc(var(--dock-height) + var(--dock-gap) * 2)}@keyframes appear{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes mark-in{0%{color:inherit;background:0 0}to{background:var(--accent);color:var(--on-accent)}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--mono);padding:0 0 var(--dock);margin:0;font-size:15px;line-height:1.5}main{max-width:100rem;margin:0 auto}.topbar{border-bottom:var(--rule-heavy) solid var(--fg)}.topbar-title{border-bottom:var(--rule) solid var(--dimmer);letter-spacing:.2em;text-transform:uppercase;margin:0;padding:.55rem 1.25rem;font-size:.7rem;font-weight:700}nav{letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;gap:0 1.25rem;padding:.6rem 1.25rem;font-size:.7rem;display:flex}a{color:var(--fg);text-decoration-thickness:var(--rule);text-underline-offset:.25em;transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease)}a:hover{background:var(--accent);color:var(--on-accent);text-decoration:none}.dock{background:var(--bg);border:var(--rule-heavy) solid var(--fg);bottom:var(--dock-gap);min-height:var(--dock-height);width:min(100rem, calc(100% - var(--dock-gap) * 2));z-index:10;box-shadow:.5rem .5rem 0 var(--dimmer);align-items:center;gap:1rem;padding:.4rem 1rem;display:flex;position:fixed;left:50%;transform:translate(-50%)}.dock-jumps{gap:var(--rule);scrollbar-width:thin;flex-wrap:nowrap;flex:auto;min-width:0;padding:0;display:flex;overflow-x:auto}.jump{border:var(--rule) solid var(--dimmer);color:var(--fg);letter-spacing:.14em;text-transform:uppercase;transition:background-color var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease);flex:none;padding:.3rem .6rem;font-size:.68rem;text-decoration:none}.jump:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.jump.is-here{background:var(--fg);border-color:var(--fg);color:var(--bg)}.jump-long{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.settings{flex:none;align-items:center;gap:.75rem;display:flex}.setting{align-items:center;gap:.6rem;display:flex}.setting-label{color:var(--dim);letter-spacing:.18em;text-transform:uppercase;font-size:.68rem}.setting-range{width:100%}.setting-value{letter-spacing:.1em;text-align:left;width:3.5ch;font-size:.72rem}.setting-select{appearance:none;background:var(--bg);border:var(--rule) solid var(--fg);color:var(--fg);cursor:pointer;font:inherit;letter-spacing:.12em;text-transform:uppercase;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right .75rem center,right .45rem center;background-repeat:no-repeat;background-size:.3rem .3rem,.3rem .3rem;padding:.3rem 1.6rem .3rem .6rem;font-size:.68rem}.setting-select:focus-visible{outline:var(--rule) solid var(--accent-ink);outline-offset:2px}.setting-toggle{background:var(--bg);border:var(--rule) solid var(--fg);color:var(--fg);cursor:pointer;font:inherit;letter-spacing:.18em;text-transform:uppercase;transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease);margin-left:auto;padding:.3rem .7rem;font-size:.68rem}.setting-toggle:hover{background:var(--fg);color:var(--bg)}.lede{border-bottom:var(--rule-heavy) solid var(--fg);color:var(--dim);margin:0;padding:1.25rem 1.25rem 1.5rem}.lede:before{background:var(--accent);content:"";height:var(--rule);width:4rem;margin-bottom:1rem;display:block}code{border:var(--rule) solid var(--dimmer);color:var(--fg);padding:0 .25em}section{border-bottom:var(--rule-heavy) solid var(--fg);margin:0;padding:0 0 2rem}.section-head{border-bottom:var(--rule) solid var(--fg);padding:1.25rem 1.25rem 1rem}.section-index{color:var(--accent-ink);letter-spacing:.2em;margin:0 0 .35rem;font-size:.7rem}.section-name{letter-spacing:-.01em;text-transform:uppercase;margin:0;font-size:clamp(1.4rem,3vw,2.25rem);font-weight:700;line-height:1}.section-blurb{color:var(--dim);max-width:72ch;margin:.6rem 0 0}.section-io{flex-wrap:wrap;gap:0 .5rem;margin:.75rem 0 0;display:flex}.io-label{color:var(--accent-ink);letter-spacing:.18em;text-transform:uppercase;font-size:.68rem}.io-value{color:var(--dim);margin-right:.75rem;font-size:.78rem}.field-label{color:var(--dim);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .5rem;font-size:.68rem}.editor{padding:1.25rem 1.25rem 0}.editor-frame{position:relative}.editor-mirror,.editor-input,.echo{border:var(--rule) solid var(--fg);font-family:var(--mono);overflow-wrap:break-word;tab-size:2;white-space:pre-wrap;margin:0;padding:.9rem;font-size:.9rem;line-height:1.6}.editor-mirror{background:var(--bg);color:var(--fg);min-height:14rem;overflow:hidden}.editor-input{caret-color:var(--accent-ink);color:#0000;resize:none;background:0 0;width:100%;height:100%;position:absolute;inset:0}.editor-input::selection{background:var(--dimmer)}mark{animation:mark-in var(--slow) var(--ease);background:var(--accent);color:var(--on-accent)}.tok-keyword{color:var(--syntax-keyword)}.tok-number{color:var(--syntax-number)}.tok-char{color:var(--syntax-literal)}.tok-comment{color:var(--syntax-comment)}.tok-directive{color:var(--syntax-directive)}.tok-header{color:var(--syntax-literal)}.tok-punct{color:var(--syntax-punct)}mark .tok{color:inherit}.presets-block{padding:1.5rem 1.25rem 0}.presets{gap:var(--rule);flex-wrap:wrap;display:flex}.preset{background:var(--bg);border:var(--rule) solid var(--fg);color:var(--fg);cursor:pointer;font:inherit;text-align:left;transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease), transform 70ms var(--ease);padding:.5rem .75rem;display:block}.preset:active{transform:translateY(1px)}.preset:hover{background:var(--fg);color:var(--bg)}.preset-name{letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;display:block}.preset-about{color:var(--dim);font-size:.72rem;display:block}.preset:hover .preset-about{color:var(--bg)}.player{border-bottom:var(--rule) solid var(--fg);padding:1rem 1.25rem 1.1rem}.player-row{align-items:stretch;gap:1rem;display:flex}.player-play{background:var(--bg);border:var(--rule) solid var(--fg);color:var(--fg);cursor:pointer;font:inherit;letter-spacing:.16em;min-width:7rem;transition:background-color var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease), transform 70ms var(--ease);padding:.5rem 1rem;font-size:.85rem}.player-play:hover{background:var(--fg);color:var(--bg)}.player-play[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.player-play:disabled{border-color:var(--dim);color:var(--dim);cursor:not-allowed}.bar{--head:.8rem;flex:1;align-self:center;align-items:center;min-width:0;height:1.75rem;display:flex;position:relative}.bar-short{flex:none;width:9rem}.bar-input{appearance:none;cursor:pointer;z-index:1;background:0 0;width:100%;height:100%;margin:0;position:relative}.bar-input::-webkit-slider-thumb{appearance:none;opacity:0;height:1.75rem;width:var(--head)}.bar-input::-moz-range-thumb{opacity:0;height:1.75rem;width:var(--head);border:0}.bar-track{overflow-clip-margin:var(--rule);pointer-events:none;position:absolute;inset:0;overflow:clip}.bar-track:before{background:var(--dimmer);content:"";height:var(--rule);left:0;right:0;top:calc(50% - var(--rule) / 2);position:absolute}.bar-fill{background:var(--fg);height:var(--rule);left:0;right:0;top:calc(50% - var(--rule) / 2);transform:scaleX(var(--progress,0));transform-origin:0;transition:transform var(--fast) var(--ease);position:absolute}.bar-head{transform:translateX(calc(var(--progress,0) * (100% - var(--head))));transition:transform var(--fast) var(--ease);position:absolute;inset:0}.bar-head:before{background:var(--accent);border:var(--rule) solid var(--fg);content:"";height:1.1rem;width:var(--head);position:absolute;top:calc(50% - .55rem);left:0}.bar-plain .bar-head:before{background:var(--bg)}.bar-input:focus-visible{outline:none}.bar-input:focus-visible~.bar-track{outline:var(--rule) solid var(--accent-ink);outline-offset:3px}.bar-input:disabled{cursor:not-allowed}.bar-input:disabled~.bar-track{opacity:.35}.player-position{color:var(--dim);font-variant-numeric:tabular-nums;letter-spacing:.1em;text-align:right;white-space:nowrap;align-self:center;min-width:12ch;margin:0;font-size:.75rem}.player-commentary{border-top:var(--rule) solid var(--dimmer);height:7rem;margin-top:1rem;padding-top:.75rem;overflow-y:auto}.player-step{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .3rem;font-size:.85rem}.player-explain{color:var(--fg);max-width:76ch;margin:0}.stage-grid{gap:1.25rem;padding:1.25rem;display:grid}.stage-column{min-width:0}.stage-column-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.copy-button{background:var(--bg);border:var(--rule) solid var(--dim);color:var(--dim);cursor:pointer;font:inherit;letter-spacing:.14em;transition:background-color var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease);flex:none;margin:0 0 .5rem;padding:.2rem .55rem;font-size:.65rem}.copy-button:hover{border-color:var(--fg);color:var(--fg)}.copy-button[data-copied=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.echo{border-color:var(--dimmer);color:var(--dim);max-height:26rem;overflow:auto}.rules{flex-direction:column;flex:auto;min-height:0;margin-top:1.25rem;display:flex}.rule-list{border:var(--rule) solid var(--dimmer);min-height:0;max-height:24rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.rule-list:focus-visible{outline:var(--rule) solid var(--accent-ink);outline-offset:-2px}.rule{border-bottom:var(--rule) solid var(--dimmer);transition:background-color var(--fast) var(--ease), border-color var(--fast) var(--ease);padding:.45rem .6rem}.rule:last-child{border-bottom:0}.rule-text{overflow-wrap:anywhere;background:0 0;padding:0;font-size:.72rem;line-height:1.45;display:block}.rule-note{color:var(--dim);margin-top:.2rem;font-size:.68rem;display:block}.rule.is-rule{background:var(--accent);color:var(--on-accent)}.rule.is-rule .rule-note,.rule.is-rule .rule-text{color:var(--on-accent)}.stage-body{border:var(--rule) solid var(--fg);scroll-behavior:smooth;max-height:26rem;transition:border-color var(--fast) var(--ease);padding:.9rem;overflow:auto}.stage-body:focus-visible,.editor-input:focus-visible,.preset:focus-visible,.copy-button:focus-visible,.player-play:focus-visible{outline:var(--rule) solid var(--accent-ink);outline-offset:2px}.stage.is-empty .stage-body{border-color:var(--dimmer)}.player-play:active:not(:disabled){transform:translateY(1px)}.pane-note{color:var(--dim);margin:1rem 0 0;font-size:.85rem}.pane-subhead{color:var(--dim);letter-spacing:.18em;text-transform:uppercase;margin:1.25rem 0 .4rem;font-size:.68rem}[data-reveal]{opacity:0;outline:var(--rule) solid transparent;outline-offset:2px;transition:opacity var(--fast) var(--ease), outline-color var(--slow) var(--ease);visibility:hidden}[data-reveal].is-shown{opacity:1;visibility:visible}[data-reveal].is-current{outline-color:var(--accent-ink)}[data-grow]{display:none}[data-grow].is-shown{animation:appear var(--slow) var(--ease);display:block}.diagnostic{border:var(--rule) solid var(--bad);margin-bottom:1rem;padding:.7rem .85rem}.diagnostic-message{color:var(--bad);margin:0;font-size:.9rem}.diagnostic-where,.diagnostic-hint{color:var(--dim);margin:.3rem 0 0;font-size:.8rem}.edits{gap:var(--rule);margin:0;padding:0;list-style:none;display:grid}.edit{border:var(--rule) solid var(--dimmer);flex-wrap:wrap;align-items:baseline;gap:.6rem;padding:.35rem .5rem;display:flex}.edit-kind{color:var(--accent-ink);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.edit-note{font-size:.85rem}.listing{border:var(--rule) solid var(--dimmer);margin:0;padding:.6rem .7rem;font-size:.82rem}.listing-text code{white-space:pre-wrap;background:0 0;padding:0}.tokens{gap:var(--rule);flex-wrap:wrap;display:flex}.token{border:var(--rule) solid var(--fg);padding:.2rem .4rem;display:grid}.token-text{font-size:.82rem}.token-kind{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.token-punct{border-color:var(--dimmer)}.tree,.tree-children{margin:0;padding:0;list-style:none}.tree-children{border-left:var(--rule) solid var(--dimmer);margin-left:.5rem;padding-left:.75rem}.tree-node{margin:.15rem 0}.tree [data-reveal]{display:none}.tree [data-reveal].is-shown{animation:appear var(--slow) var(--ease);display:inline-flex}.tree-label{border:var(--rule) solid var(--fg);align-items:baseline;gap:.45rem;padding:.05rem .35rem;font-size:.82rem;display:inline-flex}.tree-kind{color:var(--dim);letter-spacing:.06em;text-transform:uppercase;font-size:.6rem}.symbols{border-collapse:collapse;width:100%;font-size:.82rem}.symbols th{border-bottom:var(--rule) solid var(--fg);color:var(--dim);letter-spacing:.12em;text-align:left;text-transform:uppercase;padding:.3rem .4rem;font-size:.65rem}.symbols td{border-bottom:var(--rule) solid var(--dimmer);padding:.3rem .4rem}.graph{border:var(--rule) solid var(--dimmer);width:100%;max-width:24rem;margin:.5rem 0 1rem;display:block}.graph-edge{stroke:var(--dim);stroke-width:1px}.graph-coalesce{stroke:var(--fg);stroke-dasharray:3 2;stroke-width:1px}.graph-dot{fill:var(--bg);stroke:var(--fg);stroke-width:1.5px}.graph-name{fill:var(--fg);font-family:inherit;font-size:9px}.graph-reg{fill:var(--dim);font-family:inherit;font-size:8px}.allocation .alloc-reg{color:var(--accent-ink)}.allocation .alloc-order,.allocation .alloc-coalesced{color:var(--dim)}.effects{gap:var(--rule);margin:0;padding:0;list-style:none;display:grid}.effect{border:var(--rule) solid var(--dimmer);flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.3rem .5rem;display:flex}.effect-text{font-size:.82rem}.effect-where{color:var(--dim);font-size:.68rem}.effect-result{border-color:var(--accent-ink)}.effect-result .effect-text{color:var(--accent-ink)}.listing-ir,.listing-asm{list-style:none;display:grid}.ir-line,.asm-line{white-space:pre;padding:.05rem 0}.ir-label,.asm-label{color:var(--accent-ink)}.asm-directive{color:var(--dim)}.asm-comment{color:var(--dim);padding-left:1.5rem}.limits{max-width:84ch;margin:0;padding:1.25rem 1.25rem 0 2.75rem}.limits li{border-bottom:var(--rule) solid var(--dimmer);padding:.5rem 0}noscript p{border:var(--rule) solid var(--fg);color:var(--dim);max-width:72ch;margin:1.25rem;padding:1rem}@media (width<=34rem){:root{--dock-gap:.6rem;--dock-height:6rem}.dock{flex-wrap:wrap;gap:.5rem}.dock-jumps{flex:1 0 100%}.settings{flex:auto}.setting-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.player-commentary{height:10rem}.player-row{grid-template-columns:auto 1fr;gap:.6rem 1rem;display:grid}.player-play{grid-area:1/1}.player-position{text-align:right;grid-area:1/2}.player-scrubber{grid-area:2/1/3/-1;height:2.25rem}.presets{flex-wrap:nowrap;padding-bottom:.35rem;overflow-x:auto}.preset{white-space:nowrap}.preset-about{display:none}}@media (width>=56rem){.jump-short{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.jump-long{clip-path:none;width:auto;height:auto;position:static;overflow:visible}}@media (width>=62rem){.stage-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}.stage-body{max-height:34rem}.stage-column:first-child{max-height:calc(100vh - 3rem - var(--dock));flex-direction:column;align-self:start;display:flex;position:sticky;top:1.5rem}.echo{flex:none;max-height:15rem}.rule-list{flex:auto;max-height:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
