.landing .fp-hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}@media (width<=960px){.landing .fp-hero-grid{grid-template-columns:1fr;gap:36px}}.landing .fp-stage{background:var(--s2);border:1px solid var(--bd);box-shadow:var(--shadow-lg);border-radius:14px;padding:20px;overflow:hidden}.landing .fp-cap{font-family:var(--mono);color:var(--tx4);text-align:center;margin-top:12px;font-size:10.5px;line-height:1.5}.landing .fp-svg{width:100%;height:auto;display:block}.landing .fp-svg .box{fill:var(--s3);stroke:var(--bd2);stroke-width:1px}.landing .fp-svg .box.ac{fill:var(--ac2);stroke:var(--ac)}.landing .fp-svg .lbl{font-family:var(--mono);letter-spacing:.09em;fill:var(--tx4);font-size:8px}.landing .fp-svg .ttl{font-family:var(--sans);fill:var(--tx);font-size:12px;font-weight:600}.landing .fp-svg .sub{font-family:var(--mono);fill:var(--tx4);font-size:8.5px}.landing .fp-svg .accent{fill:var(--ac)}.landing .fp-svg .wire{fill:none;stroke:var(--bd3);stroke-width:1.2px}.landing .fp-svg .wire.ac{stroke:var(--ac)}.landing .fp-svg .wire.ok{stroke:var(--green)}.landing .fp-svg .wire.dash{stroke-dasharray:3 4}.landing .fp-svg .head{fill:var(--bd3)}.landing .fp-svg .head.ac{fill:var(--ac)}.landing .fp-svg .head.ok{fill:var(--green)}.landing .fp-svg .lbl.on{fill:var(--ac)}.landing .fp-svg .ring{fill:none;stroke:var(--bd3);stroke-width:1px;stroke-dasharray:3 5}.landing .fp-svg .ring.on{stroke:var(--ac)}.landing .fp-svg .dot{fill:var(--teal)}.landing .fp-svg .dot.b{fill:var(--blue)}.landing .fp-svg .dot.p{fill:var(--purple)}.landing .fp-svg .dot.q{fill:var(--tx4)}.landing .fp-crumb{font-family:var(--mono);color:var(--tx4);align-items:center;gap:8px;font-size:9.5px;display:flex}.landing .fp-spec-title{font-family:var(--sans);letter-spacing:-.02em;color:var(--tx);margin-top:9px;font-size:17px;font-weight:700}.landing .fp-spec-h{font-family:var(--sans);color:var(--tx);margin-top:18px;font-size:12px;font-weight:600}.landing .fp-spec-p{color:var(--tx3);margin-top:7px;font-size:12.5px;line-height:1.7}.landing .fp-cite{font-family:var(--mono);color:var(--tx3);background:var(--s3);border:1px solid var(--bd2);vertical-align:1px;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;margin:0 2px;padding:1px 8px;font-size:9px;display:inline-flex}.landing .fp-cite:before{content:"";background:var(--teal);border-radius:50%;width:5px;height:5px}.landing .fp-ai{background:var(--ac2);border-left:2px solid var(--ac);border-radius:0 8px 8px 0;margin-top:14px;padding:10px 14px}.landing .fp-ai-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ac);margin-bottom:6px;font-size:8.5px;font-weight:500}.landing .fp-ai-text{font-family:var(--mono);color:var(--tx);font-size:11px;line-height:1.7}.landing .fp-ai-text .fn{color:var(--teal)}.landing .fp-ac{color:var(--tx3);align-items:flex-start;gap:9px;padding:5px 0;font-size:12px;line-height:1.5;display:flex}.landing .fp-ac i{background:var(--ac);border-radius:4px;flex:none;place-items:center;width:14px;height:14px;margin-top:1px;display:grid}.landing .fp-ac i svg{width:9px;height:9px;stroke:var(--bg-0);stroke-width:2.2px;fill:none;stroke-linecap:round;stroke-linejoin:round}.landing .fp-diff-hd{font-family:var(--mono);color:var(--tx3);border-bottom:1px solid var(--bd);flex-wrap:wrap;align-items:center;gap:9px;padding-bottom:12px;font-size:10px;display:flex}.landing .fp-code{font-family:var(--mono);margin-top:12px;font-size:10.5px;line-height:1.85;overflow-x:auto}.landing .fp-ln{white-space:pre;color:var(--tx4);border-radius:4px;padding:0 8px;display:block}.landing .fp-ln.add{background:var(--green-m);color:var(--green)}.landing .fp-ln.del{background:var(--coral-m);color:var(--coral)}.landing .fp-flag{border-left:2px solid var(--coral);background:var(--coral-m);border-radius:0 8px 8px 0;margin-top:14px;padding:10px 14px}.landing .fp-flag b{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--coral);margin-bottom:5px;font-size:8.5px;font-weight:500;display:block}.landing .fp-flag span{color:var(--tx3);font-size:12px;line-height:1.6}.landing .fp-kb{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (width<=700px){.landing .fp-kb{grid-template-columns:repeat(2,minmax(0,1fr))}}.landing .fp-kcol{background:var(--s1);border:1px solid var(--bd);border-radius:10px;min-width:0;padding:8px}.landing .fp-kcol-h{font-family:var(--sans);color:var(--tx3);align-items:center;gap:6px;padding:2px 2px 8px;font-size:10.5px;font-weight:600;display:flex}.landing .fp-kdot{background:var(--tx4);border-radius:50%;flex:none;width:6px;height:6px}.landing .fp-kdot.ip{background:var(--blue)}.landing .fp-kdot.rw{background:var(--purple)}.landing .fp-kdot.sh{background:var(--green)}.landing .fp-kcard{background:var(--s3);border:1px solid var(--bd);border-radius:8px;margin-top:7px;padding:8px 9px}.landing .fp-kcard.flag{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral-m)}.landing .fp-kid{font-family:var(--mono);color:var(--tx4);font-size:8.5px}.landing .fp-kt{color:var(--tx);margin-top:2px;font-size:11px;font-weight:500;line-height:1.35}.landing .fp-ktag{font-family:var(--mono);background:var(--s4);color:var(--tx3);border-radius:999px;margin-top:7px;padding:1px 7px;font-size:8px;display:inline-block}.landing .fp-ktag.dr{background:var(--coral-m);color:var(--coral)}.landing .fp-ktag.gr{background:var(--green-m);color:var(--green)}.landing .fp-hook{font-family:var(--mono);color:var(--tx3);background:var(--s1);border:1px solid var(--bd);border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:10px;display:flex}.landing .fp-hook i{background:var(--green);border-radius:50%;flex:none;width:6px;height:6px;animation:2.4s ease-in-out infinite pulse}.landing .fp-num{background:var(--ac2);border:1px solid var(--bd);width:22px;height:22px;color:var(--ac);font-family:var(--mono);border-radius:7px;justify-content:center;align-items:center;margin-bottom:12px;font-size:10px;font-weight:500;display:inline-flex}.landing .fp-xhead{align-items:center;gap:10px;margin-bottom:8px;display:flex}.landing .fp-xhead .mkt-h3{margin-bottom:0}.landing .fp-xicon{background:var(--ac2);border:1px solid var(--bd);width:28px;height:28px;color:var(--ac);border-radius:8px;flex:none;place-items:center;transition:background .25s,border-color .25s;display:grid}.landing a.mkt-card:hover .fp-xicon{background:var(--ac3);border-color:var(--ac)}
