.wrap{gap:clamp(56px,7vw,96px)}article,.after{width:100%;max-width:1020px;margin:0 auto}article{display:flex;flex-direction:column;gap:28px;font-family:var(--serif);font-size:clamp(19px,1.5vw,21px);line-height:1.7}article>p,article>h2,article>h3,article>ol,article>ul,.row>p,.end,.refs{max-width:680px;margin:0}article h2{margin-top:28px;font-size:clamp(28px,2.6vw,34px);font-weight:400;line-height:1.25;letter-spacing:-.01em}article h3{margin-top:12px;font-size:clamp(22px,2vw,26px);font-weight:400;line-height:1.3}article a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}sup{font-family:var(--mono);font-size:12px;color:var(--accent)}sup a{text-decoration:none}.top{display:flex;flex-direction:column;gap:22px;padding-bottom:40px;margin-bottom:12px;border-bottom:1px solid var(--line)}.top .back{align-self:flex-start;font-family:var(--sans);font-size:14px;color:var(--muted)}.top h1{margin:0;font-size:clamp(48px,7vw,96px);font-weight:400;line-height:1.02;letter-spacing:-.02em}.prose .top h1{font-size:clamp(40px,5.6vw,76px);line-height:1.05}.top h1 em{color:var(--accent)}.top .dek{margin:0;font-size:clamp(22px,2.2vw,28px);font-style:italic;line-height:1.4;color:var(--muted)}.byline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:8px;font-family:var(--sans)}.byline .who{display:flex;align-items:center;gap:14px;font-size:15px;line-height:1.4}.byline .seal{width:44px;height:44px;border-radius:7px;font-size:19px}.byline .who span span{display:block;color:var(--muted)}.byline .chips{display:flex;flex-wrap:wrap;gap:8px}.byline .chip{padding:6px 12px;font-size:13px}.zh-note{margin:0;padding:12px 16px;border-radius:12px;background:var(--chip);font-family:var(--sans);font-size:14px;color:var(--muted)}.row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 48px}.row>p{flex:999 1 560px;min-width:0}.row>aside,.row>.card{flex:1 1 220px;min-width:0;font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--muted)}.row>aside{padding-top:6px}.row>aside .n{font-family:var(--mono);font-size:12px;color:var(--accent)}.related{display:flex;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;color:var(--ink)!important}.related .mono{font-size:12px;color:var(--muted)}.related strong{font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.35}figure{margin:24px 0;display:flex;flex-direction:column;gap:14px}figcaption{max-width:680px;font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--muted)}figcaption .mono{color:var(--accent)}.end{width:100%;text-align:center;padding:20px 0;font-family:var(--mono);font-size:14px;color:var(--muted)}.refs{padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--muted)}.refs a{overflow-wrap:anywhere}.prose>ul,.prose>ol{padding-left:1.2em;display:flex;flex-direction:column;gap:8px}.prose li>ul,.prose li>ol{margin-top:8px}.prose img{display:block;max-width:100%;height:auto;border-radius:16px;box-shadow:var(--card)}.prose p:has(>img:only-child){max-width:1020px}.prose blockquote{margin:0;max-width:680px;padding:4px 0 4px 24px;border-left:2px solid var(--accent);color:var(--muted)}.prose blockquote p{margin:0}.prose hr{width:100%;max-width:680px;margin:12px 0;border:none;border-top:1px solid var(--line)}.prose code{font-family:var(--mono);font-size:.82em;padding:2px 6px;border-radius:6px;background:var(--chip)}.prose pre{max-width:820px;margin:0;padding:20px 22px;border-radius:16px;background:var(--surface);box-shadow:var(--card);overflow-x:auto;font-size:14px;line-height:1.6}.prose pre code{padding:0;background:none;font-size:inherit}.prose .highlight{max-width:820px}.prose table{max-width:820px;width:100%;border-collapse:collapse;font-family:var(--sans);font-size:15px;line-height:1.5;display:block;overflow-x:auto}.prose th,.prose td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose th{font-weight:500}.prose .footnotes{max-width:680px;font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--muted)}.prose .footnotes hr{margin:0 0 16px;border:none;border-top:1px solid var(--line)}.prose .footnotes ol{padding-left:1.2em;display:flex;flex-direction:column;gap:8px}.prose .footnotes p{margin:0}.push{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:22px 26px;border-radius:18px;background:var(--tint-1)}.push span{font-family:var(--serif);font-size:22px;line-height:1.4}.pager{display:flex;flex-wrap:wrap;gap:16px}.pager a{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:18px;text-decoration:none}.pager a.later{text-align:right}.pager .mono{font-size:12px;color:var(--muted)}.pager strong{font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.3}.fig-body{display:flex;align-items:center;gap:clamp(16px,4vw,32px);max-width:480px}.explode svg{display:block;flex:0 0 clamp(120px,34%,170px);height:auto}.explode [data-k]{cursor:pointer;transition:opacity .3s ease}.explode .layer{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.explode .rod{transform-box:fill-box;transform-origin:50% 100%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.explode.closed .layer{transform:translate(var(--cx, 0px),var(--c, 0px))}.explode.closed .rod{transform:scaleY(var(--s))}.explode[data-active] [data-k]:not(.on){opacity:.25}.keys{flex:1;min-width:0;margin:0;padding:0;list-style:none}.keys button{display:block;width:100%;padding:5px 8px;border:none;border-radius:8px;background:none;color:var(--ink);font:15px/1.35 var(--sans);text-align:left;cursor:pointer}.keys small{display:none;margin-top:2px;font-size:13px;color:var(--muted)}.keys button[aria-pressed=true]{background:var(--chip)}.keys button[aria-pressed=true] small{display:block}.keys button:focus-visible,.replay:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.replay{padding:0;border:none;background:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
