/* The rules of the app's console.css and tools.css that the glossary, API docs and AI Visibility Index use, re-themed and scoped under .pv. Built by build/preserve.py. */
.pv a, .pv button, .pv input, .pv select, .pv .clickable, .pv .nav a, .pv .tool, .pv .vcard.click, .pv tr[data-click]{ transition: background .2s ease, border-color .2s ease, color .18s ease, box-shadow .24s ease, transform .22s cubic-bezier(.2,.7,.2,1), filter .18s ease; }
.pv .pa-btn{ display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 16px; border-radius: var(--r-sm); font-weight: 600; font-size: var(--text-base); border: 1px solid transparent; cursor: pointer; font-family: inherit; line-height: 1; }
.pv .pa-btn[hidden]{ display: none; }
.pv .pa-btn-primary{ background: var(--accent-grad); color: var(--on-accent-strong); box-shadow: 0 8px 18px -8px rgba(var(--accent-rgb),.5); }
.pv .pa-btn-primary:hover{ filter: brightness(1.04); color: var(--on-accent-strong); }
.pv .pa-btn[disabled]{ opacity: .5; cursor: not-allowed; }
.pv .pa-btn svg{ display: block; }
.pv .msg{ margin-top: 12px; padding: 10px 12px; border-radius: 9px; font-size: var(--text-base); display: none; }
.pv .msg.error{ background: var(--danger-bg); color: var(--danger); display: block; }
.pv .muted{ color: var(--muted); }
.pv .pa-wrap{ max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.pv .pa-hero{ background: var(--canvas); padding: 84px 0 56px; }
.pv .pa-hero h1{ font-family: var(--display); font-size: 2.9rem; letter-spacing: -0.03em; margin: 0 0 16px; color: var(--ink); }
.pv .pa-hero p.pa-lead{ font-size: 1.2rem; color: var(--muted); max-width: 60ch; margin: 0 0 26px; line-height: 1.5; }
.pv section.pa-band{ padding: 52px 0; }
.pv section.pa-band h2{ font-family: var(--display); font-size: 1.9rem; letter-spacing: -0.02em; margin: 0 0 22px; }
.pv .nav{ display: flex; flex-direction: column; gap: 2px; }
.pv .nav a{ display: flex; align-items: center; gap: 11px; padding: 9px 10px; border-radius: 9px; font-size: var(--text-md); font-weight: 500; color: var(--body); cursor: pointer; }
.pv .nav a svg{ width: 17px; height: 17px; flex: none; stroke: var(--muted); fill: none; }
.pv .nav a:hover{ background: var(--wash-hover); }
.pv .bar{ display: flex; align-items: center; gap: 12px; }
.pv .vtable{ width: 100%; border-collapse: collapse; font-size: var(--text-md); }
.pv .vtable th{ text-align: left; padding: 12px 14px; font-size: var(--text-xs); letter-spacing: .05em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); background: var(--sidebar); font-weight: 700; }
.pv .vtable th:first-child, .pv .vtable td:first-child{ padding-left: 20px; }
.pv .vtable th:last-child, .pv .vtable td:last-child{ padding-right: 20px; }
.pv .vtable th.r, .pv .vtable td.r{ text-align: right; }
.pv .vtable td{ padding: 13px 14px; border-bottom: 1px solid var(--line-light); color: var(--body); }
.pv .vtable tr[data-click]{ cursor: pointer; }
.pv .vtable tbody tr:hover{ background: var(--wash-hover); }
.pv .pm{ position: relative; margin-left: auto; flex: none; }
@media (max-width: 560px){.pv .pm{ margin-left: 0; width: 100%; }}
.pv .g2{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pv .g3{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pv [data-count], .pv .kpi .val, .pv .kpi .valrow > span:first-child, .pv .statcard .num, .pv .metric-val, .pv .bar .val, .pv .pl-vd, .pv .vtable td.r, .pv .ap-bar b{ font-variant-numeric: tabular-nums; }
.pv .pl-row:focus-visible, .pv .nav a:focus-visible{ outline-offset: -2px; }
.pv .pa-btn:active:not([disabled]){ transform: translateY(0) scaleX(.985) scaleY(.955); }
.pv .pa-btn-primary{ transition: filter .18s ease, transform .2s var(--ease-spring), box-shadow .24s ease; }
.pv .pa-btn-primary:hover{ box-shadow: 0 12px 24px -10px rgba(var(--accent-rgb),.62); transform: translateY(-1px); }
.pv .nav a svg{ transition: transform .24s var(--ease-spring); }
.pv .nav a:hover svg{ transform: translateX(1px) scale(1.06); }
@media (prefers-reduced-motion: reduce){.pv .vcard.click:hover, .pv .tool:hover, .pv .kpi.drillable:hover, .pv .statcard.drillable:hover, .pv .pa-btn-primary:hover{ transform: none; } .pv .v2-btn:hover, .pv .v2-btn:focus-visible, .pv .v2-btn:active, .pv .pa-btn:hover, .pv .pa-btn:focus-visible, .pv .pa-btn:active, .pv .btn-ghost:hover, .pv .btn-ghost:focus-visible, .pv .btn-dark:hover, .pv .btn-dark:focus-visible, .pv .chip-add:active, .pv #bp-market-chips .chip .x:active, .pv .iconbtn:active, .pv .chip:active, .pv .imp-fig:hover, .pv .imp-fig:active{ transform: none !important; } .pv .v2-btn-primary:hover::before, .pv .v2-btn-primary:focus-visible::before, .pv .pa-btn-primary:hover::before, .pv .pa-btn-primary:focus-visible::before{ animation: none !important; opacity: 1; }}
@media (max-width: 900px){.pv .g2, .pv .g3{ grid-template-columns: 1fr !important; } .pv .g2 > *, .pv .g3 > *{ min-width: 0; }}
@media (max-width: 620px){.pv .pa-hero h1{ font-size: 2.1rem; }}
.pv .pa-band{ margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line-light); }
@media print{.pv .insight-note, .pv .dnote, .pv .faint, .pv .muted, .pv .v2-rep-read .nt, .pv .v2-rep-stand .nt, .pv .v2-rep-cite .bs, .pv .v2-rep-memo .bs, .pv .v2-rep-foot .mn, .pv .v2-rep-coverr .mn, .pv .v2-rep-sechd .l, .pv .v2-rep-sechd .m, .pv .v2-rep-sumrow .k, .pv .v2-rep-engnote, .pv .v2-rep-claim .nt, .pv .v2-rep-claim .eng, .pv .v2-rep-did .mt, .pv .v2-rep-tnote, .pv .v2-rep-tcell .lb, .pv .v2-rep-tcell .nt, .pv .v2-rep-res, .pv .v2-rep-fieldnote, .pv .v2-rep-written, .pv .v2-rep-lead, .pv .v2-rep-did > .ti i, .pv .v2-rep-did > .ef i, .pv .v2-rep-did > .st, .pv .v2-rep-phr td.off{ color: #444 !important; }}
.pv [data-row]:where(:not(.v2-btn-primary, .pv .v2-btn-danger, .pv .pa-btn-primary, .pv .imp-set)):hover, .pv [data-row]:where(:not(.v2-btn-primary, .pv .v2-btn-danger, .pv .pa-btn-primary, .pv .imp-set)):focus-visible{ background: var(--wash-hover); }
.pv [data-row]:where(.v2-btn-primary, .pv .v2-btn-danger, .pv .pa-btn-primary, .pv .imp-set):focus-visible{ outline-offset: 2px; }
.pv .pa-btn-primary{ position: relative; }
.pv .v2-btn-primary::before, .pv .pa-btn-primary::before{ content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: conic-gradient(from var(--mb-seam-ang), transparent 0 42%, color-mix(in srgb, var(--mb-sheen) 55%, transparent) 48%, var(--mb-sheen) 52%, color-mix(in srgb, var(--mb-sheen) 55%, transparent) 56%, transparent 62% 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; opacity: 0; transition: opacity .2s ease; pointer-events: none; }
.pv .v2-btn-primary:hover::before, .pv .v2-btn-primary:focus-visible::before, .pv .pa-btn-primary:hover::before, .pv .pa-btn-primary:focus-visible::before{ opacity: 1; animation: mbSeam 2.4s linear infinite; }
.pv .pa-btn-primary[disabled]::before, .pv .pa-btn-primary[aria-disabled="true"]::before, .pv .pa-btn-primary.is-running::before{ opacity: 0; animation: none; }
.pv [data-row][data-drills=""]:where(:not(.v2-btn-primary, .pv .v2-btn-danger, .pv .pa-btn-primary, .pv .imp-set)):hover, .pv [data-row][data-drills=""]:where(:not(.v2-btn-primary, .pv .v2-btn-danger, .pv .pa-btn-primary, .pv .imp-set)):focus-visible{ color: var(--body); }
.pv .v2-evlink, .pv table.vtable th.r, .pv table.vtable td.r > .pill{ position: relative; }
.pv table.vtable{ border-collapse: collapse; width: 100%; }
.pv .view.view :is(.abs, .pv .cw, .pv .cv, .pv .ck, .pv .k, .pv .lbl, .pv .clbl, .pv .wlbl, .pv .rt, .pv .tag, .pv .note, .pv .age, .pv .hint, .pv .cap, .pv .mo, .pv .m, .pv .w, .pv .share, .pv .v2-su-abs, .pv .v2-rv-grain, .pv .v2-pf-slots, .pv .v2-pl-glbl, .pv .v2-pl-legend, .pv .v2-pl-tag, .pv .v2-pl-vd, .pv .v2-cmp-glabel, .pv .v2-cmp-pkind, .pv .v2-cmp-raillbl, .pv .v2-src-glabel, .pv .v2-src-pkind, .pv .v2-ct-pkind, .pv .v2-pf-glabel, .pv .v2-pf-pkind, .pv .cell, .pv .share){ font-family: var(--sans); letter-spacing: 0; }
.pv .v2-rail-quick .v2-agpbtn :is(.t, .pv .k){ display: none; }
.pv .pa-wrap{ max-width: 1240px; padding: 0 30px; }
.pv .pa-hero{ position: relative; overflow: hidden; background: #FAFBFC; }
.pv .pa-hero::before{ content: ""; position: absolute; top: -170px; right: -130px; width: 580px; height: 580px; background: radial-gradient(circle, rgba(236,107,76,.10), transparent 66%); filter: blur(26px); pointer-events: none; }
.pv .pa-hero .pa-wrap{ position: relative; }
.pv .pa-hero p.pa-lead{ color: #404248; }
.pv section.pa-band{ background: transparent; }
.pv{--mk-display:Gabarito,GabaritoFB,GabaritoFBR,"Albert Sans",AlbertSansFB,AlbertSansFBR,system-ui,sans-serif;font-family:var(--body);background:transparent;color:var(--ink)}.pv .mk-blob{display:none}.pv-cap{margin:22px 0 0;max-width:560px;font-size:15px;line-height:1.55;color:var(--muted)}.pv a.btn.solid,.pv a.btn.solid:hover{color:#fff}.pv{--mk-accent-text:var(--ink)}.pv :is(p,li,td,dd,figcaption) a:not(.btn):not(.mk-btn){color:var(--ink);font-weight:600;text-decoration:none;background-image:radial-gradient(circle,var(--dot-deep) 1.1px,transparent 1.5px);background-size:5px 3px;background-repeat:repeat-x;background-position:0 100%;padding-bottom:2px}.pv :is(p,li,td,dd,figcaption) a:not(.btn):not(.mk-btn):hover{background-image:linear-gradient(var(--ink),var(--ink));background-size:100% 1.5px}.pv .mk-arrow{color:var(--ink);font-weight:700}.pv .pa-btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r-pill);padding:11px 18px;font:600 14.5px/1 var(--body);border:1px solid var(--line2);background:#fff;color:var(--ink);cursor:pointer}.pv .pa-btn.pa-btn-primary,.pv a.pa-btn.pa-btn-primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}.pv .mk-hero-grid:has(> .pv-cap){grid-template-columns:minmax(0,1fr);max-width:760px}.pv code,.pv pre,.pv kbd{font-family:var(--code)}.pv details:not(.mk-faq){border-bottom:1px solid var(--line);padding:14px 0}.pv details:not(.mk-faq)>summary{cursor:pointer;font-weight:600;list-style-position:outside}.pv details:not(.mk-faq)[open]>summary{margin-bottom:8px}
