:root{--page: #FFFFFF;--page-ink: #17201C;--page-muted: #5A6862;--page-line: #D2DAD5;--page-mark: #DCEDE5;--page-mark-ink: #1D6A4E;--page-warn: #F6EBD9;--page-warn-ink: #8F5600}header.mast a.brand{color:inherit;text-decoration:none}.h1{font-family:var(--f-display);font-weight:700;font-size:30px;letter-spacing:-.01em;margin:0;line-height:1}.explain{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.explain p{margin:0 0 10px}.intro{padding:8px 0 4px}.intro h1{font-size:clamp(28px,5vw,40px);line-height:1.08;margin:0 0 14px;text-wrap:balance}.lede{font-size:17.5px;line-height:1.55;max-width:62ch}.intro p{max-width:66ch}.explain b{font-weight:600}.explain .hint{margin-top:10px}.page{position:relative;overflow:hidden;background:var(--page);color:var(--page-ink);border:1px solid var(--line);border-radius:3px;padding:26px 30px;margin:16px 0 6px;font-size:17px;line-height:1.75;box-shadow:0 1px 3px #0000001a}@media(max-width:560px){.page{padding:18px 16px;font-size:16px}}.page p{position:relative;margin:0 0 12px}.page p:last-child{margin-bottom:0}#spacePage{--s: 1;--wide: .6em}.gap{display:inline-block;position:relative;white-space:pre;width:.27em;vertical-align:baseline}.gap[data-bit="1"]{width:calc(.27em + var(--wide))}.gap:before{content:"";position:absolute;inset:.3em .04em .1em;border-radius:2px;opacity:var(--s);background:var(--page-line)}.gap[data-bit="1"]:before{background:var(--page-mark-ink);opacity:calc(var(--s) * .55)}.gap:after{content:attr(data-bit);position:absolute;left:50%;top:-.95em;transform:translate(-50%);font:500 10px/1 var(--f-mono);color:var(--page-mark-ink);opacity:var(--s);pointer-events:none}.gap[data-bit="0"]:after{color:var(--page-muted)}.ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:12px 0 4px}.ctl label,.ctl .lbl{font-size:12px;font-weight:600;letter-spacing:.02em}.ctl input[type=range]{flex:1 1 200px;min-width:0;accent-color:var(--accent)}.ctl-val{font-family:var(--f-mono);font-size:12px;color:var(--muted);min-width:13ch;font-variant-numeric:tabular-nums}.ctl .seg{flex-wrap:wrap}.decode{font-family:var(--f-mono);font-size:12.5px;color:var(--muted);line-height:1.55}.decode b{color:var(--ink);font-weight:500}.fix{margin:14px 0 0!important;padding:12px 14px;border-radius:5px;background:var(--accent-soft);color:var(--ink);font-size:14px}.fix b{color:var(--accent)}.page.shade{padding-block:30px}.dots{position:absolute;inset:0;width:100%;height:100%}.tile-key{display:flex;gap:16px;align-items:center;margin-top:8px}.tile-key svg{width:84px;height:84px;flex:none;background:var(--sheet);border:1px solid var(--line);border-radius:3px}.tile-key .grid{stroke:var(--line);stroke-width:.5}.tile-key .mk{fill:var(--ink)}.tile-key .bit{fill:var(--warn)}.tile-key .decode{margin:0}.tricks{margin:4px 0 10px;padding-left:20px}.tricks li{margin-bottom:6px}.txt .sample{font-size:18px}.hidden-txt{color:var(--page)}.zw{display:inline-block;font:500 10px/1 var(--f-mono);padding:3px;margin:0 1px;border-radius:2px;vertical-align:2px;background:var(--page-mark-ink);color:var(--page)}mark.hg{background:var(--page-warn);color:var(--page-warn-ink);outline:1.5px solid var(--page-warn-ink);border-radius:2px;padding:0 1px}.hidden-on{color:var(--page-warn-ink);outline:1.5px dashed var(--page-warn-ink);outline-offset:1px;border-radius:2px;margin-left:4px}.copies{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:16px 0 4px}@media(max-width:640px){.copies{grid-template-columns:minmax(0,1fr)}}.copy{background:var(--page);color:var(--page-ink);border:1px solid var(--line);border-radius:3px;padding:14px 16px;font-size:15.5px;line-height:1.6}.copy p{margin:0}.copy .who{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--page-muted);margin-bottom:6px}.copy.leaked{margin:6px 0 8px;border-style:dashed}mark.v{background:var(--page-warn);color:var(--page-warn-ink);border-radius:2px;padding:0 2px}.tbl-wrap{overflow-x:auto;margin-top:12px}table.sum{width:100%;border-collapse:collapse;font-size:14px;min-width:460px}.sum th,.sum td{text-align:left;padding:9px 10px;border-top:1px solid var(--line);vertical-align:top}.sum thead th{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:500;border-top:0}.sum tbody th{font-weight:500}.sum td{font-size:13px}.sum td.y{color:var(--accent)}.sum td.n{color:var(--warn)}.sum td.y:before{content:"✓ "}.sum td.n:before{content:"– "}.limits{border-color:var(--warn)}footer{margin-inline:auto;max-width:820px}
