.post-head{border-bottom:1px solid var(--line)}.post-head .wrap{padding-top:calc(var(--hdr-h) + var(--s7));padding-bottom:var(--s6)}.ph-inner{max-width:820px}.post-head .pc-cat{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin-bottom:var(--s3);align-items:center;gap:7px;font-size:.72rem;font-weight:600;display:flex}.post-head .pc-cat i{background:var(--green);border-radius:2px;flex-shrink:0;width:9px;height:9px}.post-head h1{font-size:var(--f-display);margin:0 0 var(--s3)}.standfirst{font-size:var(--f-lead);color:var(--ink-soft);max-width:56ch}.post-meta{align-items:center;gap:10px var(--s2);margin-top:var(--s4);font-size:var(--f-small);color:var(--ink-soft);flex-wrap:wrap;font-weight:500;display:flex}.pm-author{color:var(--ink);align-items:center;gap:9px;font-weight:600;display:inline-flex}.pm-author:hover span{box-shadow:inset 0 -2px 0 var(--green)}.pm-avatar{object-fit:cover;object-position:top center;background:var(--wash);border-radius:50%;width:30px;height:30px}.pm-sep{background:var(--ink-soft);opacity:.5;border-radius:50%;width:3px;height:3px}.pm-share{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.pm-share-btn{border:1.5px solid var(--line);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:border-color .14s,color .14s;display:inline-flex;position:relative}.pm-share-btn:hover{color:var(--ink);border-color:#30e4cb99}.pm-share-btn svg{width:15px;height:15px}.pm-copied{background:var(--navy);color:var(--white);white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:600;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}:root[data-theme=dark] .pm-copied{background:var(--green);color:var(--navy)}.post-layout{padding:var(--s6) 0 var(--s7);background:var(--ground)}.post-lead-img{aspect-ratio:21/9;border-radius:var(--radius);border:1px solid var(--line);background:var(--wash);margin-bottom:var(--s6);overflow:hidden}.post-lead-img img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}:root[data-theme=dark] .post-lead-img img,:root[data-theme=dark] .post-body img{filter:brightness(.9)}.post-lead-img{position:relative}.post-lead-img .img-dark{display:none}:root[data-theme=dark] .post-lead-img .img-dark{filter:brightness(.98)drop-shadow(0 0 18px #30e4cb33);display:block}:root[data-theme=dark] .post-lead-img:has(.img-dark) .img-light{display:none}:root[data-theme=dark] .post-lead-img:has(.img-dark):before{content:"";pointer-events:none;background:radial-gradient(closest-side,#30e4cb21,#0000 72%);position:absolute;inset:-8%}.post-body img[src*=-dark-2]{display:none}:root[data-theme=dark] .post-body img[src*=-dark-2]{filter:brightness(.98)drop-shadow(0 0 18px #30e4cb33);display:block}:root[data-theme=dark] .post-body p:has(>img:not([src*=-dark-2])):has(+p>img[src*=-dark-2]){display:none}:root[data-theme=dark] .post-body p:has(>img[src*=-dark-2]){position:relative}:root[data-theme=dark] .post-body p:has(>img[src*=-dark-2]):before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(closest-side,#30e4cb21,#0000 72%);position:absolute;inset:-6%}.post-grid{gap:var(--s6);grid-template-columns:250px minmax(0,1fr);align-items:start;display:grid}.post-grid:not(:has(.post-toc)){grid-template-columns:minmax(0,1fr)}.post-toc{top:calc(var(--hdr-h) + var(--s3));position:sticky}.toc-box{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3);background:var(--surface)}.toc-box summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--s2);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-size:.78rem;font-weight:600;list-style:none;display:flex}.toc-box summary::-webkit-details-marker{display:none}.toc-box summary .caret{width:7px;height:7px;color:var(--ink-soft);border-bottom:2px solid;border-right:2px solid;transition:transform .18s;transform:rotate(45deg)translateY(-2px)}.toc-box[open] summary .caret{transform:rotate(-135deg)translateY(2px)}.toc-box ol{margin:var(--s2) 0 0;padding:0;list-style:none}.toc-box li{border-top:1px solid var(--line)}.toc-box li:first-child{border-top:0}.toc-box a{color:var(--ink-soft);padding:8px 0;font-size:.88rem;font-weight:500;transition:color .12s;display:block}.toc-box a:hover{color:var(--ink)}@media (width>=881px){.toc-box summary{pointer-events:none;cursor:default}.toc-box summary .caret{display:none}}.post-body{max-width:var(--maxw-read)}.post-body>*+*{margin-top:var(--s3)}.post-body p{color:var(--ink);font-size:1.05rem;line-height:1.65}.post-body>p:first-child{font-size:var(--f-lead);border-left:3px solid var(--green);padding-left:var(--s3);font-weight:500;line-height:1.55}.post-body h2{margin-top:var(--s6);scroll-margin-top:calc(var(--hdr-h) + var(--s3));font-size:clamp(1.45rem,2.4vw,1.85rem)}.post-body h3{margin-top:var(--s5);scroll-margin-top:calc(var(--hdr-h) + var(--s3))}.post-body a{color:var(--ink);box-shadow:inset 0 -2px 0 var(--green);font-weight:600;transition:box-shadow .16s}.post-body a:hover{box-shadow:inset 0 -10px #30e4cb59}.post-body ul,.post-body ol{padding-left:1.3em}.post-body li{margin-top:8px;font-size:1.05rem;line-height:1.6}.post-body img{border-radius:var(--radius);max-width:100%;height:auto}.post-body figure,.post-body figure p{margin:0}.post-body figcaption{margin-top:var(--s3);color:var(--ink);font-size:1.05rem;line-height:1.65}.post-body blockquote{border-left:3px solid var(--green);padding-left:var(--s3);color:var(--ink-soft)}.post-body table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.post-body th,.post-body td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 14px}.post-body th{background:var(--wash);white-space:nowrap;font-weight:700}.post-body td:first-child{font-weight:600}.post-faq{margin-top:var(--s7)}.post-faq h2{margin:var(--s2) 0 var(--s2)}.post-faq .faq-list{margin-top:var(--s3)}.post-faq details{border-top:1px solid var(--line);padding:var(--s3) 0;margin-top:0}.post-faq details:last-child{border-bottom:1px solid var(--line)}.post-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--s3);color:var(--ink);font-size:1.12rem;font-weight:600;list-style:none;display:flex}.post-faq summary::-webkit-details-marker{display:none}.post-faq summary h3{color:var(--ink);font-size:1.12rem;font-weight:600;line-height:inherit;letter-spacing:normal;margin:0}.post-faq summary .ic{flex:none;width:22px;height:22px;position:relative}.post-faq summary .ic:before,.post-faq summary .ic:after{content:"";background:var(--green);border-radius:2px;transition:transform .2s,opacity .2s;position:absolute}.post-faq summary .ic:before{width:16px;height:2px;top:10px;left:3px}.post-faq summary .ic:after{width:2px;height:16px;top:3px;left:10px}.post-faq details[open] summary .ic:after{opacity:0;transform:rotate(90deg)}.post-faq details p{color:var(--ink-soft);font-size:var(--f-body);margin-top:var(--s2);max-width:62ch;line-height:1.6}@media (prefers-reduced-motion:reduce){.post-faq summary .ic:before,.post-faq summary .ic:after{transition:none}}.post-author{margin-top:var(--s7);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--s4);gap:var(--s4);grid-template-columns:auto 1fr;align-items:center;display:grid}.pa-photo{object-fit:cover;object-position:top center;background:var(--wash);border-radius:50%;width:96px;height:96px}.pa-name{letter-spacing:-.02em;margin:6px 0 8px;font-size:1.3rem;font-weight:700;line-height:1.08;display:block}.pa-name a:hover{box-shadow:inset 0 -2px 0 var(--green)}.post-author p{color:var(--ink-soft);margin-bottom:var(--s2);max-width:56ch;font-size:.95rem}.post-related{padding:var(--s7) 0;background:var(--ground);border-top:1px solid var(--line)}.pr-grid{gap:var(--s4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=880px){.post-head .wrap{padding-top:calc(var(--hdr-h) + var(--s6));padding-bottom:var(--s5)}.post-layout{padding:var(--s5) 0}.post-lead-img{aspect-ratio:16/9;margin-bottom:var(--s4)}.post-grid{gap:var(--s4);grid-template-columns:minmax(0,1fr)}.post-body p,.post-body li{font-size:1rem}.post-body h2{margin-top:var(--s5)}.post-body h3{margin-top:var(--s4)}.post-toc{position:static}.pm-share{width:100%;margin-left:0}.post-faq,.post-author{margin-top:var(--s6)}.post-related{padding:var(--s5) 0}.pr-grid{gap:var(--s3);grid-template-columns:1fr}}@media (width<=560px){.post-author{grid-template-columns:1fr}.pa-photo{width:72px;height:72px}}
