div.fixed.bottom-5,html.present a.fixed{display:none}.showcase-section.dense{padding-top:3rem;padding-bottom:3rem}.row-labels{display:grid;grid-auto-rows:24px;padding-top:13px}.line-label{font-size:.95rem;line-height:24px;white-space:nowrap;color:var(--color-ink-soft)}.code-man{border:1px solid var(--color-line);border-radius:.75rem;background:var(--color-paper);padding:12px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:24px}.code-man.lg{padding:1.1rem 1.75rem;font-size:1.2rem;line-height:1.75}.code-man.grey{opacity:.55}.code-man .cl{white-space:pre}.mark-a,.mark-b,.mark-m,.mark-bad{border-radius:4px;transition:background-color .5s ease,box-shadow .5s ease}.mark-a.on{background:#dbe4f5;box-shadow:inset 0 -2px 0 var(--color-navy)}.mark-b.on{background:#cffafe;box-shadow:inset 0 -2px 0 var(--color-cyan-deep)}.mark-m.on{background:#fef3c7;box-shadow:inset 0 -2px #d97706}.mark-bad.on,.lit-bad{background:#fef3c7;box-shadow:inset 0 -2px #d97706;border-radius:4px}.prob-card{border-radius:.75rem;border:1px solid #fecaca;background:#fff5f5;padding:.75rem 1.1rem}.prob-title{font-weight:600;font-size:1.15rem;color:#b91c1c}.repl{border:1px solid var(--color-line);border-radius:.75rem;background:var(--color-paper);padding:1rem 1.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;line-height:1.55}.repl .in{white-space:pre}.ps{color:var(--color-cyan-deep);margin-right:.6rem}.repl .out{color:var(--color-navy);font-weight:600;margin-bottom:.2rem;white-space:pre}.repl .err{color:#dc2626;font-size:.95rem;margin-bottom:.2rem}.repl .note{margin-left:1rem;font-family:var(--font-sans);font-size:.95rem;font-weight:600;color:#b45309}.key-box{display:inline-flex;align-items:center;gap:1.6rem;padding:.8rem 2rem;border:2px solid var(--color-navy);border-radius:1rem;background:var(--color-navy-soft);font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--color-ink)}.key-sep{width:2px;height:2.4rem;background:var(--color-navy);opacity:.25}.lb,.sl{--cw: 4.6rem;--tagw: 7rem}.lb{display:grid;grid-template-columns:var(--tagw) repeat(var(--n),var(--cw));row-gap:.4rem;align-items:center}.lb.chars{--cw: 3.6rem}.lb-tag{font-size:.95rem;font-weight:600;text-align:right;padding-right:.9rem}.lb-num{text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;font-weight:600}.lb .cell{height:3.4rem;display:flex;align-items:center;justify-content:center;border:2px solid #cbd5e1;margin-left:-2px;background:var(--color-paper);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.5rem;color:var(--color-ink)}.chg-row{display:grid;grid-template-columns:22rem 1fr 15rem;align-items:center;gap:1rem}.chg-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;white-space:pre}.mini{display:flex}.mcell{width:3.2rem;height:2.4rem;display:flex;align-items:center;justify-content:center;border:2px solid #cbd5e1;margin-left:-2px;background:var(--color-paper);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.1rem}.mcell.hit{background:var(--color-navy);border-color:var(--color-navy);color:#fff;font-weight:600}.chg-label{font-size:1rem;color:var(--color-ink-soft)}.term-chip{display:inline-block;padding:.25rem .9rem;border-radius:.6rem;background:var(--color-navy);color:#fff;font-size:1.15rem;font-weight:600}.trace-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}.trace-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.5rem;line-height:1.6;background:var(--color-paper);border:1px solid var(--color-line);border-radius:.6rem;padding:.25rem 1rem;white-space:pre}.trace-arrow{margin-left:2rem;font-size:1.5rem;line-height:1.5;color:var(--color-ink-mute)}.trace-lbl{font-size:1.2rem;color:var(--color-ink-soft)}.lit-m{background:#fef3c7;box-shadow:inset 0 -2px #d97706;border-radius:4px}.val-chip.mid{font-size:1.3rem;padding:.1rem .7rem}.row-tag.en{width:19rem;font-size:1.15rem}.row-tag{width:7.5rem;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.4rem;color:var(--color-ink)}.val-chip.big{font-size:1.8rem;min-width:4rem;padding:.1rem .8rem}.val-chip.pale{background:var(--color-paper);border-color:var(--color-line);color:var(--color-ink-soft);font-weight:500}.ival{display:none;margin-left:1.5rem;padding:.05rem .6rem;border-radius:.4rem;background:var(--color-navy);color:#fff;font-size:1rem;vertical-align:.1rem}.band{margin:0 -1.75rem;padding:0 1.75rem;transition:background-color .3s ease,box-shadow .3s ease}.val-chip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;text-align:center;padding:.05rem .6rem;border-radius:.5rem;background:var(--color-navy-soft);border:1px solid rgba(13,71,161,.25);color:var(--color-navy);font-weight:600;white-space:pre}.val-chip,.lb .cell,.mcell{transition:background-color .35s ease,border-color .35s ease,color .35s ease}.row-tag.code{width:auto;font-size:1.3rem}.lb.two{--cw: 6.4rem}.lb.two .cell{font-size:1.35rem}.lb .cell.str{color:#032f62}.legend4{font-size:1.05rem;font-weight:600;color:var(--color-ink-soft)}.legend4 .lg-code{margin-right:.6rem;padding:.05rem .55rem;border:1px solid var(--color-line);border-radius:.45rem;background:var(--color-paper);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;color:var(--color-navy);white-space:pre}.dt{display:grid;grid-template-columns:auto auto auto;column-gap:.9rem;row-gap:.55rem;align-items:center;width:fit-content}.dt-h{text-align:center}.dk,.dv{padding:.3rem 1rem;border:2px solid #cbd5e1;border-radius:.6rem;background:var(--color-paper);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.5rem;text-align:center;transition:background-color .35s ease,border-color .35s ease,color .35s ease}.dk{color:#032f62}.dv{color:var(--color-ink)}.da{font-size:1.6rem;color:var(--color-ink-mute);transition:color .35s ease}.dt.sm{row-gap:.4rem}.dt.sm .dk,.dt.sm .dv{padding:.15rem .8rem;font-size:1.2rem}.dt.sm .da{font-size:1.3rem}.dt.dl .dk{font-size:1.3rem;padding:.2rem .8rem}.term-chip.cy{background:var(--color-cyan-deep)}.term-chip.amber{background:#d97706}.term-chip.sm{padding:.1rem .6rem;font-size:.95rem}.cmp7{display:grid;grid-template-columns:auto repeat(3,minmax(11rem,auto));width:fit-content;column-gap:2.2rem;row-gap:.7rem;align-items:center;padding:.9rem 1.6rem 1rem;border:1px solid var(--color-line);border-radius:.75rem;background:var(--color-paper)}.cmp7 .ch{align-self:stretch;padding-bottom:.45rem;border-bottom:1px solid var(--color-line);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem}.cmp7 .rk{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;color:#032f62}.cmp7 .rn,.cmp7 .cn{margin-left:.6rem;font-family:var(--font-sans);font-size:.9rem;font-weight:500;color:var(--color-ink-mute)}.cmp7 .cv{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.3rem;font-weight:600;color:var(--color-navy)}.cmp7 .cv.err{font-size:1.05rem;font-weight:500;color:#dc2626}.key-code{padding:0 .5rem;border:1px solid rgba(13,71,161,.3);border-radius:.5rem;background:var(--color-paper);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.4rem;color:var(--color-navy)}.chg-row.d6{grid-template-columns:19rem 17rem 1fr}.chg-row.d6 .chg-code{font-size:1.25rem}.chg-row.d6 .chg-label{font-size:1.1rem}.mempty{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.1rem;color:var(--color-ink-mute)}.d6 .mini{gap:.35rem}.mpair{display:inline-flex;border:2px solid #cbd5e1;border-radius:.5rem;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem}.mpk,.mpv{padding:.2rem .45rem;background:var(--color-paper)}.mpk{color:#032f62}.mpv{border-left:2px solid #cbd5e1;color:var(--color-ink)}.mpair.hit,.mpair.hitv{border-color:var(--color-navy)}.mpair.hit .mpk,.mpair.hit .mpv,.mpair.hitv .mpv{background:var(--color-navy);border-color:var(--color-navy);color:#fff;font-weight:600}.zp{--cw: 5.6rem;--tagw: 6rem;display:grid;grid-template-columns:var(--tagw) repeat(var(--n),var(--cw));column-gap:.6rem;align-items:center}.zc{height:2.8rem;display:flex;align-items:center;justify-content:center;border:2px solid #cbd5e1;background:var(--color-paper);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.25rem;color:var(--color-ink);transition:background-color .35s ease,border-color .35s ease,color .35s ease}.zc.str{color:#032f62;border-radius:.6rem .6rem 0 0;border-bottom-width:1px}.zc:not(.str){border-radius:0 0 .6rem .6rem;border-top-width:1px}.repl.sm{padding:.6rem 1.2rem;font-size:1rem}.tr13{display:grid;row-gap:.35rem}.tr13-row{display:grid;grid-template-columns:3.5rem 1fr 8.5rem;align-items:center;column-gap:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem}.tr13-h{font-family:var(--font-sans);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-mute)}.tch{padding:.05rem 0;border:1px solid var(--color-line);border-radius:.5rem;background:var(--color-paper);color:#032f62;font-weight:600;text-align:center}.tdict{white-space:pre;color:var(--color-ink)}.tdict .chg{border-radius:4px;background:#dbe4f5;box-shadow:inset 0 -2px 0 var(--color-navy);color:var(--color-navy);font-weight:600}.thow{font-family:var(--font-sans);font-size:1rem;color:var(--color-ink-soft)}.ok14 .cl{margin:0 -20px;padding:0 20px}.ok14 .cl.okb{background:var(--color-navy-soft);box-shadow:inset 4px 0 0 var(--color-navy)}.trace-code.sm{padding:.15rem .8rem;font-size:1.2rem}.trace-arrow.sm{margin-left:1.5rem;font-size:1.2rem;line-height:1.3}.trace-to{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.3rem;font-weight:700;color:var(--color-navy)}.g16{display:grid;grid-template-columns:2.2rem 4.4rem 4.4rem;row-gap:.45rem;align-items:center}.gn{text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05rem;font-weight:600;color:var(--color-navy)}.gc{height:3rem;display:flex;align-items:center;justify-content:center;margin-left:-2px;border:2px solid #cbd5e1;background:var(--color-paper);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.4rem;color:var(--color-ink);transition:background-color .35s ease,border-color .35s ease,color .35s ease}.cards17{display:flex;gap:1.2rem}.card17{padding:.55rem 1rem;border:2px solid #cbd5e1;border-radius:.75rem;background:var(--color-paper);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.1rem;line-height:1.7;transition:background-color .35s ease,border-color .35s ease}.kv{display:flex;gap:.5rem;white-space:pre;transition:color .35s ease}.ck{color:#032f62}.ca{color:var(--color-ink-mute)}.setpic{overflow:visible}.setpic .set-o{fill:#0d47a10d;stroke:var(--color-navy);stroke-width:2.5}.setpic .sv{font:600 34px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;fill:var(--color-ink);text-anchor:middle}.setpic .sv.gone{fill:#94a3b8}.setpic .strike{stroke:#d97706;stroke-width:3}.setpic .lbl{font:600 16px var(--font-sans);fill:var(--color-ink-soft)}.venn{overflow:visible}.venn .vu,.venn .vab{opacity:0;transition:opacity .4s ease}.venn .vu circle{fill:#d4e0f4}.venn .vab{fill:#fcd9a8}.venn .ring{fill:none;stroke:var(--color-navy);stroke-width:2.5}.venn .vl{font:600 26px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;fill:var(--color-navy);text-anchor:middle}.venn .vn{font:600 30px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;fill:var(--color-ink);text-anchor:middle;transition:fill .4s ease}.cont{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.cont-card{padding:2rem 1.4rem;border:1px solid var(--color-line);border-radius:1rem;background:var(--color-paper);text-align:center}.cont-card .cn{font-family:var(--font-display);font-size:1.9rem;font-weight:600;color:var(--color-navy)}.cont-card .ce{margin-top:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.6rem;color:var(--color-ink);white-space:pre}.cont-card .cu{margin-top:1rem;font-size:1.25rem;font-weight:600;color:var(--color-ink-soft)}
