:root{--g-coding:#6741d9;--g-dict:#94600a;--g-lossy:#a61e4d;--cx-a:#2f6fd6;--cx-b:#d9480f;--cx-c:#2b8a3e}:root[data-theme=dark]{--g-coding:#b197fc;--g-dict:#e3a94b;--g-lossy:#f783ac;--cx-a:#74a7f5;--cx-b:#ff8a4c;--cx-c:#8ce99a}[data-group=coding]{--accent:var(--g-coding)}[data-group=dict]{--accent:var(--g-dict)}[data-group=lossy]{--accent:var(--g-lossy)}@media (width>=861px){.wordmark{font-size:22px}}.grid-2.cx-even{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.grid-2.cx-wide-left{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}@media (width<=1100px){.grid-2.cx-even,.grid-2.cx-wide-left{grid-template-columns:minmax(0,1fr)}}.top-gap{margin-top:24px}.cx-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cx-row .cx-label{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-right:4px}.cx-controls{align-items:flex-end;gap:12px}.cx-grow{flex:260px;min-width:0}.cx-controls-3{grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);align-items:end;gap:16px 24px;display:grid}@media (width<=960px){.cx-controls-3{grid-template-columns:minmax(0,1fr)}}.cx-slider{flex-direction:column;gap:4px;display:flex}.cx-slider .label{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;gap:12px;display:flex}.cx-slider .label strong{font:600 13px var(--mono);color:var(--ink);letter-spacing:0;text-transform:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:13px var(--sans);color:var(--ink-2);background:var(--sheet);border:1px solid var(--rule);cursor:pointer;padding:5px 10px}.chip.mono{font-family:var(--mono)}.chip:hover{border-color:var(--accent)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cx-check{font:14px var(--sans);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.cx-check input{width:18px;height:18px;accent-color:var(--accent)}.cx-details summary{cursor:pointer;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.cx-details .hash{margin-top:8px}.cx-scrollbox{max-width:100%;overflow:auto}code.cx-scrollbox{max-height:180px}.hash.cx-big{letter-spacing:.03em;color:var(--ink);overflow-wrap:anywhere;padding:10px 12px;font-size:16px}.cx-wrap{overflow-wrap:anywhere}.cx-describe{min-height:3em;margin:0;font-size:15px}.cx-figure{margin:0}.cx-list{color:var(--ink-2);flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.card.cx-good{border-top:4px solid var(--ok)}.card.cx-bad{border-top:4px solid var(--bad)}.tiles{margin-bottom:0}.cx-bars{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cx-bars li{grid-template-columns:minmax(0,10rem) minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.cx-bars-name{font:500 12px var(--mono);color:var(--ink-2);overflow-wrap:anywhere}.cx-bars-track{background:var(--paper);border:1px solid var(--rule);height:14px}.cx-bars-track span{background:var(--ink-2);height:100%;transition:width .25s;display:block}.cx-bars li.good .cx-bars-track span{background:var(--ok)}.cx-bars li.bad .cx-bars-track span{background:var(--bad)}.cx-bars li.alt .cx-bars-track span{background:var(--accent);opacity:.55}.cx-bars-val{font:600 13px var(--mono);white-space:nowrap}@media (width<=520px){.cx-bars li{grid-template-columns:minmax(0,1fr) auto}.cx-bars-track{grid-area:2/1/auto/-1}}.cx-canvas{width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--rule-strong);background:var(--paper);display:block}.cx-canvas.pick{cursor:crosshair}.cx-pics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.cx-pics figure{flex-direction:column;gap:6px;min-width:0;margin:0;display:flex}@media (width<=720px){.cx-pics{grid-template-columns:minmax(0,1fr)}}.cx-pigeon{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cx-pigeon div{border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);padding:12px 14px}.cx-pigeon strong{font:400 30px/1.1 var(--serif);color:var(--accent);overflow-wrap:anywhere;display:block}.cx-dots .row{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.cx-dots i,.cx-dots b{width:14px;height:14px;display:block}.cx-dots i{background:var(--accent);border-radius:50%}.cx-dots i.extra{background:var(--bad);box-shadow:0 0 0 3px var(--bad-tint)}.cx-dots b{border:1.5px solid var(--ink-3)}@media (width<=520px){.cx-pigeon{grid-template-columns:minmax(0,1fr)}}.table.cx-freq td,.table.cx-codes td{padding-top:6px;padding-bottom:6px}.table.cx-freq td:first-child,.table.cx-codes td:first-child{width:3rem}.table.cx-freq td:last-child,.table.cx-codes td:last-child{width:auto}.cx-pbar{background:var(--paper);border:1px solid var(--rule);vertical-align:middle;width:90px;height:8px;margin-right:8px;display:inline-block}.cx-pbar span{background:var(--accent);height:100%;display:block}.cx-flips{flex-wrap:wrap;gap:3px;margin:0;display:flex}.cx-flips span{border:1px solid var(--rule);width:22px;height:22px;color:var(--ink-3);place-items:center;font-size:11px;display:grid}.cx-flips span.h{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cx-curve,.cx-scatter,.cx-wave{width:100%;height:auto;display:block}.cx-curve .axis,.cx-wave .axis{stroke:var(--rule-strong);stroke-width:1px}.cx-curve .series{fill:none;stroke:var(--accent);stroke-width:2.5px}.cx-curve .dot{fill:var(--accent);stroke:var(--sheet);stroke-width:2px}.cx-curve .tick,.cx-scatter .tick{fill:var(--ink-3);font:10px var(--mono);text-anchor:middle}.cx-curve .tick.end,.cx-scatter .tick.end{text-anchor:end}.cx-swatch{border:1px solid var(--rule-strong);cursor:pointer;width:40px;height:40px;padding:0}.cx-swatch[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.cx-pixels{background:var(--rule);border:1px solid var(--rule-strong);touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;gap:1px;max-width:480px;padding:1px;display:grid}.cx-pixels span{aspect-ratio:1}.cx-runs{flex-direction:column;gap:2px;max-height:260px;margin:0;padding:0;font-size:12px;list-style:none;display:flex;overflow:auto}.cx-runs li{border-bottom:1px dashed var(--rule);flex-wrap:wrap;gap:4px 8px;padding:2px 0;display:flex}.cx-run{align-items:center;gap:3px;display:inline-flex}.cx-run i{border:1px solid var(--rule-strong);width:9px;height:9px}.cx-freqs{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cx-freqs li{border:1px solid var(--rule);font-size:13px;display:inline-flex}.cx-freqs b{background:var(--paper);padding:2px 8px;font-weight:600}.cx-freqs span{font-family:var(--mono);color:var(--ink-3);padding:2px 8px}.cx-tree-box{border:1px solid var(--rule);background:var(--paper);padding:4px 0 8px}.cx-tree{margin:0 auto;display:block}.cx-tree line{stroke:var(--rule-strong);stroke-width:1.5px}.cx-tree .on line{stroke:var(--accent);stroke-width:3.5px}.cx-tree text{font:600 11px var(--mono);text-anchor:middle;fill:var(--ink)}.cx-tree text.bit{fill:var(--accent);font-size:10px}.cx-tree text.sym{fill:var(--ink);font-size:14px}.cx-tree circle{fill:var(--sheet);stroke:var(--rule-strong);stroke-width:1.5px}.cx-tree .leaf circle{fill:var(--accent-tint);stroke:var(--accent)}.cx-tree .new circle{fill:var(--mark);stroke-width:2.5px}.cx-tree .cur circle{fill:var(--accent);stroke:var(--accent)}.cx-tree .cur text:not(.sym){fill:var(--on-accent)}.cx-code{color:var(--accent);letter-spacing:.06em;font-weight:600}.cx-bitstream{letter-spacing:.08em;word-break:break-all;flex-wrap:wrap;gap:0;margin:0;font-size:15px;line-height:1.9;display:flex}.cx-bitstream span{color:var(--ink-3);padding:0 1px}.cx-bitstream span.odd{background:var(--paper)}.cx-bitstream span.read{color:var(--ok)}.cx-bitstream span.reading{color:var(--ink);background:var(--mark)}.cx-caret{color:var(--accent);border-bottom:2px solid var(--accent);margin-left:2px}.cx-arith{flex-direction:column;gap:6px;display:flex}.cx-arow{grid-template-columns:minmax(0,13rem) minmax(0,1fr);align-items:center;gap:10px;display:grid}.cx-alabel{color:var(--ink-3);overflow-wrap:anywhere;font-size:11px}.cx-abar{border:1px solid var(--rule-strong);height:28px;display:flex}.cx-abar span{min-width:0;font:600 12px var(--mono);color:#fff;opacity:.55;place-items:center;transition:opacity .2s;display:grid;overflow:hidden}.cx-abar span+span{border-left:1px solid var(--sheet)}.cx-abar .s0{background:var(--cx-a)}.cx-abar .s1{background:var(--cx-b)}.cx-abar .s2{background:var(--cx-c)}.cx-abar .pick{opacity:1;box-shadow:inset 0 0 0 3px var(--ink)}:root[data-theme=dark] .cx-abar span{color:#151412}@media (width<=720px){.cx-arow{grid-template-columns:minmax(0,1fr);gap:2px}}.cx-cells{flex-wrap:wrap;gap:2px;display:flex}.cx-cells span{border:1px solid var(--rule);background:var(--sheet);place-items:center;min-width:22px;height:30px;padding:0 3px;font-size:14px;transition:background .2s;display:grid}.cx-cells span.todo{color:var(--ink-3)}.cx-cells span.done{background:var(--paper)}.cx-cells span.win{box-shadow:inset 0 -3px 0 var(--accent-tint);background:color-mix(in srgb, var(--accent) 7%, var(--paper))}.cx-cells span.lit{background:var(--mark);border-color:var(--ink)}.cx-cells span.target{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cx-cells span.source{outline:2px solid var(--accent);outline-offset:-2px;font-weight:700}.cx-tokens{flex-wrap:wrap;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.cx-tokens li{border:1px solid var(--rule);background:var(--sheet);align-items:baseline;gap:3px;padding:2px 7px;display:inline-flex}.cx-tokens li.m{border-color:var(--accent);color:var(--accent);font-weight:600}.cx-tokens li.cur{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.cx-tokens li.later{opacity:.35}.cx-tokens small{opacity:.7;font-size:10px}.cx-dict{flex-wrap:wrap;gap:4px;max-height:360px;font-size:13px;display:flex;overflow:auto}.cx-dict span{border:1px solid var(--rule);background:var(--paper);padding:2px 7px}.cx-dict span b{color:var(--ink-3);margin-right:2px;font-weight:500}.cx-dict span.base{opacity:.7}.cx-dict span.new{border-color:var(--accent)}.cx-dict span.cur{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cx-dict span.cur b{color:inherit}.cx-pipeline{border:1px solid var(--rule-strong);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.cx-pipeline li{border-left:1px solid var(--rule);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.cx-pipeline li:first-child{border-left:0}.cx-pipeline strong{font:400 20px/1.2 var(--serif)}.cx-pipeline .stat{margin:0}.cx-stage-size{font:600 18px var(--mono)}.cx-stage-size.good{color:var(--ok)}@media (width<=720px){.cx-pipeline{grid-template-columns:minmax(0,1fr)}.cx-pipeline li{border-left:0;border-top:1px solid var(--rule)}.cx-pipeline li:first-child{border-top:0}}.cx-preview{max-height:300px;font:14px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:break-word;background:var(--paper);border:1px solid var(--rule);margin:0;padding:10px 12px;overflow:auto}.cx-ref{color:var(--ink);background:color-mix(in srgb, var(--accent) 18%, transparent);border-bottom:2px solid var(--accent);cursor:pointer;padding:1px 0}.cx-ref:hover,.cx-ref.sel{background:var(--accent);color:var(--on-accent)}.cx-src{-webkit-text-decoration:underline 3px var(--accent);text-decoration:underline 3px var(--accent);text-underline-offset:4px}.cx-lens{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.cx-lens li{border:1px solid var(--rule);align-items:baseline;gap:8px;padding:4px 8px;display:flex}.cx-lens b{min-width:1.5em}.cx-lens span{color:var(--ink-3);flex:1}.cx-lens i{color:var(--accent);font-style:normal;font-weight:600}.cx-lens li.rare{border-style:dashed}.cx-hist{border:1px solid var(--rule);background:var(--paper);align-items:flex-end;gap:2px;height:110px;padding:4px;display:flex}.cx-hist span{background:var(--accent);opacity:.75;flex:1;min-height:1px}.cx-hist span.zero{opacity:1}.cx-hist-axis{justify-content:space-between;margin:0;display:flex}.table.cx-series th{white-space:nowrap;padding:6px 12px 6px 0}.table.cx-series td{text-align:right;padding:6px;font-size:12px}.table.cx-series td.d{color:var(--accent);font-weight:600}.table.cx-series td:first-child,.table.cx-series td:last-child{width:auto}.cx-wave .orig{fill:none;stroke:var(--ink-3);stroke-width:1.5px}.cx-wave .approx{fill:none;stroke:var(--accent);stroke-width:2.5px}.cx-wave .err{stroke:var(--bad);stroke-width:2px;opacity:.5}.cx-legend{font:12px var(--mono);color:var(--ink-3);flex-wrap:wrap;gap:6px 16px;margin:0;display:flex}.cx-legend span{align-items:center;gap:6px;display:inline-flex}.cx-legend .sw{width:14px;height:4px;display:inline-block}.cx-legend .sw.orig{background:var(--ink-3)}.cx-legend .sw.approx{background:var(--accent)}.cx-legend .sw.err{background:var(--bad);opacity:.6}.cx-legend .sw.keep{background:var(--accent);height:10px}.cx-legend .sw.drop{background:repeating-linear-gradient(-45deg, var(--ink-3) 0 2px, transparent 2px 5px);height:10px}.cx-legend .sw.thr{background:var(--bad);height:2px}.cx-coeffs{border:1px solid var(--rule);background:var(--paper);align-items:flex-end;gap:1px;height:100px;padding:4px;display:flex}.cx-coeffs span{background:var(--rule-strong);opacity:.25;flex:1;min-height:1px}.cx-coeffs span.on{background:var(--accent);opacity:1}.cx-grids{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.cx-basis canvas{max-width:300px;margin:0 auto}.cx-grid8-fig{flex-direction:column;gap:4px;min-width:0;margin:0;display:flex}.cx-grid8{background:var(--rule);border:1px solid var(--rule-strong);grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;display:grid}.cx-grid8 span{aspect-ratio:1;min-width:0;font:500 10px var(--mono);background:var(--sheet);place-items:center;display:grid;overflow:hidden}.cx-grid8.coef span,.cx-grid8.q span{background:color-mix(in srgb, var(--accent) calc(var(--a) * 70%), var(--sheet));color:var(--ink)}.cx-grid8 span.z{color:var(--ink-3);opacity:.6}.cx-grid8.q span:not(.z){font-weight:700}.cx-spectrum{border-bottom:1px solid var(--rule-strong);grid-template-columns:repeat(24,minmax(0,1fr));gap:2px;height:220px;padding-bottom:22px;display:grid}.cx-band{background:var(--paper);height:100%;position:relative}.cx-band .lvl{background:var(--accent);position:absolute;bottom:0;left:0;right:0}.cx-band.drop .lvl{background:repeating-linear-gradient(-45deg, var(--ink-3) 0 2px, transparent 2px 5px)}.cx-band.masker .lvl{background:var(--ink)}.cx-band .thr{background:var(--bad);height:2px;position:absolute;left:-1px;right:-1px}.cx-band small{transform-origin:50%;font:9px var(--mono);color:var(--ink-3);white-space:nowrap;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)rotate(-50deg)}@media (width<=720px){.cx-band small{display:none}.cx-band:nth-child(4n+1) small{display:block}}.cx-frame{background:var(--rule);border:1px solid var(--rule-strong);gap:1px;padding:1px;display:grid}.cx-frame span{aspect-ratio:1}.cx-frame span.chg{box-shadow:inset 0 0 0 2px var(--ink)}.cx-frame span.ghost{background-image:repeating-linear-gradient(45deg,#ff0078a6 0 3px,#0000 3px 6px)!important}.cx-frame span.smear{filter:hue-rotate(80deg)saturate(2)}.cx-ftype{font:600 12px var(--mono);border:1px solid;padding:1px 6px}.cx-ftype.I{color:var(--accent)}.cx-ftype.P{color:var(--ink-3)}.cx-frames{align-items:flex-end;gap:2px;height:120px;display:flex}.cx-frames button{cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-end;min-width:0;height:100%;padding:0;display:flex}.cx-frames button span{width:100%;height:var(--h);background:var(--ink-3);opacity:.6;display:block}.cx-frames button.I span{background:var(--accent);opacity:1}.cx-frames button.broken span{background:var(--bad);opacity:.85}.cx-frames button.lost span{background:repeating-linear-gradient(-45deg, var(--bad) 0 3px, transparent 3px 6px);border:1px solid var(--bad)}.cx-frames button.cur{box-shadow:inset 0 -3px 0 var(--ink)}.cx-frames button:hover span{opacity:1}.cx-doc{border:1px solid var(--rule-strong);height:44px;font:12px var(--mono);display:flex;position:relative;overflow:hidden}.cx-doc span{white-space:nowrap;text-overflow:ellipsis;place-items:center;min-width:0;padding:0 6px;display:grid;overflow:hidden}.cx-doc .a{background:var(--accent-tint);flex:1}.cx-doc .a.found{background:color-mix(in srgb, var(--ok) 25%, var(--sheet))}.cx-doc .mid{color:var(--ink-3);border-left:1px solid var(--rule);border-right:1px solid var(--rule);flex:3.5}.cx-doc .win{border:2px solid var(--accent);pointer-events:none;background:0 0;padding:0;position:absolute;top:0;bottom:0}.cx-scatter .grid{stroke:var(--rule);stroke-width:1px}.cx-scatter .pt{cursor:pointer}.cx-scatter .pt circle{fill:var(--sheet);stroke:var(--accent);stroke-width:2px}.cx-scatter .pt circle.hit{fill:#0000;stroke:none}.cx-scatter .pt text{font:600 9px var(--mono);fill:var(--ink-2)}.cx-scatter .pt.sel circle:not(.hit),.cx-scatter .pt.sel text{fill:var(--accent)}.cx-scatter .pt:focus-visible{outline:none}.cx-scatter .pt:focus-visible circle:not(.hit){stroke-width:4px}.cx-http{font:13px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);border:1px dashed var(--rule);margin:0;padding:10px 12px}.cx-http mark{background:var(--mark);color:var(--ink)}.cx-guesses{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.cx-guesses .chip{flex-direction:column;align-items:center;gap:0;padding:6px 2px;font-size:15px;display:flex}.cx-guesses .chip small{color:var(--ink-3);font-size:10px}.cx-guesses .chip.best{border-color:var(--ok);box-shadow:inset 0 -3px 0 var(--ok)}.cx-guesses .chip.best small{color:var(--ok);font-weight:600}@media (width<=520px){.cx-guesses{grid-template-columns:repeat(4,minmax(0,1fr))}}.cx-pipe-steps{flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.cx-pipe-steps li.good{color:var(--ok);font-weight:600}.cx-pipe-steps li.bad{color:var(--bad);font-weight:600}.cx-nest{height:70px;position:relative}.cx-nest span{border:1.5px solid var(--accent);background:var(--accent-tint);position:absolute}.card>.btn{align-self:flex-start}
