.zlib-essay{display:block;max-width:1300px}
.zlib-essay .article-body{max-width:760px}
.zlib-essay .article-hero h1{font-size:clamp(76px,10.5vw,148px)}
.zlib-essay .article-hero{padding-left:20px}
.zl-readingbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:36px;padding:18px 0;background:#eeeeee;border-bottom:1px solid #cecece;font-size:12px}
.zl-readingbar>a{display:flex;align-items:center;gap:9px;text-decoration:none;color:#757575;white-space:nowrap}
.zl-readingbar>a small{font:9px Menlo,monospace;opacity:.7}
.zl-readingbar>a.active{color:#111}
.zl-readingbar>a.active small{color:#9d462e;opacity:1}
.zl-readingbar>a.active::after{content:'·';color:#9d462e;font-size:18px;line-height:.5}
.zl-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;pointer-events:none}
.zl-progress i{display:block;height:100%;background:#9d462e;transform:scaleX(0);transform-origin:left}
.zl-contents{margin-left:auto}
.zl-contents summary{cursor:pointer;list-style:none;font-size:11px;color:#575757}
.zl-contents summary::-webkit-details-marker{display:none}
.zl-contents summary span{margin-left:10px}
.zl-contents>div{position:absolute;right:0;top:100%;background:#f6f6f6;padding:24px 28px;border:1px solid #d2d2d2;max-height:65vh;overflow:auto;width:min(480px,calc(100vw - 40px));box-shadow:0 10px 30px #0000000a}
.zl-contents ul{list-style:none;padding-left:0;margin:0}
.zl-contents li{margin:8px 0;font-size:12px;line-height:1.6}
.zl-contents ul ul{padding-left:16px;margin:12px 0 24px;border-left:1px dashed #cecece}
.zl-contents a{text-decoration:none}
.zl-contents a:hover{text-decoration:underline}
.zlib-essay .article-body>h2{position:relative;padding-top:42px;margin-top:90px;margin-bottom:18px}
.zlib-essay .article-body>h2::before{content:attr(data-part);display:block;font:10px Menlo,monospace;letter-spacing:.13em;color:#9d462e;margin-bottom:18px}
.zl-scene{position:relative;left:50%;transform:translateX(-50%);width:min(1160px,calc(100vw - 100px));display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start;margin:100px 0 110px}
.zl-scene-text,.zl-scene-after{font-size:16px;line-height:1.9}
.zl-scene{row-gap:0}
.zl-scene-text{grid-column:1;grid-row:1}
.zl-scene-after{grid-column:1;grid-row:2}
.zl-scene-visual{grid-column:2;grid-row:1 / span 2;align-self:start}
.zlib-essay .zl-scene-text>h3{margin:0 0 28px;font-size:32px}
.zl-scene-text>p:first-of-type{margin-top:0}
.zl-scene-visual{position:sticky;top:92px;min-width:0;padding:0}
.zl-scene zlib-demo{margin:0;border:0;background:transparent;overflow:visible}
.zl-scene .zl-demo-head{padding:0 0 20px;border-bottom:1px dashed #cacaca}
.zl-scene .zl-demo-head>span:first-child{color:#9d462e}
.zl-scene .zl-controls{padding:16px 0;border-bottom:0}
.zl-scene .zl-view{padding:20px 0;min-height:0}
.zl-scene .zl-status{padding:14px 0;background:transparent;border-top:1px dashed #cacaca}
.zl-mediumwidth,.zl-fullwidth{position:relative;left:50%;transform:translateX(-50%);width:min(1060px,calc(100vw - 100px));margin:42px 0 52px}
.zl-mediumwidth{width:min(880px,calc(100vw - 100px))}
.zl-overlay-wide{width:min(1160px,calc(100vw - 100px))}
.zl-mediumwidth zlib-demo,.zl-fullwidth zlib-demo{margin:0}
.zl-lazy-comparison{display:grid;gap:10px;margin:28px 0;padding:20px 0;border-block:1px dashed #c8c8c8}
.zl-lazy-comparison>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font:14px Menlo,monospace}
.zl-lazy-comparison span{width:90px;color:#757575;font:11px var(--nan-sans)}
.zl-lazy-comparison b{font-weight:400;background:#e1e1e1;padding:5px;color:#4e4e4e}
.zl-lazy-comparison i{font-style:normal;color:#8f6855;padding:5px}
.zl-lazy-comparison small{font:10px var(--nan-sans);color:#717171;flex-basis:100%;margin:4px 0 0 96px}
.zl-copy-stage{display:block;width:100%;overflow:visible;margin:8px 0 10px}
.zl-copy-stage [data-cell] rect{fill:#eeeeee;stroke:#c9c9c9;stroke-dasharray:3 3;transition:fill .25s,stroke .25s}
.zl-copy-stage .filled rect{fill:#e5e5e5;stroke:#b2b2b2;stroke-dasharray:none}
.zl-copy-stage .generated rect{fill:#d8e4e9;stroke:#a7bdc9}
.zl-copy-stage .source rect{stroke:#585858;stroke-width:2}
.zl-copy-stage .target rect{stroke:#a55539;stroke-width:2;stroke-dasharray:4 3}
.zl-copy-letter{font:32px var(--nan-serif);fill:#515151}
.zl-copy-index{font:10px Menlo,monospace;fill:#7e7e7e}
.zl-copy-arc{fill:none;stroke:#9d462e;stroke-width:1.5;transition:d .35s ease,opacity .2s}
.zl-copy-cursor{font:11px var(--nan-sans);fill:#9d462e;transition:x .35s ease}
.zl-copy-fly{opacity:0;pointer-events:none;transform-box:view-box;transform-origin:0 0}
.zl-copy-fly rect{fill:#b96b4d;stroke:#8a442c}
.zl-copy-fly text{fill:#fff;font:28px var(--nan-serif)}
.zl-copy-identity{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px;font-size:10px;color:#717171}
.zl-copy-identity i{display:inline-block;width:8px;height:8px;background:#e5e5e5;margin-right:6px;border:1px solid #b2b2b2}
.zl-copy-identity span+span i{background:#d8e4e9;border-color:#a7bdc9}
.zl-space{height:66px;position:relative;margin:24px 0 18px;overflow:hidden;border-block:1px solid #d5d5d5;background:repeating-linear-gradient(135deg,#f4f4f4,#f4f4f4 3px,#e5e5e5 3px,#e5e5e5 4px)}
.zl-space-segments{display:flex;height:100%;width:100%}
.zl-space-segments>div{flex-shrink:0;display:grid;align-content:center;text-align:center;gap:3px;border-right:2px solid #f6f6f6;transition:width .5s cubic-bezier(.2,.7,.2,1);overflow:hidden;white-space:nowrap}
.zl-space-segments b{font:22px var(--nan-serif)}
.zl-space-segments small{font:10px Menlo,monospace;opacity:.7}
.zl-space-A{background:#d5d5d5;color:#535353}.zl-space-B{background:#c3d6e0;color:#33596a}.zl-space-C{background:#e2c9b7;color:#7b5038}.zl-space-D{background:#d3d3d3;color:#606060}
.zl-space-limit{position:absolute;inset:0 auto 0 80%;border-left:2px dashed #9d462e;pointer-events:none}
.zl-space-limit span{position:absolute;right:5px;top:3px;color:#9d462e;font:10px Menlo,monospace}
.zl-space-caption{font-size:11px;color:#797979;min-height:22px}
.zl-old-tree{opacity:.2;filter:grayscale(1)}
.zl-stream-physical{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:28px 0}
.zl-stream-physical small{font-size:10px;color:#757575;display:block;margin-bottom:12px}
.zl-stream-history{font:20px/1.6 Menlo,monospace;letter-spacing:.1em;color:#575757;min-height:44px;background:#e9e9e9;padding:8px 12px;overflow-wrap:anywhere}
.zl-stream-buffer{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}
.zl-stream-buffer>span{height:44px;display:grid;place-items:center;border:1px dashed #c8c8c8;font:21px var(--nan-serif);color:#b6b6b6;transition:background-color .2s}
.zl-stream-buffer>span.filled{background:#c7d9e1;color:#335967;border-style:solid}
.zl-stream-buffer>span.from-history{background:#d9d9d9;border-color:#b1b1b1;color:#525252}
.zl-owned>div{transition:background-color .35s,border-color .35s,opacity .35s}
.zl-owned .released{background:repeating-linear-gradient(135deg,#f2f2f2,#f2f2f2 3px,#e4e4e4 3px,#e4e4e4 4px);opacity:.65}
@media(min-width:1101px){.zl-page{padding:40px 56px}.zl-readingbar{margin-inline:0}.zl-scene[data-kind=lookup]{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
@media(max-width:900px){.zl-scene{left:auto;transform:none;width:100%;display:flex;flex-direction:column;gap:24px;margin:70px 0}.zl-scene-text,.zl-scene-after{font-size:inherit;line-height:inherit}.zl-scene-visual{position:static;width:100%;padding:24px 0;border-block:1px dashed #cacaca}.zl-scene .zl-demo-head{border-bottom:0}.zl-fullwidth,.zl-mediumwidth{left:auto;transform:none;width:100%}.zlib-essay .article-body{max-width:760px}}
@media(max-width:620px){.zlib-essay .article-hero{padding-left:0}.zlib-essay .article-hero h1{font-size:76px}.zl-readingbar{gap:14px;font-size:10px;padding:16px 0}.zl-readingbar>a{gap:5px}.zl-readingbar>a small{font-size:8px}.zl-readingbar>a.active::after{display:none}.zl-contents summary{font-size:10px}.zl-contents summary span{display:none}.zlib-essay .article-body>h2{font-size:29px;margin-top:70px}.zlib-essay .zl-scene-text>h3{font-size:27px}.zl-stream-physical{grid-template-columns:1fr;gap:18px}.zl-copy-stage{margin:0}.zl-copy-identity{gap:10px;font-size:9px}.zl-lazy-comparison span{width:70px}.zl-lazy-comparison small{margin-left:76px}.zl-footer a:first-child{font-size:20px}}
@media(prefers-reduced-motion:reduce){.zlib-essay *{transition:none!important;animation:none!important}}
@media print{.zl-readingbar,.zl-contents,.article-topbar>div{display:none}.zl-scene{display:block;transform:none;left:auto;width:100%}.zl-scene-visual{position:static}.zl-fullwidth,.zl-mediumwidth{width:100%;left:auto;transform:none}.zl-page{border:0}.article-body{padding-bottom:0}}
