.pf-lc{--brand:#00643c;--link:#00643c;--ink:#111;--ink-2:#555;--ink-3:#6f6f6f;--bg:#fff;--bg-soft:#f8f9fa;--bg-sub-gray:#f1f3f4;--border:#e0e3e6;--note-bg:#e8f4fd;--next-bg:#f0f7f0;--content-max:860px;--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;max-width:var(--content-max);color:var(--ink);line-height:1.6}.pf-lc a{color:var(--link);text-decoration:none}.pf-lc a:hover{text-decoration:underline}.pf-lc h2.page-title{font-size:36px;color:var(--brand);margin:0 0 32px;letter-spacing:-.01em}.pf-lc h3.section{font-size:28px;color:var(--brand);margin:56px 0 16px}.pf-lc .lead{font-size:16px;color:var(--ink-2);margin:0 0 24px}.pf-lc .caption{font-size:13px;color:var(--ink-2);font-style:italic;margin-top:8px}.pf-lc .client-row{display:flex;align-items:center;gap:32px;margin-bottom:16px;flex-wrap:wrap}.pf-lc .client{display:flex;align-items:center;gap:12px}.pf-lc .client .thumb{width:72px;height:72px;border-radius:8px;flex-shrink:0;object-fit:contain;border:1px solid var(--border);background:#fff}.pf-lc .client a{color:var(--link);display:block;font-size:16px}.pf-lc .concept-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}.pf-lc .concept-card h4{font-size:20px;font-weight:600;color:#1a1a2e;margin:0 0 12px}.pf-lc .concept-card p{font-size:15px;line-height:1.65;color:var(--ink-2);margin:0}.pf-lc .concept-card p + p{margin-top:10px}.pf-lc .concept-img{width:100%;border-radius:8px;margin-bottom:16px;display:block}.pf-lc .py-cell{display:flex;align-items:flex-start;gap:0;margin-bottom:4px}.pf-lc .py-cell-label{color:var(--link);font-family:var(--mono);font-size:13px;font-weight:600;min-width:52px;padding-top:16px;text-align:right;padding-right:12px;user-select:none;flex-shrink:0}.pf-lc .py-code,.pf-lc .py-out{flex:1;min-width:0;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:16px 20px;overflow-x:auto;font-family:var(--mono);font-size:14px;line-height:1.6;color:#212529;margin:0 0 16px}.pf-lc .py-out{font-size:13px;line-height:1.5}.pf-lc .py-code .kw{color:#008000;font-weight:bold}.pf-lc .py-code .built{color:#008000}.pf-lc .py-code .str,.pf-lc .py-code .var{color:#ba2121}.pf-lc .py-code .cmt{color:#408080;font-style:italic}.pf-lc .py-code .num,.pf-lc .py-code .op{color:#666}.pf-lc .py-code .func,.pf-lc .py-code .attr,.pf-lc .py-code .kwarg{color:#212529}.pf-lc .py-code .cls{color:#212529;font-weight:bold}.pf-lc code{font-family:var(--mono);background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:.9em}.pf-lc .py-code code,.pf-lc .py-out code{background:0;border:0;padding:0}.pf-lc .note-box{background:var(--note-bg);border-radius:8px;border-left:4px solid var(--link);padding:16px 20px;margin:16px 0}.pf-lc .note-box p{font-size:14px;color:#333;margin:0}.pf-lc .note-box strong{color:var(--link)}.pf-lc .next-box{margin-top:32px;padding:24px;background:var(--next-bg);border-radius:8px;border-left:4px solid var(--link)}.pf-lc .next-box .h{font-size:16px;color:var(--brand);font-weight:600;margin:0 0 8px}.pf-lc .next-box p{font-size:14px;color:var(--ink-2);margin:0}.pf-lc .pdk-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}.pf-lc .pdk{font-size:13px;padding:6px 12px;border-radius:8px;background:var(--bg-sub-gray);color:var(--brand);border:1px solid var(--border)}.pf-lc .pdk b{font-weight:700}.pf-lc .pdk small{color:var(--ink-3);font-family:var(--mono);font-size:11px}.pf-lc .model-types{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:6px 0 0}.pf-lc .model-type{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:#fff}.pf-lc .model-type b{color:var(--ink);font-size:14px}.pf-lc .model-type span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:3px}@media(max-width:520px){.pf-lc .model-types{grid-template-columns:1fr}}.pf-lc .scale-hierarchy{display:flex;align-items:flex-end;gap:8px;margin:0 0 14px}.pf-lc .scale-stage{flex:1;min-width:0;border:1px solid var(--border);border-radius:10px;padding:8px;background:var(--bg-soft)}.pf-lc .scale-img-1{width:100%;height:100px;object-fit:contain;border-radius:6px;background:#fff;display:block}.pf-lc .scale-imgs-2col{display:grid;grid-template-columns:1fr 1fr;gap:4px;height:100px}.pf-lc .scale-img-w{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fff;border-radius:4px;padding:4px}.pf-lc .scale-img-w img{width:100%;height:76px;object-fit:contain}.pf-lc .scale-sublbl{font-size:9px;color:var(--ink-3);white-space:nowrap}.pf-lc .scale-lbl{font-size:13px;font-weight:700;color:var(--brand);margin-top:8px;text-align:center}.pf-lc .scale-eg{font-size:10.5px;color:var(--ink-3);text-align:center;margin-top:2px;line-height:1.4}.pf-lc .scale-arr{flex-shrink:0;color:var(--ink-3);font-size:20px;padding-bottom:32px}@media(max-width:700px){.pf-lc .scale-hierarchy{flex-wrap:wrap}.pf-lc .scale-arr{display:none}}.pf-lc .sim-img-pair{display:flex;gap:10px;margin-bottom:16px}
.pf-lc .sim-img-pair figure{flex:1;margin:0}.pf-lc .sim-img-pair figure img{width:100%;aspect-ratio:760 / 530;object-fit:contain;background:#fff;border-radius:6px;display:block;border:1px solid var(--border)}.pf-lc .sim-img-pair figcaption{font-size:11px;color:var(--ink-3);text-align:center;margin-top:4px}@media(max-width:600px){.pf-lc .sim-img-pair{flex-direction:column}}.pf-lc .see-also{margin-top:14px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pf-lc .see-also .sa-label{font-size:11.5px;font-weight:600;color:var(--ink-3);white-space:nowrap;margin-right:2px}.pf-lc .see-also a{font-size:11.5px;color:var(--link);text-decoration:none;background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:2px 9px;white-space:nowrap}.pf-lc .see-also a:hover{background:#e6f2ec;text-decoration:underline}.pf-lc .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:12px 0 4px}.pf-lc .feature-card{border:1px solid var(--border);border-radius:12px;padding:18px 20px;background:#fff}.pf-lc .feature-card .fico{width:36px;height:36px;border-radius:8px;background:var(--next-bg);color:var(--brand);display:grid;place-items:center;margin-bottom:10px;font-size:18px}.pf-lc .feature-card h4{margin:0 0 4px;font-size:15px;color:var(--ink)}.pf-lc .feature-card p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.55}@media(max-width:820px){.pf-lc .feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.pf-lc .feature-grid{grid-template-columns:1fr}}.pf-lc .gs-path{margin:0 0 32px}.pf-lc .gs-step{display:flex;gap:16px;padding:15px 0;border-top:1px solid var(--border)}.pf-lc .gs-step:last-child{border-bottom:1px solid var(--border)}.pf-lc .gs-num{flex:0 0 28px;width:28px;height:28px;margin-top:2px;border-radius:50%;background:var(--next-bg);border:1px solid var(--border);color:var(--brand);font-family:var(--mono);font-size:12.5px;font-weight:600;display:flex;align-items:center;justify-content:center}.pf-lc .gs-step h4{font-size:15.5px;font-weight:600;color:var(--ink);margin:4px 0 5px}.pf-lc .gs-step p{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:0}.pf-lc .gs-soon{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;border:1px dashed var(--border);border-radius:4px;padding:1px 6px;margin-left:6px}@media(max-width:560px){.pf-lc h2.page-title{font-size:28px}.pf-lc h3.section{font-size:22px}}