.pj-blocks{max-width:70ch}.pj-blocks>*+*{margin-top:20px}.pj-block-heading{font-family:var(--pj-font-display);letter-spacing:-.018em;color:var(--pj-ink);scroll-margin-top:24px;font-size:27px;font-weight:400;line-height:1.2;margin-top:52px!important}.pj-blocks>.pj-block-heading:first-child{margin-top:0!important}.pj-block-abstract{font-family:var(--pj-font-display);color:var(--pj-ink);font-size:18.5px;line-height:1.6}.pj-block-text{color:var(--pj-ink-2);font-size:16.5px;line-height:1.72}.pj-block-text p+p,.pj-block-abstract p+p{margin-top:14px}.pj-block-callout{--callout:var(--pj-accent);--callout-wash:var(--pj-accent-wash);border:1px solid var(--pj-line);border-left:2px solid var(--callout);background:var(--callout-wash);border-radius:var(--pj-r-md);padding:15px 17px}.pj-callout-lesson{--callout:var(--pj-warn);--callout-wash:var(--pj-warn-wash)}.pj-callout-note{--callout:var(--pj-link);--callout-wash:var(--pj-link-wash)}.pj-callout-warning{--callout:var(--pj-danger);--callout-wash:var(--pj-danger-wash)}.pj-callout-result{--callout:var(--pj-ok);--callout-wash:var(--pj-ok-wash)}.pj-block-callout h3{font-family:var(--pj-font-mono);text-transform:uppercase;letter-spacing:.13em;color:var(--callout);margin-bottom:7px;font-size:11px}.pj-block-callout div{color:var(--pj-ink-2);font-size:15.5px;line-height:1.65}.pj-block-code{background:var(--pj-bg-sunk);border:1px solid var(--pj-line);border-radius:var(--pj-r-md);overflow:hidden}.pj-block-code pre{font-family:var(--pj-font-mono);color:var(--pj-ink);padding:16px 18px;font-size:13px;line-height:1.6;overflow-x:auto}.pj-block-code figcaption{border-top:1px solid var(--pj-line);font-family:var(--pj-font-mono);color:var(--pj-ink-3);padding:8px 17px;font-size:12px}.pj-block-timeline{list-style:none}.pj-block-timeline li{grid-template-columns:92px minmax(0,1fr);gap:18px;padding-bottom:22px;display:grid;position:relative}.pj-block-timeline li:before{content:"";background:var(--pj-line);width:1px;position:absolute;top:22px;bottom:0;left:101px}.pj-block-timeline li:last-child{padding-bottom:0}.pj-block-timeline li:last-child:before{display:none}.pj-timeline-label{font-family:var(--pj-font-mono);text-transform:uppercase;letter-spacing:.09em;color:var(--pj-highlight);text-align:right;padding-top:3px;font-size:11.5px}.pj-timeline-content{position:relative}.pj-timeline-content:before{content:"";background:var(--pj-highlight);width:7px;height:7px;box-shadow:0 0 0 3px var(--pj-bg);border-radius:50%;position:absolute;top:7px;left:-12.5px}.pj-timeline-content h3{margin-bottom:3px;font-size:16px;font-weight:600}.pj-timeline-content div{color:var(--pj-ink-2);font-size:15px;line-height:1.62}@media (width<=620px){.pj-block-timeline li{grid-template-columns:1fr;gap:4px}.pj-block-timeline li:before,.pj-timeline-content:before{display:none}.pj-timeline-label{text-align:left}}.pj-block-stats{background:var(--pj-line);border:1px solid var(--pj-line);border-radius:var(--pj-r-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;display:grid;overflow:hidden}.pj-block-stats>div{background:var(--pj-surface);padding:14px 15px}.pj-block-stats dt{font-family:var(--pj-font-mono);text-transform:uppercase;letter-spacing:.09em;color:var(--pj-ink-3);margin-bottom:5px;font-size:11px}.pj-block-stats dd{font-family:var(--pj-font-display);color:var(--pj-ink);font-size:23px}.pj-block-stats>div:nth-child(4n+1) dd{color:var(--pj-accent)}.pj-block-stats>div:nth-child(4n+2) dd{color:var(--pj-link)}.pj-block-stats>div:nth-child(4n+3) dd{color:var(--pj-ok)}.pj-block-stats>div:nth-child(4n+4) dd{color:var(--pj-highlight)}.pj-block-image{border-radius:var(--pj-r-md);border:1px solid var(--pj-line);overflow:hidden}.pj-block-image img{width:100%;display:block}.pj-block-image figcaption{font-family:var(--pj-font-mono);color:var(--pj-ink-3);background:var(--pj-bg-sunk);border-top:1px solid var(--pj-line);padding:9px 13px;font-size:12px}.pj-block-quote{border-left:3px solid var(--pj-line);font-family:var(--pj-font-display);color:var(--pj-ink-2);padding-left:18px;font-size:18px;font-style:italic;line-height:1.6}.pj-block-quote cite{font-family:var(--pj-font-mono);color:var(--pj-ink-3);margin-top:8px;font-size:12px;font-style:normal;display:block}.pj-full{padding-top:34px}.pj-full-back{font-family:var(--pj-font-mono);color:var(--pj-ink-2);transition:color var(--pj-fast) var(--pj-ease);align-items:center;gap:7px;font-size:12px;text-decoration:none;display:inline-flex}.pj-full-back svg{width:13px;height:13px;transition:transform var(--pj-fast) var(--pj-ease)}.pj-full-back:hover{color:var(--pj-link)}.pj-full-back:hover svg{transform:translate(-2px)}.pj-full-head{max-width:70ch;padding:26px 0 28px}.pj-full-title{font-family:var(--pj-font-display);letter-spacing:-.022em;color:var(--pj-ink);margin:10px 0 12px;font-size:clamp(2rem,4.6vw,2.9rem);font-weight:400;line-height:1.13}.pj-full-summary{color:var(--pj-ink-2);font-size:17.5px;line-height:1.58}.pj-full-head .pj-detail-tags{margin-top:16px}.pj-full-head .pj-tag{text-decoration:none;display:inline-block}.pj-full-media{border:1px solid var(--pj-line);border-radius:var(--pj-r-lg);margin-bottom:44px;overflow:hidden}.pj-full-media .pj-viewer{border-bottom:none}.pj-full-columns{grid-template-columns:minmax(0,1fr) 210px;align-items:start;gap:56px;display:grid}@media (width<=900px){.pj-full-columns{grid-template-columns:1fr;gap:40px}.pj-full-aside{order:-1}}.pj-full-aside{position:sticky;top:28px}@media (width<=900px){.pj-full-aside{position:static}}.pj-toc{margin-bottom:26px}.pj-toc ul{border-left:1px solid var(--pj-line);list-style:none}.pj-toc li a{color:var(--pj-ink-2);transition:color var(--pj-fast) var(--pj-ease), border-color var(--pj-fast) var(--pj-ease);border-left:1px solid #0000;margin-left:-1px;padding:5px 0 5px 13px;font-size:13.5px;line-height:1.4;text-decoration:none;display:block}.pj-toc li a:hover{color:var(--pj-link);border-left-color:var(--pj-link)}.pj-full-empty{color:var(--pj-ink-3);padding:40px 0;font-size:16px}
