.pf-blog{--acc:var(--blue-ink)}.pf-blog .pf-col,.pf-blog .pf-flow>*{width:100%;max-width:760px;margin-inline:auto}.pf-blog .pf-flow>.pf-wide{max-width:1000px}.pf-post .bp-phero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(46% 70% at 78% 0,var(--acc-glow,transparent),transparent 72%)}.pf-post .bp-phero .bp-grid{--gmaj:var(--acc-grid);--gmin:color-mix(in srgb,var(--acc-grid) 45%,transparent)}.pf-post .bp-phero>.bp-wrap>div{max-width:760px;margin-inline:auto}.pf-post .bp-phero .bp-h1{max-width:none;font-size:clamp(34px,4.4vw,56px);line-height:1.02;letter-spacing:-.042em}.pf-post .bp-phero .bp-lead{max-width:none}.pf-post .bp-phero .bp-fp .pd,.pf-post .bp-phero .bp-fp .th{fill:color-mix(in srgb,var(--acc) 9%,transparent);stroke:color-mix(in srgb,var(--acc) 40%,transparent)}.pf-post .bp-phero .bp-fp .vo{stroke:color-mix(in srgb,var(--acc) 42%,transparent)}.pf-post .bp-phero .bp-fp .vi{fill:color-mix(in srgb,var(--acc) 36%,transparent)}.pf-post .bp-phero .bp-fp .dp,.pf-post .bp-phero .bp-fp .tr{stroke:color-mix(in srgb,var(--acc) 30%,transparent)}.pf-post .bp-phero .bp-fp .nt,.pf-post .bp-phero .bp-fp .rf{fill:color-mix(in srgb,var(--acc) 55%,transparent)}.pf-back{display:inline-flex;align-items:center;gap:6px;font:500 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .2s}.pf-back:hover{color:var(--acc)}.pf-back svg{width:14px;height:14px;transition:transform .25s var(--ease)}.pf-back:hover svg{transform:translateX(-2px)}.pf-acc-tag{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:6px;background:color-mix(in srgb,var(--acc) 9%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 24%,transparent);color:var(--acc);font:500 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.pf-acc-tag:before{content:"";width:6px;height:6px;border-radius:2px;background:var(--acc)}.pf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:28px;font-size:14.5px;color:var(--muted)}.pf-meta .pf-sep{color:var(--line2)}.pf-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:color-mix(in srgb,var(--acc) 9%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 26%,transparent);color:var(--acc);font:600 12.5px/1 var(--sans)}.pf-h2{font:600 clamp(26px,2.6vw,34px)/1.12 var(--sans);letter-spacing:-.035em;color:var(--ink);text-wrap:balance}.pf-kicker{display:flex;align-items:center;gap:10px;margin-bottom:12px;font:500 11.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}.pf-kicker:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--acc)}.pf-h3{font:600 21px/1.3 var(--sans);letter-spacing:-.02em}.pf-h3,.pf-lead{color:var(--ink)}.pf-lead{font-size:clamp(19px,1.6vw,21px);line-height:1.6;letter-spacing:-.01em}.pf-lead,.pf-p{text-wrap:pretty}.pf-p{font-size:17.5px;line-height:1.75;color:var(--ink2)}.pf-post .pf-legacy h2{display:flex;flex-direction:column;gap:14px}.pf-post .pf-legacy h2:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--acc)}.pf-post .pf-legacy h2{margin-top:0}.pf-post .pf-legacy p{text-wrap:pretty}.pf-key{padding:22px 24px 24px;border-radius:12px;background:color-mix(in srgb,var(--acc) 6%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 22%,transparent)}.pf-key-label{display:flex;align-items:center;gap:9px;font:500 11.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}.pf-key-label svg{width:16px;height:16px;flex:none}.pf-key ul{display:grid;gap:12px;margin-top:16px}.pf-key li{display:grid;grid-template-columns:8px 1fr;gap:14px;font-size:16.5px;line-height:1.6;color:var(--ink)}.pf-key li:before{content:"";width:7px;height:7px;margin-top:.62em;border-radius:2px;background:var(--acc)}.pf-blog .bp-table td.pf-hl{color:var(--ink)}.pf-blog .bp-table th.pf-hl{color:var(--acc)}.pf-blog figure>.bp-table-wrap+figcaption{padding:10px 4px 0;font-size:13.5px;line-height:1.5;color:var(--muted)}.pf-term{overflow:hidden;border-radius:12px;background:var(--bg);box-shadow:0 0 0 1px rgba(12,24,44,.2),var(--sh-1)}.pf-term-bar{display:flex;align-items:center;gap:7px;padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.pf-term-bar>i{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.16)}.pf-term-title{display:flex;align-items:center;gap:7px;margin-left:8px;font:500 12.5px/1 var(--mono);color:#98a2b5}.pf-term-title svg{width:14px;height:14px;color:var(--sig)}.pf-term pre{overflow-x:auto;padding:16px 18px 18px;font:400 13.5px/1.7 var(--mono);color:#e6ebf3}.pf-term .t-dim{color:#8a94a7}.pf-term .t-ok{color:var(--sig)}.pf-term .t-warn{color:#fcd34d}.pf-term .t-in{color:#e6ebf3}.pf-blog .pf-figure{padding:8px 8px 0;border-radius:14px;background:#fff;box-shadow:var(--sh-stage)}.pf-blog .pf-figure a{display:block;overflow:hidden;border-radius:8px;box-shadow:0 0 0 1px rgba(10,14,22,.12)}.pf-blog .pf-figure figcaption{padding:11px 6px 12px;font-size:14px;line-height:1.5;color:var(--muted)}.pf-rel-kind{font:500 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase}.pf-cover{--mask:#0f2c64;--cu:#24509f;--pad:#e2bd6a;--silk:rgba(255,255,255,.82);--hole:rgba(6,8,12,.72);position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(120% 120% at 15% 0,color-mix(in srgb,var(--mask) 78%,#fff 22%) 0,var(--mask) 62%)}.pf-cover[data-accent=cyan]{--mask:#0b5563;--cu:#1a8392}.pf-cover[data-accent=violet]{--mask:#3c1f73;--cu:#6040a8}.pf-cover[data-accent=emerald]{--mask:#0e5134;--cu:#1f7d55}.pf-cover[data-accent=amber]{--mask:#d9a521;--cu:#b9860f;--pad:#eef0f3;--silk:rgba(21,23,28,.78);--hole:rgba(21,23,28,.7)}.pf-cover svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .6s var(--ease)}.pf-cover .bp-fp .pd,.pf-cover .bp-fp .th,.pf-cover .bp-fp .vo{fill:var(--pad);stroke:none}.pf-cover .bp-fp .vi{fill:var(--hole)}.pf-cover .bp-fp .bd{stroke:var(--silk);stroke-width:1.6;stroke-dasharray:none;opacity:.7}.pf-cover .bp-fp .p1{fill:var(--silk)}.pf-cover .bp-fp .dp,.pf-cover .bp-fp .tr{stroke:var(--cu);stroke-width:6}.pf-cover .bp-fp .dp{stroke-width:5}.pf-cover .bp-fp .nt,.pf-cover .bp-fp .rf{fill:var(--silk);font-size:15px}.pf-cover .bp-fp .nt{font-size:13px;opacity:.85}.pf-cover:before{inset:0;background:linear-gradient(155deg,rgba(255,255,255,.14),rgba(255,255,255,0) 42%)}.pf-cover:after,.pf-cover:before{content:"";position:absolute;z-index:1;pointer-events:none}.pf-cover:after{inset:10px;--mh:radial-gradient(circle,var(--hole) 0 3.5px,var(--pad) 4px 6.5px,transparent 7px);background:var(--mh) 0 0/16px 16px no-repeat,var(--mh) 100% 0/16px 16px no-repeat,var(--mh) 0 100%/16px 16px no-repeat,var(--mh) 100% 100%/16px 16px no-repeat}.bp-card-link:hover .pf-cover svg{transform:scale(1.045)}.pf-cover-sheet{background:#f8fafd;--gmaj:rgba(44,102,246,.09);--gmin:rgba(44,102,246,.04)}.pf-cover-sheet:before{z-index:0;background:linear-gradient(90deg,var(--gmaj) 1px,transparent 1px) 0 0/80px 80px,linear-gradient(var(--gmaj) 1px,transparent 1px) 0 0/80px 80px,linear-gradient(90deg,var(--gmin) 1px,transparent 1px) 0 0/16px 16px,linear-gradient(var(--gmin) 1px,transparent 1px) 0 0/16px 16px}.pf-cover-sheet:after{display:none}.pf-cover-sheet .pf-sheet-img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;padding:26px 26px 46px;transition:transform .6s var(--ease)}.pf-sheet-cap{position:absolute;left:18px;bottom:16px;z-index:2;color:#5b6578}.bp-card-link:hover .pf-cover-sheet .pf-sheet-img{transform:scale(1.03)}@media (prefers-reduced-motion:reduce){.bp-card-link:hover .pf-cover svg,.bp-card-link:hover .pf-cover-sheet .pf-sheet-img{transform:none}}.pf-cat{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:6px;font:600 12px/1 var(--sans);letter-spacing:-.005em}.pf-card-title{font:600 20px/1.25 var(--sans);letter-spacing:-.022em}.pf-card-title,.pf-feat-title{color:var(--ink);text-wrap:balance}.pf-feat-title{font:600 clamp(28px,3vw,40px)/1.06 var(--sans);letter-spacing:-.04em}.pf-read{display:inline-flex;align-items:center;gap:6px;font:500 15px/1 var(--sans);color:var(--acc)}.pf-read svg{width:15px;height:15px;transition:transform .25s var(--ease)}.bp-card-link:hover .pf-read svg{transform:translateX(3px)}@media (prefers-reduced-motion:reduce){.bp-card-link:hover .pf-read svg{transform:none}}