.paper-surface{background:var(--elev-surface);color:var(--ink);font-family:var(--font-body);min-height:100vh}.paper-shell{max-width:1180px;margin:0 auto;padding:96px 40px 120px}.paper-crumb{font-family:var(--font-body);letter-spacing:.02em;text-transform:none;color:var(--ink-3);margin-bottom:40px;font-size:11px}.paper-crumb a{color:var(--ink-2);border-bottom:1px solid #0000;text-decoration:none}.paper-crumb a:hover{border-bottom-color:var(--ink-2)}.paper-crumb .sep{color:var(--ink-4);margin:0 8px}.paper-frame{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:72px;display:grid}.paper-toc{border-left:1px solid var(--hairline);max-height:calc(100vh - 120px);padding-left:16px;font-size:13px;line-height:1.6;position:sticky;top:96px;overflow-y:auto}.paper-toc-label{letter-spacing:.02em;text-transform:none;color:var(--ink-3);margin:0 0 8px;font-size:11px;font-weight:600}.paper-toc ul{margin:0;padding:0;list-style:none}.paper-toc a{color:var(--ink-2);padding:3px 0;text-decoration:none;transition:color .12s;display:block}.paper-toc a:hover{color:var(--ink)}.paper-toc .depth-3 a{color:var(--ink-3);padding-left:12px}.paper-content{min-width:0;max-width:70ch}.paper-kicker{font-family:var(--font-sans);letter-spacing:.02em;text-transform:none;color:var(--ink-3);margin:0 0 16px;font-size:11px;font-weight:600}.paper-title{font:var(--type-h1);letter-spacing:var(--type-h1-tracking);color:var(--ink);margin:0 0 16px}.paper-subtitle{color:var(--ink-2);margin:0 0 24px;font-size:19px;line-height:1.5}.paper-meta,.paper-actions{color:var(--ink-3);margin:0;font-size:13px;line-height:1.7}.paper-meta{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:12px 0}.paper-actions{margin-top:12px;margin-bottom:48px}.paper-actions a{color:var(--ink);border-bottom:1px solid var(--hairline-strong);text-decoration:none;transition:border-color .12s}.paper-actions a:hover{border-bottom-color:var(--ink)}.paper-actions .sep{color:var(--ink-4);margin:0 10px}.paper-body{color:var(--ink);font-size:17px;line-height:1.65}.paper-body h2,.paper-body h3{color:var(--ink);scroll-margin-top:96px}.paper-body h2{font:var(--type-h2);letter-spacing:var(--type-h2-tracking);margin:60px 0 16px}.paper-body h3{font-family:var(--font-display);margin:36px 0 12px;font-size:21px;font-weight:500;line-height:1.25}.paper-body p{margin:0 0 18px}.paper-body a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--hairline-strong);text-decoration-color:var(--hairline-strong);text-underline-offset:3px;transition:text-decoration-color .12s}.paper-body a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.paper-body ul,.paper-body ol{margin:0 0 18px;padding-left:22px}.paper-body li{margin:6px 0}.paper-body strong{color:inherit;font-weight:600}.paper-body em,.paper-subtitle em{color:inherit;font-style:italic}.paper-body blockquote{border-left:2px solid var(--hairline-strong);color:var(--ink-2);margin:24px 0;padding:2px 0 2px 20px}.paper-body blockquote p{margin:0}.paper-body hr{border:0;border-top:1px solid var(--hairline);margin:40px 0}.paper-body sup{vertical-align:super;font-variant-numeric:tabular-nums;font-size:.68em;line-height:0}.paper-body sup a{color:var(--ink-2);padding:0 1px;text-decoration:none}.paper-body sup a:hover{color:var(--ink)}.paper-body table{border-collapse:collapse;width:100%;margin:20px 0 8px;font-size:14px;line-height:1.45}.paper-body th{text-align:left;letter-spacing:.04em;color:var(--ink-2);border-bottom:1px solid var(--hairline-strong);vertical-align:bottom;padding:8px 10px 8px 0;font-size:12px;font-weight:600}.paper-body td{border-bottom:1px solid var(--hairline);vertical-align:top;padding:9px 10px 9px 0}.paper-body th[align=right],.paper-body td[align=right]{text-align:left}.paper-body table+p{color:var(--ink-2);font-size:14px}.paper-body .blog-figure{margin:32px 0 36px}.paper-body .blog-figure img{border:1px solid var(--hairline);background:#fff;width:100%;height:auto;display:block}.paper-body .blog-figure-caption{color:var(--ink-2);margin-top:12px;font-size:14px;line-height:1.55}.paper-body .blog-figure-n{color:var(--ink);font-weight:600;text-decoration:none}.paper-body .blog-figure-source{color:var(--ink-3);margin-top:2px;font-size:13px;display:block}.paper-body .blog-figure{scroll-margin-top:96px}.paper-body .paper-note{color:var(--ink-2);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin:48px 0 0;padding:12px 0;font-size:15px;line-height:1.55}.paper-body .paper-note-label{color:var(--ink-2);font-weight:600}.paper-body .paper-refs{counter-reset:ref;color:var(--ink-2);margin:0;padding:0;font-size:14px;line-height:1.55;list-style:none}.paper-body .paper-refs li{counter-increment:ref;margin:0;padding:6px 0 6px 40px;scroll-margin-top:96px;position:relative}.paper-body .paper-refs li:before{content:counter(ref)".";color:var(--ink-3);font-variant-numeric:tabular-nums;position:absolute;left:0}.paper-body .paper-refs li:target{background:var(--wash)}.paper-body .paper-refs li p{margin:0}.paper-body .paper-refs a{color:var(--ink-2);word-break:break-all}@media (max-width:960px){.paper-shell{padding:72px 24px 96px}.paper-frame{grid-template-columns:1fr;gap:32px}.paper-toc{border-left:0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);max-height:none;padding:16px 0;position:static}.paper-body{font-size:16px}}
