.v2.pb-platform .page-hero.solo{grid-template-columns:.82fr 1.18fr;gap:56px}.v2.pb-platform .page-hero .ph-below{grid-area:1/2;min-width:0;margin-top:0}.v2.pb-platform .pb-hero-panel{min-height:640px;padding:40px 28px}.v2.pb-platform .pb-hero-panel .panel-card{max-width:100%}.v2 .pb-app{border-radius:14px;width:100%;position:relative;overflow:hidden}.v2 .pb-app-inner{transform-origin:0 0}.v2 .pb-app-inner>div{max-width:none!important;margin:0!important;padding:0!important}.v2 .pb-app-inner .hdt-shell+p{padding-left:4px;color:#f0e8d89e!important}.v2 .pb-app[data-fit=scale] .hdt-shell+p{margin-top:18px!important;font-size:19px!important}.v2 .pb-flows>a{transition:background-color .32s var(--ease);flex-direction:column;display:flex}.v2 .pb-flows>a:hover{background:#ffffff59}.v2 .pb-flows h3{font-size:20px}.v2 .pb-flows .pb-tag{color:var(--ink);margin-top:6px;font-size:14.5px}.v2 .pb-flows .pb-see{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);transition:color .32s var(--ease);margin-top:auto;padding-top:22px;font-size:11px}.v2 .pb-flows>a:hover .pb-see{color:var(--ink)}.v2 .pb-chapter{scroll-margin-top:96px}.v2 .pb-chapter .panel-card{min-width:0}.v2 .cell.ink .pb-compare .pb-stops li:before{content:"×";color:#f47a4f}.v2 .cell.ink .pb-compare .pb-hyrax{background:#f0e8d808;grid-column:1/-1;padding:34px 28px 36px}.v2 .pb-compare .pb-hyrax-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;display:flex}.v2 .pb-compare .pb-hyrax-head h3{margin:0;font-size:20px}.v2 .pb-compare .pb-hyrax-head p{margin:0}.v2 .pb-compare .pb-hyrax ul{grid-template-columns:repeat(3,1fr);column-gap:32px;margin-top:22px;display:grid}.v2 .cell.ink .pb-compare .pb-hyrax li{color:var(--bone)}.v2 .cell.ink .pb-compare .pb-hyrax li:before{content:"✓";color:#f0e8d88c}.v2 .cell.ink .pb-compare .pb-hyrax-foot{color:var(--bone);border-top:1px solid #f0e8d81f;margin-top:24px;padding-top:20px;font-size:15px}@media (max-width:1000px){.v2.pb-platform .page-hero.solo{grid-template-columns:1fr;gap:0}.v2.pb-platform .page-hero .ph-below{grid-area:auto/1;margin-top:48px}.v2.pb-platform .page-hero .panel.tall.pb-hero-panel,.v2 .pb-chapter .panel.tall{min-height:0;padding:28px 14px}.v2 .pb-compare .pb-hyrax ul{grid-template-columns:1fr 1fr}}@media (max-width:640px){.v2 .pb-compare .pb-hyrax ul{grid-template-columns:1fr}}
.v2.pf .page-hero{padding-bottom:56px}.v2.pf .cell.pf-hero-shot{border-top:0;padding-top:0}.v2.pf .cell.pf-hero-shot:before,.v2.pf .cell.pf-hero-shot:after{display:none}.v2 .pf-stage{isolation:isolate;background-color:#e1cfb1;background-image:linear-gradient(30deg,#0c0b0a0f 1px,#0000 1px),linear-gradient(150deg,#0c0b0a0f 1px,#0000 1px);background-size:34px 20px;border-radius:20px;padding:64px 72px 72px;position:relative;overflow:hidden}.v2 .pf-stage:before{content:"";z-index:-1;background:radial-gradient(70% 70% at 30% 20%,#ffffff47,#0000 70%);position:absolute;top:0;bottom:0;left:0;right:0}.v2 .pf-main{width:74%;max-width:860px}.v2 .pf-side{width:44%;max-width:560px;position:absolute;bottom:48px;right:56px}.v2 .pf-win{background:#f4efe6;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px #1b171424,0 30px 70px -28px #1b171473,0 8px 20px -10px #1b171440}.v2 .pf-bar{background:#ede6d9;border-bottom:1px solid #e0d7c6;align-items:center;gap:7px;height:32px;padding:0 12px;display:flex}.v2 .pf-bar i{background:#1b171429;border-radius:50%;flex:none;width:10px;height:10px}.v2 .pf-bar span{text-align:center;font-family:var(--mono);color:#1b17148c;white-space:nowrap;text-overflow:ellipsis;flex:1;margin-right:40px;font-size:11px;overflow:hidden}.v2 .pf-win .pc>div>div{box-shadow:none!important;border-radius:0!important}.v2 .cell.pf-row{padding-top:96px;padding-bottom:104px}.v2 .pf-head{margin-bottom:40px}.v2 .pf-head .h2{max-width:900px;margin-top:14px}.v2 .pf-cards{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:14px;display:grid}.v2 .pf-card{border:1px solid var(--rule);background:#ffffff61;border-radius:16px;flex-direction:column;padding:24px;scroll-margin-top:110px;display:flex}.v2 .pf-card h3{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:500}.v2 .pf-card p{color:var(--ink-2);margin:6px 0 0;font-size:14.5px;line-height:1.5}.v2 .pf-card p.pf-tag{color:var(--ink)}.v2 .pf-card .pf-more{color:var(--signal-ink);align-items:center;gap:6px;width:max-content;margin-top:12px;font-size:14px;font-weight:500;display:inline-flex}.v2 .pf-card .pf-more span{transition:transform .2s var(--ease)}.v2 .pf-card .pf-more:hover span{transform:translate(3px)}.v2 .pf-tile{background-color:#e6dbc6;background-image:linear-gradient(30deg,#0c0b0a0d 1px,#0000 1px),linear-gradient(150deg,#0c0b0a0d 1px,#0000 1px);background-size:26px 15px;border-radius:12px;flex:1;align-items:flex-start;margin-top:22px;padding:26px;display:flex}.v2 .pf-tile>*{width:100%}.v2 .pt-viewed{display:contents}@media (max-width:1000px){.v2 .pf-stage{padding:32px 24px 40px}.v2 .pf-main{width:100%}.v2 .pf-side{display:none}.v2 .pf-cards{grid-template-columns:1fr 1fr}}@media (max-width:640px){.v2 .pf-cards{grid-template-columns:1fr}.v2 .pf-stage{border-radius:16px;padding:16px 12px 20px}}.v2.pf .page-hero.solo{grid-template-columns:1fr;gap:0}.v2.pf .page-hero.solo .ph-copy{max-width:980px}.v2.pf .page-hero .hero-sub{max-width:720px}.v2 .pf-tile :where(button){font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}.v2 .pf-tile button:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:6px}.v2 .pf-tile button:disabled{cursor:default}.v2 .pt-win,.v2 .pt-gh,.v2 .pt-term{border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px #1b17141f,0 1px 2px #1b17140f,0 22px 44px -24px #1b17146b}.v2 .pt-win{color:#1b1714;font-family:var(--font-geist),Geist,system-ui,sans-serif;background:#fffdf9}.v2 .pt-bar{background:#ede6d9;border-bottom:1px solid #e0d7c6;align-items:center;gap:6px;height:30px;padding:0 12px;display:flex}.v2 .pt-bar i{background:#1b171429;border-radius:50%;flex:none;width:9px;height:9px}.v2 .pt-bar span{text-align:center;font-family:var(--mono);color:#1b17148c;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:10.5px;overflow:hidden}.v2 .pt-bar b{flex:none;width:39px}.v2 .pt-ed{grid-template-columns:168px minmax(0,1fr);min-height:292px;display:grid}.v2 .pt-tree{font-family:var(--mono);color:#6e6556;background:#f4efe6;border-right:1px solid #e0d7c6;margin:0;padding:10px 6px;font-size:11.5px;list-style:none}.v2 .pt-tree li{padding-right:4px}.v2 .pt-tree li>span,.v2 .pt-tree li>button{white-space:nowrap;text-overflow:ellipsis;border-radius:5px;width:100%;padding:4px 8px;display:block;overflow:hidden}.v2 .pt-tree li>button{color:#1b1714;transition:background-color .2s,color .2s}.v2 .pt-tree li>button:hover{background:#1b17140d}.v2 .pt-tree li>button.on{color:#a83412;background:#a834121a}.v2 .pt-doc{flex-direction:column;min-width:0;display:flex}.v2 .pt-tabs{background:#f7f2ea;border-bottom:1px solid #e0d7c6;justify-content:space-between;align-items:center;display:flex}.v2 .pt-tab{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;background:#fffdf9;border-bottom:1px solid #fffdf9;border-right:1px solid #e0d7c6;max-width:70%;margin-bottom:-1px;padding:8px 14px;font-size:11px;overflow:hidden}.v2 .pt-copy{border-radius:6px;margin-right:8px;font-size:12px;font-weight:500;transition:background-color .2s,color .2s;background:#fffdf9!important;border:1px solid #e0d7c6!important;padding:4px 10px!important}.v2 .pt-copy:hover{background:#f4efe6!important}.v2 .pt-copy.done{color:#3e7a2e;border-color:#3e7a2e66!important}.v2 .pt-lines{counter-reset:ln;font-family:var(--mono);animation:pt-fade .28s var(--ease);margin:0;padding:12px 0 16px;font-size:12px;line-height:1.8;list-style:none}.v2 .pt-lines li{counter-increment:ln;white-space:pre;text-overflow:ellipsis;min-height:1.8em;padding:0 12px 0 42px;position:relative;overflow:hidden}.v2 .pt-lines li:before{content:counter(ln);text-align:right;color:#c2b8a6;width:28px;position:absolute;left:0}.v2 .pt-lines li.dim{color:#6e6556}.v2 .pt-lines li.h{color:#a83412;font-weight:600}.v2 .pt-lines li.code{color:#4b4238}@keyframes pt-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.v2 .pt-qhead{letter-spacing:.5px;text-transform:uppercase;color:#4b4238;border-bottom:1px solid #e0d7c6;justify-content:space-between;align-items:center;padding:12px 16px;font-size:11px;font-weight:600;display:flex}.v2 .pt-qhead em{font-style:normal;font-family:var(--mono);text-transform:none;letter-spacing:0;color:#6e6556;background:#ece4d5;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.v2 .pt-queue ol{margin:0;padding:0;list-style:none}.v2 .pt-queue li{border-bottom:1px solid #eae2d3;transition:background-color .25s}.v2 .pt-queue li:last-child{border-bottom:0}.v2 .pt-queue li.on{background:#fbf5eb}.v2 .pt-qrow{grid-template-columns:22px minmax(0,1fr);gap:10px;width:100%;padding:12px 16px!important;display:grid!important}.v2 .pt-qrow:hover{background:#1b171406!important}.v2 .pt-rank{font-family:var(--mono);color:#a99f8e;padding-top:2px;font-size:12px}.v2 .pt-qmain{min-width:0;display:block}.v2 .pt-qtop{align-items:center;gap:6px;display:flex}.v2 .pt-sev{letter-spacing:.4px;text-transform:uppercase;border-radius:999px;flex:none;padding:2px 8px;font-size:10px;font-weight:600}.v2 .pt-sev.crit{color:#ad3017;background:#c1362029}.v2 .pt-sev.high{color:#a83412;background:#e8632c24}.v2 .pt-dim{color:#6e6556;font-size:11.5px}.v2 .pt-easy{letter-spacing:.4px;text-transform:uppercase;color:#3e7a2e;background:#3e7a2e1f;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.v2 .pt-qt{white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:13.5px;font-weight:500;line-height:1.35;display:block;overflow:hidden}.v2 .pt-loc{font-family:var(--mono);color:#6e6556;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;display:block;overflow:hidden}.v2 .pt-qact{animation:pt-fade .25s var(--ease);align-items:center;gap:8px;padding:0 16px 12px 48px;display:flex}.v2 .pt-eff{color:#6e6556;margin-right:auto;font-size:12px}.v2 .pt-btn{border-radius:7px;font-size:13px;font-weight:500;transition:background-color .2s,transform .12s;color:#a83412!important;background:#ab3f131a!important;border:1px solid #ab3f1352!important;padding:6px 14px!important}.v2 .pt-btn:hover{background:#ab3f1329!important}.v2 .pt-btn:active{transform:scale(.96)}.v2 .pt-btn.ghost{color:#4b4238!important;background:#fffdf9!important;border-color:#e0d7c6!important}.v2 .pt-state{border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}.v2 .pt-state.work{color:#a83412;background:#e8632c24}.v2 .pt-state.work i{border:2px solid #a8341240;border-top-color:#a83412;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite pt-spin}.v2 .pt-state.ready{color:#2f6a22;background:#e4ecd9}.v2 .pt-qgone{color:#6e6556;background:#f7f2ea;justify-content:space-between;align-items:center;padding:10px 16px 10px 48px;font-size:12.5px;display:flex}.v2 .pt-qgone button{font-weight:500;color:#a83412!important}@keyframes pt-spin{to{transform:rotate(360deg)}}.v2 .pt-term{color:#e9e1d2;font-family:var(--mono);background:#141210;font-size:12px}.v2 .pt-tbar{background:#1e1b18;border-bottom:1px solid #f0e8d814;align-items:center;gap:6px;height:30px;padding:0 8px 0 12px;display:flex}.v2 .pt-tbar i{background:#f0e8d82e;border-radius:50%;flex:none;width:9px;height:9px}.v2 .pt-tbar span{text-align:center;color:#f0e8d880;flex:1;font-size:10.5px}.v2 .pt-tbar button{border-radius:5px;font-size:11px;transition:background-color .2s;color:#f0e8d8!important;background:#f0e8d814!important;padding:3px 9px!important}.v2 .pt-tbar button:hover:not(:disabled){background:#f0e8d829!important}.v2 .pt-tbar button:disabled{opacity:.5}.v2 .pt-tbody{min-height:292px;padding:14px 18px 18px;line-height:1.85}.v2 .pt-cmd{color:#f0e8d8;margin-bottom:4px}.v2 .pt-cmd span{color:#f47a4f;margin-right:8px}.v2 .pt-ok{color:#f0e8d8c7;animation:pt-fade .22s var(--ease)}.v2 .pt-ok span{color:#8fbf7a;margin-right:10px}.v2 .pt-ok.more{color:#f0e8d8}.v2 .pt-run{color:#f0e8d8;align-items:center;gap:10px;display:flex}.v2 .pt-spin{border:2px solid #f0e8d833;border-top-color:#f47a4f;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite pt-spin}.v2 .pt-pr{color:#f47a4f;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;overflow:hidden}.v2 .pt-tact{gap:8px;margin-top:12px;display:flex}.v2 .pt-tact button{border-radius:6px;font-size:12px;transition:transform .12s,background-color .2s;color:#141210!important;background:#f0e8d8!important;padding:5px 12px!important}.v2 .pt-tact button:hover{background:#fff!important}.v2 .pt-tact button:active{transform:scale(.96)}.v2 .pt-tact button.ghost{box-shadow:inset 0 0 0 1px #f0e8d82e;color:#f0e8d8!important;background:#f0e8d814!important}.v2 .pt-verdict{color:#e9c46a;animation:pt-fade .25s var(--ease);margin-top:12px}.v2 .pt-verdict.ok{color:#8fbf7a}.v2 .pt-lbody{min-height:262px;padding:16px 18px 14px}.v2 .pt-lhead{justify-content:space-between;align-items:flex-start;display:flex}.v2 .pt-score{align-items:baseline;gap:6px;display:flex}.v2 .pt-score b{color:#a83412;font-variant-numeric:tabular-nums;font-size:44px;font-weight:600;line-height:1}.v2 .pt-score span{color:#6e6556;font-size:16px}.v2 .pt-score em{color:#3e7a2e;margin-left:4px;font-size:13px;font-style:normal;font-weight:600}.v2 .pt-runs{background:#f1eadd;border-radius:8px;gap:2px;padding:3px;display:flex}.v2 .pt-runs button{border-radius:6px;font-size:12px;font-weight:500;transition:background-color .2s,color .2s;color:#6e6556!important;padding:4px 10px!important}.v2 .pt-runs button.on{box-shadow:0 1px 2px #1b17141f;color:#1b1714!important;background:#fffdf9!important}.v2 .pt-spark{width:100%;height:64px;margin-top:12px;display:block}.v2 .pt-dots{justify-content:space-between;margin:-2px 0 0;padding:0 2px;display:flex}.v2 .pt-dots i{background:#fffdf9;border:2px solid #a83412;border-radius:50%;width:9px;height:9px;transition:background-color .25s,transform .25s}.v2 .pt-dots i.on{background:#a83412;transform:scale(1.25)}.v2 .pt-moved{border-top:1px solid #eae2d3;margin:12px 0 0;padding:0;list-style:none}.v2 .pt-moved li{border-bottom:1px solid #eae2d3}.v2 .pt-moved button{justify-content:space-between;width:100%;font-size:13px;transition:color .2s;padding:8px 2px!important;display:flex!important}.v2 .pt-moved button:hover{color:#a83412!important}.v2 .pt-moved em{font-style:normal;font-family:var(--mono);color:#6e6556}.v2 .pt-moved em b{color:#3e7a2e;font-weight:600}.v2 .pt-moved p{color:#4b4238;animation:pt-fade .22s var(--ease);margin:0 2px 8px;font-size:12.5px}.v2 .pt-gh{color:#1f2328;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}.v2 .pt-gh .pt-bar{background:#f6f8fa;border-bottom-color:#d8dee4}.v2 .pt-ghin{padding:16px 18px 18px}.v2 .pt-ghpr{border-bottom:1px solid #d8dee4;padding-bottom:12px;font-size:16px;font-weight:600;line-height:1.35}.v2 .pt-ghc{grid-template-columns:30px minmax(0,1fr);gap:10px;display:grid}.v2 .pt-ghav{color:#f0e8d8;background:#0c0b0a;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:grid}.v2 .pt-ghbox{border:1px solid #d0d7de;border-radius:6px;min-width:0;overflow:hidden}.v2 .pt-ghmeta{color:#656d76;background:#f6f8fa;border-bottom:1px solid #d0d7de;padding:8px 12px}.v2 .pt-ghmeta b{color:#1f2328}.v2 .pt-bot{border:1px solid #d0d7de;border-radius:999px;margin:0 4px;padding:0 6px;font-size:11px}.v2 .pt-ghbody{padding:10px 12px 12px}.v2 .pt-ghbody p{margin:4px 0 10px}.v2 .pt-ghfind{border-radius:6px;align-items:center;gap:8px;width:100%;transition:background-color .2s;border:1px solid #d8dee4!important;padding:8px 10px!important;display:flex!important}.v2 .pt-ghfind:hover{background:#f6f8fa!important}.v2 .pt-ghfind>span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.v2 .pt-chev{color:#656d76}.v2 .pt-diff{white-space:pre;animation:pt-fade .22s var(--ease);background:#f6f8fa;border-radius:6px;margin:8px 0 0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.7;overflow:hidden}.v2 .pt-diff .loc{color:#656d76}.v2 .pt-diff .del{color:#cf222e;background:#ffebe9;width:100%;display:inline-block}.v2 .pt-diff .add{color:#1a7f37;background:#dafbe1;width:100%;display:inline-block}.v2 .pt-ghcheck{color:#656d76;border:1px solid #d0d7de;border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.v2 .pt-ghcheck .ok{color:#1a7f37;font-weight:700}.v2 .pt-ghcheck b{color:#1f2328}.v2 .pt-ghcheck span:nth-of-type(2){flex:1}.v2 .pt-ghcheck button{font-weight:500;color:#0969da!important}.v2 .pt-ghcheck button:hover{text-decoration:underline}.v2 .pt-ghdet{color:#656d76;animation:pt-fade .22s var(--ease);background:#f6f8fa;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px}.v2 .pt-merge{border:1px solid #d0d7de;border-radius:6px;margin-top:14px;transition:border-color .3s}.v2 .pt-merge.merged{border-color:#8250df}.v2 .pt-mrow{animation:pt-fade .25s var(--ease);border-bottom:1px solid #d8dee4;grid-template-columns:22px 1fr;gap:10px;padding:12px 14px;display:grid}.v2 .pt-mrow b{font-weight:600}.v2 .pt-mrow p{color:#656d76;margin:2px 0 0;font-size:12.5px}.v2 .pt-mrow.ok span{color:#1a7f37;font-weight:700}.v2 .pt-mrow.wait span{color:#9a6700}.v2 .pt-mbtns{gap:8px;padding:12px 14px;display:flex}.v2 .pt-mbtn{border-radius:6px;font-size:13px;font-weight:600;transition:background-color .2s,transform .12s;box-shadow:inset 0 0 0 1px #d0d7de;color:#1f2328!important;background:#f6f8fa!important;padding:6px 14px!important}.v2 .pt-mbtn:hover:not(:disabled){background:#eef1f4!important}.v2 .pt-mbtn:active:not(:disabled){transform:scale(.97)}.v2 .pt-mbtn.merge{box-shadow:none;color:#fff!important;background:#1f883d!important}.v2 .pt-mbtn.merge:hover:not(:disabled){background:#1a7f37!important}.v2 .pt-mbtn.merge:disabled{background:#94d3a2!important}.v2 .pt-mdone{color:#8250df;animation:pt-fade .25s var(--ease);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.v2 .pt-mdone button{font-size:12.5px;font-weight:500;color:#0969da!important}@media (prefers-reduced-motion:reduce){.v2 .pf-tile *,.v2 .pf-tile :before{transition:none!important;animation:none!important}}@media (max-width:640px){.v2 .pf-tile{padding:14px}.v2 .pt-ed{grid-template-columns:1fr}.v2 .pt-tree{border-bottom:1px solid #e0d7c6;border-right:0;flex-wrap:wrap;display:flex}.v2 .pt-tree li{padding-left:0!important}.v2 .pt-tree li>span{display:none}}
