/* Classes for content that was styled with style="" attributes.
 *
 * Every page sends a CSP with style-src 'self' and no 'unsafe-inline', so
 * browsers dropped those attributes and none of that styling applied. The
 * ar-* rules are for the research and article pages, tl-* for tools and
 * admin pages; the rest are named after the component they style.
 *
 * An inline declaration outranks every selector, so a plain class here would
 * lose to rules such as `.legal-content p` that the inline styles used to
 * override. !important restores that precedence. Nothing the page scripts
 * write through the CSSOM is declared here with it: `display` goes through
 * data-start-hidden below, computed colours arrive as custom properties, and
 * the analytics canvases, which their scripts size and give a cursor, keep
 * those declarations normal. */

/* Start hidden until js/start-hidden.js moves this into an inline
   declaration the page scripts can clear. */
[data-start-hidden] {
    display: none !important;
}

.ar-verdict-note {
    font-size: .92em !important;
    opacity: .85 !important;
}
.ar-risk-note {
    margin-top: .6em !important;
    font-size: .92em !important;
    opacity: .85 !important;
}
.ar-gap-xl {
    margin-top: 2rem !important;
}
.tl-ref-subtitle {
    margin-top: 1.2rem !important;
}
.tl-globe-tooltip {
    position: absolute !important;
    pointer-events: none !important;
}
.tl-globe-canvas {
    display: block !important;
    width: 100%;
    height: 100%;
    cursor: grab;
}
.tl-globe-wrap {
    position: relative !important;
}
.tl-heatmap-canvas {
    width: 100%;
    height: 120px;
    display: block !important;
}
.ar-verdict-list {
    margin: 0.5rem 0 0 1.2rem !important;
    line-height: 1.7 !important;
}
.ar-research-link {
    color: inherit !important;
    opacity: 0.7 !important;
    font-size: 0.88rem !important;
}
.tl-submission-count {
    margin-top: 12px !important;
    color: #555 !important;
    font-size: 12px !important;
}
.tl-page-ref {
    margin-top: 3px !important;
}
.tl-empty-value {
    color: #555 !important;
}
.tl-filter-label {
    font-size: 12px !important;
    color: #666 !important;
}
.ar-home-research-wrap {
    padding-bottom: 0 !important;
}
.ar-home-research-intro {
    text-align: center !important;
    max-width: 730px !important;
    margin: 0 auto 10px !important;
    color: var(--pdf-text-dim,#a89070) !important;
    line-height: 1.6 !important;
    font-size: 15px !important;
}
.ar-orange {
    color: #ff8c00 !important;
}
.ar-outlook-warning {
    border-color: #ff6b35 !important;
    margin-top: 10px !important;
}
.ar-outlook-chips {
    margin-top: 26px !important;
}
.ar-repro-note {
    margin-top: 0.75rem !important;
    font-size: 0.88rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-cta-link {
    font-size: 1.05rem !important;
    font-weight: 600 !important;
}
.ar-gap-xs {
    margin-top: 0.5rem !important;
}
.ar-gap {
    margin-top: 1rem !important;
}
.ar-cite-kind {
    font-size: 0.85em !important;
    opacity: 0.65 !important;
}
.ar-refs-list {
    padding-left: 1.4rem !important;
    line-height: 1.85 !important;
    font-size: 0.93rem !important;
}
.ar-refs-note {
    margin-top: 0 !important;
    margin-bottom: 0.6rem !important;
    font-size: 0.82rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-gap-sm {
    margin-top: 0.75rem !important;
}
.ar-ref-mark {
    font-size: 0.8em !important;
}
.ar-scope-list {
    margin-top: 0.6rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.85 !important;
}
.ar-diagram-sm {
    width: 100% !important;
    max-width: 680px !important;
    display: block !important;
    background: #06090f !important;
    border: 1px solid rgba(255,140,0,0.18) !important;
    border-radius: 10px !important;
    padding: 4px !important;
}
.ar-figure-title {
    font-size: 0.78rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--legal-primary) !important;
    margin-bottom: 0.6rem !important;
    font-weight: 700 !important;
}
.ar-pipeline-figure {
    margin: 0.25rem 0 1.75rem !important;
    padding: 0 !important;
}
.ar-reading-note {
    margin-top: 0.75rem !important;
    font-size: 0.9rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-source-note {
    font-size: 0.82rem !important;
    opacity: 0.7 !important;
}
.ar-total-row {
    border-top: 2px solid var(--legal-border) !important;
}
.ar-method-heading-lg {
    margin-top: 1.75rem !important;
    font-size: 1rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-checks-list {
    margin-top: 0.75rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.85 !important;
    font-size: 0.95rem !important;
}
.ar-method-heading {
    margin-top: 1.5rem !important;
    font-size: 1rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-demo-text {
    margin-top: 0.4rem !important;
    line-height: 1.65 !important;
}
.ar-demo-box {
    margin-top: 0.75rem !important;
    padding: 1.25rem 1.5rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
}
.ar-demo-box-alt {
    margin-top: 1rem !important;
    padding: 1.25rem 1.5rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
}
.ar-example-aside {
    margin-top: 0.6rem !important;
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
    color: var(--legal-text-dim) !important;
}
.ar-example-steps {
    margin-top: 0.6rem !important;
    padding-left: 1.3rem !important;
    line-height: 1.9 !important;
    font-size: 0.92rem !important;
}
.ar-example-text {
    margin-top: 0.5rem !important;
    font-size: 0.93rem !important;
    line-height: 1.7 !important;
}
.ar-example-label {
    font-size: 0.8rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(220,100,80,0.9) !important;
}
.ar-example-box {
    margin-top: 1.25rem !important;
    padding: 1.25rem 1.5rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid rgba(220,80,60,0.65) !important;
}
.ar-box-text-next {
    margin-top: 0.6rem !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}
.ar-box-text {
    margin-top: 0.5rem !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}
.ar-box-label {
    font-size: 0.8rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--legal-primary) !important;
}
.ar-ai-adds-box {
    margin-top: 1.25rem !important;
    padding: 1.25rem 1.5rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid var(--legal-accent, #e67e22) !important;
}
.ar-figure-top {
    margin: 1.5rem 0 0 !important;
    padding: 0 !important;
}
.ar-toc-list {
    margin-top: 0.6rem !important;
    padding-left: 1.2rem !important;
    line-height: 1.9 !important;
    font-size: 0.92rem !important;
}
.ar-toc-section {
    padding: 1.25rem 1.75rem !important;
}
.ar-accent {
    color: var(--legal-primary) !important;
}
.ar-companion-text {
    margin: 0 !important;
    font-size: 0.97rem !important;
    line-height: 1.6 !important;
}
.ar-companion {
    border-left: 3px solid var(--legal-primary) !important;
}
.ar-companion-lead {
    margin: 0 0 1.5rem !important;
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
    color: var(--legal-text-dim) !important;
    border-left: 3px solid var(--legal-primary) !important;
    padding-left: 1rem !important;
}
.ar-audience-chip {
    background: var(--legal-surface-alt) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: 6px !important;
    padding: 0.3rem 0.7rem !important;
    font-size: 0.88rem !important;
}
.ar-audience-label {
    width: 100% !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--legal-primary) !important;
    margin-bottom: 0.15rem !important;
}
.ar-audience {
    margin-top: 1.25rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}
.ar-summary-list {
    margin-top: 0.6rem !important;
    margin-left: 0 !important;
    padding-left: 1.1rem !important;
    line-height: 1.75 !important;
    font-size: 0.95rem !important;
}
.ar-summary-box {
    margin-top: 1.25rem !important;
    padding: 1.75rem 2rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid var(--legal-primary) !important;
}
.ar-lead {
    margin-top: 1rem !important;
    font-size: 1.1rem !important;
    color: var(--legal-text) !important;
    line-height: 1.6 !important;
}
.ar-thesis-sm {
    margin-top: 1rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--legal-text) !important;
    line-height: 1.55 !important;
    border-left: 3px solid var(--legal-primary) !important;
    padding-left: 1rem !important;
}
.ar-subtitle {
    margin-top: 0.4rem !important;
    font-size: 0.95rem !important;
    color: var(--legal-text-dim) !important;
    letter-spacing: 0.02em !important;
}
.ar-gap-md {
    margin-top: 1.25rem !important;
}
.ar-related-list {
    margin-top: 0.6rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.95 !important;
}
.ar-ci {
    opacity: 0.65 !important;
}
.ar-limits-list {
    margin-top: 0.6rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.8 !important;
}
.ar-table-caption {
    caption-side: top !important;
    text-align: left !important;
    font-size: 0.85rem !important;
    color: var(--legal-text-dim) !important;
    padding-bottom: 0.4rem !important;
}
.ar-subsection-heading {
    margin-top: 1.5rem !important;
    font-size: 1.05rem !important;
    color: var(--legal-text) !important;
}
.ar-audience-list {
    margin-top: 0.4rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.8 !important;
    font-size: 0.95rem !important;
}
.ar-vector-columns {
    margin-top: 0.4rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.7 !important;
    font-size: 0.93rem !important;
    columns: 2 !important;
    column-gap: 2rem !important;
}
.ar-gating-heading {
    margin-top: 1.3rem !important;
}
.ar-aside-note {
    font-size: 0.9rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-hardening-list {
    margin-top: 0.5rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.7 !important;
    font-size: 0.92rem !important;
}
.ar-cell-tight {
    padding: 0.35rem 0.5rem !important;
}
.ar-gating-head {
    padding: 0.4rem 0.5rem !important;
}
.ar-band-head-row {
    border-bottom: 2px solid var(--legal-border) !important;
    text-align: left !important;
}
.ar-gating-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0.75rem 0 !important;
    font-size: 0.85rem !important;
}
.ar-gating-text {
    font-size: 0.92rem !important;
}
.ar-band-cell {
    padding: 0.35rem 0.6rem !important;
}
.ar-band-head {
    padding: 0.4rem 0.6rem !important;
}
.ar-band-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 1rem 0 !important;
    font-size: 0.9rem !important;
}
.ar-score-caveat {
    margin-top: 0.5rem !important;
    font-size: 0.9rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-verdict-caption {
    font-size: 0.82rem !important;
    color: var(--legal-text-dim) !important;
    margin-top: 0.5rem !important;
    line-height: 1.5 !important;
}
.ar-verdict-figure {
    margin: 1.25rem 0 0.5rem !important;
    padding: 0 !important;
}
.ar-toc-list-lg {
    margin-top: 0.6rem !important;
    margin-bottom: 0 !important;
    padding-left: 1.3rem !important;
    line-height: 1.9 !important;
    font-size: 0.95rem !important;
}
.ar-lead-sm {
    margin-top: 1rem !important;
    font-size: 1.05rem !important;
    color: var(--legal-text) !important;
    line-height: 1.6 !important;
}
.ar-thesis {
    margin-top: 1rem !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: var(--legal-text) !important;
    line-height: 1.6 !important;
    border-left: 3px solid var(--legal-primary) !important;
    padding-left: 1rem !important;
}
.ar-refs-list-plain {
    line-height: 1.8 !important;
    padding-left: 1.25rem !important;
}
.ar-gap-lg {
    margin-top: 1.5rem !important;
}
.ar-faq-first {
    margin-top: 0 !important;
}
.ar-dense-list {
    margin-top: 0.5rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.8 !important;
}
.ar-finding-heading {
    margin-top: 1.75rem !important;
}
.ar-behaviour-note {
    margin-top: 0.75rem !important;
    padding: 0.75rem 1rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
    border-left: 3px solid var(--legal-accent) !important;
}
.ar-scope-text-next {
    margin-top: 0.6rem !important;
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
}
.ar-scope-text {
    margin-top: 0.4rem !important;
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
}
.ar-scope-label {
    font-size: 0.85rem !important;
    color: #f59e0b !important;
}
.ar-scope-box {
    margin-top: 1.25rem !important;
    padding: 1.25rem 1.5rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid #f59e0b !important;
}
.ar-code-block {
    margin-top: 0.75rem !important;
    padding: 1rem 1.25rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    font-size: 0.88rem !important;
    overflow-x: auto !important;
}
.ar-method-list {
    margin-top: 0.5rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.9 !important;
    font-size: 0.95rem !important;
}
.ar-version-note {
    font-weight: normal !important;
    font-size: 0.82rem !important;
}
.ar-finding-pre {
    margin-top: 0.5rem !important;
    padding: 1rem 1.25rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    font-size: 0.83rem !important;
    overflow-x: auto !important;
    line-height: 1.55 !important;
}
.ar-finding-count {
    font-size: 0.82rem !important;
}
.ar-clean {
    color: #86efac !important;
}
.ar-advisory-note {
    font-size: 0.82rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-suspicious {
    color: #fb923c !important;
}
.ar-score-note-next {
    margin-top: 0.6rem !important;
    font-size: 0.9rem !important;
    color: var(--legal-text-dim) !important;
    line-height: 1.65 !important;
}
.ar-score-note {
    margin-top: 0.75rem !important;
    font-size: 0.9rem !important;
    color: var(--legal-text-dim) !important;
    line-height: 1.65 !important;
}
.ar-toc-nav-list {
    margin-top: 0.75rem !important;
    padding-left: 1.25rem !important;
    line-height: 2.1 !important;
    font-size: 0.88rem !important;
}
.ar-toc-label {
    font-size: 0.78rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--legal-primary) !important;
}
.ar-toc-nav {
    margin-bottom: 2.5rem !important;
    padding: 1.25rem 1.5rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
}
.ar-breadcrumb-sep {
    opacity: 0.45 !important;
}
.ar-breadcrumb-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
    align-items: center !important;
}
.ar-breadcrumb {
    margin-bottom: 1.5rem !important;
    font-size: 0.85rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-scan-cta-button {
    display: inline-block !important;
    padding: 0.7rem 1.6rem !important;
    background: #ff8c00 !important;
    color: #0a0a0a !important;
    font-weight: 700 !important;
    font-size: 0.98rem !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    letter-spacing: 0.01em !important;
}
.ar-scan-cta-text {
    margin: 0 0 1rem !important;
    font-size: 0.92rem !important;
    color: var(--legal-text-dim) !important;
    line-height: 1.5 !important;
}
.ar-scan-cta-title {
    margin: 0 0 0.35rem !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    color: var(--legal-primary) !important;
}
.ar-scan-cta {
    margin-top: 1.5rem !important;
    padding: 1.4rem 1.5rem !important;
    text-align: center !important;
    border: 1px solid rgba(255,140,0,0.35) !important;
    border-radius: 12px !important;
    background: rgba(255,140,0,0.06) !important;
}
.ar-see-also {
    font-size: 0.95rem !important;
}
.ar-diagram-narrow {
    width: 100% !important;
    max-width: 560px !important;
    display: block !important;
    margin: 0 auto !important;
    background: #06090f !important;
    border: 1px solid rgba(255,140,0,0.18) !important;
    border-radius: 10px !important;
    padding: 6px !important;
}
.ar-byte-figure {
    margin: 1rem 0 !important;
}
.ar-figcaption {
    font-size: 0.82rem !important;
    color: var(--legal-text-dim) !important;
    text-align: center !important;
    margin-top: 0.5rem !important;
}
.ar-diagram {
    width: 100% !important;
    max-width: 720px !important;
    display: block !important;
    margin: 0 auto !important;
    background: #06090f !important;
    border: 1px solid rgba(255,140,0,0.18) !important;
    border-radius: 10px !important;
    padding: 6px !important;
}
.ar-figure {
    margin: 1.25rem 0 0.5rem !important;
}
.ar-deep-dive-note {
    margin-bottom: 0 !important;
    font-size: 0.9rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-heading-icon {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}
.ar-summary-accent {
    border-left: 4px solid #ff8c00 !important;
}
.ar-example-aside-text {
    margin: 0 !important;
    font-size: 0.94rem !important;
    line-height: 1.55 !important;
}
.ar-example-aside-box {
    margin: 1.1rem 0 !important;
    padding: 0.9rem 1.15rem !important;
    border-left: 3px solid rgba(255,140,0,0.6) !important;
    background: rgba(255,140,0,0.05) !important;
    border-radius: 0 8px 8px 0 !important;
}
.ar-summary-text {
    font-size: 1.02rem !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}
.ar-subtitle-lg {
    margin-top: 0.4rem !important;
    font-size: 1rem !important;
    color: var(--legal-text-dim) !important;
    letter-spacing: 0.01em !important;
    line-height: 1.55 !important;
}
.ar-verdict-axes {
    margin: 0 0 1em 1.2em !important;
}
.ar-inline-link {
    color: inherit !important;
    text-decoration: underline !important;
}
.ar-hero-tagline {
    font-weight: 600 !important;
    margin: .2em 0 .9em !important;
    opacity: .95 !important;
}
.ar-strong-link {
    font-weight: 600 !important;
}
.ar-takeaway {
    margin: 0.2rem 0 1.1rem !important;
    padding: 0.5rem 0.9rem !important;
    font-size: 0.97rem !important;
    font-weight: 600 !important;
    color: var(--legal-text) !important;
    line-height: 1.55 !important;
    background: var(--legal-surface-alt) !important;
    border-radius: 6px !important;
    border-left: 3px solid var(--legal-primary) !important;
}
.ar-takeaway-sub {
    font-weight: 400 !important;
    font-size: 0.9rem !important;
    color: var(--legal-text-muted) !important;
}
.ar-corpus-note {
    font-size: 0.82rem !important;
    color: var(--legal-text-muted) !important;
}
.ar-corpus-stat {
    font-size: 0.85rem !important;
    color: var(--legal-text-muted) !important;
}
.ar-plain-terms-text {
    margin: 0 !important;
    line-height: 1.6 !important;
}
.ar-plain-terms-label {
    display: block !important;
    color: var(--legal-primary) !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-bottom: 0.5rem !important;
}
.ar-plain-terms {
    margin: 1.5rem 0 !important;
    padding: 1rem 1.25rem !important;
    background: var(--legal-surface-alt) !important;
    border: 1px solid var(--legal-border) !important;
    border-left: 3px solid var(--legal-primary) !important;
    border-radius: 8px !important;
}
.ar-toc-columns {
    columns: 2 !important;
    column-gap: 2rem !important;
}
.ar-demo-heading {
    margin-top: 1.25rem !important;
    font-size: 1rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-future-list {
    margin: 0.75rem 0 0 1.25rem !important;
    line-height: 1.75 !important;
    font-size: 0.95rem !important;
}
.ar-rule-quote {
    margin: 0.75rem 0 0 0 !important;
    padding: 0.75rem 1.25rem !important;
    border-left: 3px solid var(--legal-primary) !important;
    background: var(--legal-surface-alt) !important;
    border-radius: 0 6px 6px 0 !important;
}
.ar-spec-list {
    margin-top: 0.75rem !important;
    margin-left: 1.5rem !important;
    line-height: 1.7 !important;
}
.ar-part-label {
    margin-top: 1.25rem !important;
    margin-bottom: 0.75rem !important;
    font-size: 0.9rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-part-label-first {
    margin-top: 0rem !important;
    margin-bottom: 0.75rem !important;
    font-size: 0.9rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-finding-box {
    margin-top: 1rem !important;
    padding: 1rem 1.25rem !important;
}
.ar-no {
    color: #e05050 !important;
}
.ar-yes {
    color: #50c050 !important;
}
.ar-demo-note {
    margin-top: 0.5rem !important;
    font-size: 0.88rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-technique-heading {
    margin-top: 1rem !important;
    font-size: 1rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-maybe {
    color: #f0a000 !important;
}
.ar-yes-cell {
    color: #50c050 !important;
    font-weight: 600 !important;
}
.ar-no-cell {
    color: #e05050 !important;
    font-weight: 600 !important;
}
.ar-nowrap {
    white-space: nowrap !important;
}
.ar-body-text-gap {
    margin-top: 0.75rem !important;
    font-size: 0.93rem !important;
    line-height: 1.65 !important;
}
.ar-ml-gate-list {
    margin-top: 0.75rem !important;
    padding-left: 1.4rem !important;
    line-height: 1.8 !important;
    font-size: 0.93rem !important;
}
.ar-body-text {
    font-size: 0.93rem !important;
    line-height: 1.65 !important;
}
.ar-scoring-heading {
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
    font-size: 1rem !important;
}
.ar-mono {
    font-family: monospace !important;
}
.ar-rows-note {
    font-size: 0.88rem !important;
    color: var(--legal-text-dim) !important;
    line-height: 1.6 !important;
    margin-top: 0.75rem !important;
}
.ar-finding-cell {
    padding: 0.4rem 0.75rem !important;
}
.ar-num-warn-tight {
    text-align: center !important;
    padding: 0.4rem 0.6rem !important;
    color: #fb923c !important;
    font-weight: 600 !important;
}
.ar-num-tight {
    text-align: center !important;
    padding: 0.4rem 0.6rem !important;
}
.ar-file-cell {
    padding: 0.4rem 0.75rem !important;
    font-family: monospace !important;
    font-size: 0.8rem !important;
}
.ar-row-alt {
    border-bottom: 1px solid var(--legal-border) !important;
    background: rgba(255,255,255,0.02) !important;
}
.ar-row {
    border-bottom: 1px solid var(--legal-border) !important;
}
.ar-verdict-clean {
    text-align: center !important;
    padding: 0.4rem 0.6rem !important;
    color: #86efac !important;
    font-weight: 600 !important;
}
.ar-score-head {
    text-align: left !important;
    padding: 0.5rem 0.75rem !important;
    font-weight: 600 !important;
}
.ar-score-num-head {
    text-align: center !important;
    padding: 0.5rem 0.75rem !important;
    font-weight: 600 !important;
}
.ar-thead-row {
    background: var(--legal-surface) !important;
    border-bottom: 2px solid var(--legal-border) !important;
}
.ar-bands-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 0.83rem !important;
}
.ar-table-scroll-sm {
    overflow-x: auto !important;
    margin: 1rem 0 !important;
}
.ar-score-band-desc {
    padding: 0.45rem 0.75rem !important;
    font-size: 0.88rem !important;
}
.ar-score-bad {
    padding: 0.45rem 0.75rem !important;
    color: #f87171 !important;
    font-weight: 600 !important;
}
.ar-score-range {
    padding: 0.45rem 0.75rem !important;
    font-family: monospace !important;
}
.ar-band-high {
    padding: 0.45rem 0.75rem !important;
    color: #fb923c !important;
    font-weight: 600 !important;
}
.ar-band-suspicious {
    padding: 0.45rem 0.75rem !important;
    color: #facc15 !important;
    font-weight: 600 !important;
}
.ar-band-low {
    padding: 0.45rem 0.75rem !important;
    color: #86efac !important;
    font-weight: 600 !important;
}
.ar-band-clean {
    padding: 0.45rem 0.75rem !important;
    color: #4ade80 !important;
    font-weight: 600 !important;
}
.ar-data-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 0.88rem !important;
}
.ar-score-pts {
    text-align: center !important;
    padding: 0.45rem 0.75rem !important;
    font-weight: 700 !important;
}
.ar-score-desc {
    padding: 0.45rem 0.75rem !important;
    font-size: 0.83rem !important;
}
.ar-cap-formula {
    padding: 0.45rem 0.75rem !important;
}
.ar-cap-num {
    text-align: center !important;
    padding: 0.45rem 0.75rem !important;
}
.ar-sev-low {
    padding: 0.45rem 0.75rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-sev-medium {
    padding: 0.45rem 0.75rem !important;
    color: #facc15 !important;
}
.ar-sev-high {
    padding: 0.45rem 0.75rem !important;
    color: #fb923c !important;
    font-weight: 700 !important;
}
.ar-sev-critical {
    padding: 0.45rem 0.75rem !important;
    color: #f87171 !important;
    font-weight: 700 !important;
}
.ar-vector-cell {
    padding: 0.6rem 0.75rem !important;
}
.ar-vector-index {
    padding: 0.6rem 0.75rem !important;
    opacity: 0.6 !important;
}
.ar-row-surface {
    border-bottom: 1px solid var(--legal-border) !important;
    background: var(--legal-surface) !important;
}
.ar-vector-head {
    padding: 0.5rem 0.75rem !important;
    text-align: left !important;
    color: var(--legal-primary) !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
.ar-thead-row-plain {
    border-bottom: 2px solid var(--legal-border) !important;
}
.ar-results-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
}
.ar-results-scroll {
    margin-top: 1.25rem !important;
    overflow-x: auto !important;
}
.ar-engine-box-test {
    margin-top: 0.5rem !important;
    font-size: 0.93rem !important;
}
.ar-engine-box-text {
    margin-top: 0.5rem !important;
    font-size: 0.93rem !important;
    line-height: 1.65 !important;
}
.ar-engine-box-heading {
    margin: 0 0 0.5rem !important;
    font-size: 1rem !important;
}
.ar-engine-box {
    padding: 1.25rem 1.5rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
}
.ar-engine-grid {
    margin-top: 1.25rem !important;
    display: grid !important;
    gap: 1rem !important;
}
.ar-engine-test {
    margin-top: 0.65rem !important;
    font-size: 0.93rem !important;
}
.ar-engine-text {
    margin-top: 0.65rem !important;
    font-size: 0.93rem !important;
    line-height: 1.65 !important;
}
.ar-engine-heading {
    margin: 0 0 0.6rem !important;
    font-size: 1.05rem !important;
}
.ar-engine-kicker {
    font-size: 0.78rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--legal-primary) !important;
    font-weight: 700 !important;
    margin-bottom: 0.4rem !important;
}
.ar-engine-card {
    margin-top: 1rem !important;
    padding: 1.4rem 1.75rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid rgba(255,140,0,0.6) !important;
}
.ar-engine-card-first {
    margin-top: 1.5rem !important;
    padding: 1.4rem 1.75rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid rgba(255,140,0,0.6) !important;
}
.ar-vector-text {
    margin-top: 0.4rem !important;
    font-size: 0.93rem !important;
    line-height: 1.6 !important;
}
.ar-vector-card {
    padding: 1.1rem 1.4rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
}
.ar-vector-card-accent {
    padding: 1.1rem 1.4rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid var(--legal-primary) !important;
}
.ar-spec-ref {
    float: right !important;
    font-size: 0.78rem !important;
    font-family: monospace !important;
    color: var(--legal-primary) !important;
    opacity: 0.7 !important;
}
.ar-vector-grid {
    margin-top: 1.25rem !important;
    display: grid !important;
    gap: 0.75rem !important;
}
.ar-note-label {
    color: var(--legal-text) !important;
}
.ar-design-note {
    margin-top: 0.75rem !important;
    font-size: 0.88rem !important;
    color: var(--legal-text-dim) !important;
    line-height: 1.6 !important;
    padding: 0.75rem 1rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
}
.ar-matrix-num {
    text-align: center !important;
    padding: 0.45rem 0.6rem !important;
}
.ar-matrix-cell {
    padding: 0.45rem 0.75rem !important;
    font-weight: 600 !important;
}
.ar-head-note {
    font-weight: 400 !important;
}
.ar-parser-head {
    text-align: center !important;
    padding: 0.5rem 0.6rem !important;
    font-weight: 600 !important;
    font-family: inherit !important;
}
.ar-mono-head {
    text-align: left !important;
    padding: 0.5rem 0.75rem !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    font-size: 0.83rem !important;
}
.ar-mono-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 0.83rem !important;
    font-family: monospace !important;
}
.ar-table-scroll {
    overflow-x: auto !important;
    margin: 1.25rem 0 !important;
}
.ar-num-lg {
    text-align: center !important;
    padding: 0.55rem 0.75rem !important;
}
.ar-cat-cell {
    padding: 0.55rem 0.75rem !important;
}
.ar-total-row-strong {
    background: var(--legal-surface) !important;
    font-weight: 600 !important;
    border-top: 2px solid var(--legal-border) !important;
}
.ar-num-bad {
    text-align: center !important;
    padding: 0.5rem 0.75rem !important;
    color: #f87171 !important;
    font-weight: 600 !important;
}
.ar-num {
    text-align: center !important;
    padding: 0.5rem 0.75rem !important;
}
.ar-cell {
    padding: 0.5rem 0.75rem !important;
}
.ar-num-warn {
    text-align: center !important;
    padding: 0.5rem 0.75rem !important;
    color: #fb923c !important;
    font-weight: 600 !important;
}
.ar-num-dim {
    text-align: center !important;
    padding: 0.5rem 0.75rem !important;
    color: var(--legal-text-dim) !important;
}
.ar-head-sub {
    font-weight: 400 !important;
    font-size: 0.8rem !important;
}
.ar-num-head {
    text-align: center !important;
    padding: 0.55rem 0.75rem !important;
    font-weight: 600 !important;
}
.ar-cat-head {
    text-align: left !important;
    padding: 0.55rem 0.75rem !important;
    font-weight: 600 !important;
}
.ar-num-good {
    text-align: center !important;
    padding: 0.5rem 0.75rem !important;
    color: #4ade80 !important;
    font-weight: 600 !important;
}
.ar-callout {
    padding: 0.85rem 1.2rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
}
.ar-impact-grid {
    margin-top: 1rem !important;
    display: grid !important;
    gap: 0.6rem !important;
}
.ar-layers-after {
    margin-top: 0.85rem !important;
}
.ar-diagram-md {
    width: 100% !important;
    max-width: 700px !important;
    display: block !important;
    background: #06090f !important;
    border: 1px solid rgba(255,140,0,0.18) !important;
    border-radius: 10px !important;
    padding: 4px !important;
}
.ar-paths-figure {
    margin: 1.25rem 0 0 !important;
    padding: 0 !important;
}
.ar-critical-point {
    margin-top: 1rem !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    padding: 0.9rem 1.2rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid rgba(255,140,0,0.5) !important;
}
.ar-layer-unknown {
    padding: 0.6rem 0.9rem !important;
    opacity: 0.75 !important;
    font-style: italic !important;
}
.ar-layer-name {
    padding: 0.6rem 0.9rem !important;
    white-space: nowrap !important;
    font-weight: 600 !important;
}
.ar-layer-aside {
    font-size: 0.82rem !important;
    opacity: 0.65 !important;
}
.ar-layer-bad {
    padding: 0.6rem 0.9rem !important;
    color: #e05a5a !important;
}
.ar-layer-text {
    padding: 0.6rem 0.9rem !important;
}
.ar-layers-head {
    padding: 0.55rem 0.9rem !important;
    text-align: left !important;
    color: var(--legal-primary) !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
.ar-layers-head-first {
    padding: 0.55rem 0.9rem !important;
    text-align: left !important;
    color: var(--legal-primary) !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}
.ar-layers-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
}
.ar-layers-scroll {
    margin-top: 1rem !important;
    overflow-x: auto !important;
}
.ar-scanner-button {
    display: inline-block !important;
    margin-top: 0.75rem !important;
    padding: 0.6rem 1.4rem !important;
    background: rgba(255,140,0,0.12) !important;
    border: 1px solid rgba(255,140,0,0.5) !important;
    border-radius: 6px !important;
    color: #ff8c00 !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    letter-spacing: 0.04em !important;
}
.ar-scanner-text {
    margin-top: 0.5rem !important;
    font-size: 0.93rem !important;
    line-height: 1.6 !important;
}
.ar-scanner-box {
    margin-top: 1.5rem !important;
    padding: 1.4rem 1.75rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid rgba(255,140,0,0.4) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid var(--legal-primary) !important;
    text-align: center !important;
}
.ar-thread-desc {
    font-size: 0.87rem !important;
    color: var(--legal-text-dim) !important;
    margin-top: 0.2rem !important;
    display: block !important;
}
.ar-thread-title {
    font-weight: 600 !important;
    font-size: 0.95rem !important;
}
.ar-thread-kicker {
    font-size: 0.75rem !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    color: var(--legal-primary) !important;
    font-weight: 700 !important;
}
.ar-thread-link {
    display: block !important;
    padding: 0.9rem 1.1rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    text-decoration: none !important;
    color: var(--legal-text) !important;
}
.ar-series-grid {
    margin-top: 1.5rem !important;
    display: grid !important;
    gap: 0.6rem !important;
}
.ar-statement-text {
    margin-top: 0.5rem !important;
    font-size: 0.93rem !important;
    line-height: 1.6 !important;
    color: var(--legal-text-dim) !important;
}
.ar-statement {
    font-size: 1rem !important;
}
.ar-guarantee-box {
    margin-top: 1.25rem !important;
    padding: 1.4rem 1.75rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid var(--legal-primary) !important;
}
.ar-no-cve-note {
    margin-top: 1.25rem !important;
    font-size: 0.93rem !important;
    line-height: 1.6 !important;
    padding: 1rem 1.2rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid rgba(255,140,0,0.5) !important;
}
.ar-callout-warn {
    padding: 0.85rem 1.2rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid rgba(220,80,80,0.5) !important;
}
.ar-not-grid {
    margin-top: 1.25rem !important;
    display: grid !important;
    gap: 0.6rem !important;
}
.ar-property-note {
    margin-top: 1rem !important;
    font-size: 0.93rem !important;
    line-height: 1.6 !important;
    padding: 1rem 1.2rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid rgba(255,140,0,0.5) !important;
}
.ar-sample-note {
    margin-top: 0.75rem !important;
    font-size: 0.88rem !important;
    color: var(--legal-text-dim) !important;
    padding: 0.75rem 1rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
}
.ar-layers-after-text {
    margin-top: 0.85rem !important;
    font-size: 0.93rem !important;
    line-height: 1.6 !important;
}
.ar-diagram-wide {
    width: 100% !important;
    max-width: 900px !important;
    display: block !important;
    background: #06090f !important;
    border: 1px solid rgba(255,140,0,0.18) !important;
    border-radius: 10px !important;
    padding: 4px !important;
}
.ar-finding-highlight {
    margin-top: 1rem !important;
    padding: 1.1rem 1.4rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid var(--legal-primary) !important;
}
.ar-question-box {
    margin-top: 1rem !important;
    padding: 1.1rem 1.4rem !important;
    background: var(--legal-surface) !important;
    border: 1px solid var(--legal-border) !important;
    border-radius: var(--legal-radius) !important;
    border-left: 3px solid rgba(220,80,80,0.6) !important;
}
.ar-series-list {
    margin-top: 0.6rem !important;
    margin-left: 0 !important;
    padding-left: 1.1rem !important;
    line-height: 1.85 !important;
    font-size: 0.95rem !important;
}
.ar-newest-chip {
    vertical-align: middle !important;
    font-size: 11px !important;
    color: #ff8c00 !important;
    border-color: rgba(255,140,0,0.5) !important;
}
.ar-research-intro {
    color: var(--pdf-text-dim,#a89070) !important;
    max-width: 840px !important;
    margin: -6px 0 24px !important;
    line-height: 1.65 !important;
    font-size: 14.5px !important;
}
.tl-sample-yara {
    font-size: .72rem !important;
    color: var(--dim) !important;
}
.tl-flex-fill {
    flex: 1 !important;
    min-width: 0 !important;
}
.tl-samples-empty {
    color: var(--dim) !important;
    font-size: .82rem !important;
}
.tl-camp-cluster {
    font-family: monospace !important;
    font-size: .75rem !important;
    color: var(--dim) !important;
}
.tl-camp-count {
    font-size: .95rem !important;
    font-weight: 600 !important;
}
.tl-camp-confidence {
    font-size: .75rem !important;
    color: var(--dim) !important;
}
.tl-camp-family {
    font-size: .88rem !important;
    font-weight: 500 !important;
}
.tl-camp-family-row {
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
}
.tl-camp-name {
    font-family: monospace !important;
    color: var(--camp) !important;
}
.tl-stat-classified {
    color: var(--camp) !important;
}
.tl-stat-critical {
    color: var(--crit) !important;
}
.tl-audit-email-row {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    flex-wrap: wrap !important;
}
.tl-report-email-hint {
    font-size: 12px !important;
    color: #5a4a38 !important;
    margin-top: 4px !important;
}
.tl-report-email {
    width: 100% !important;
    padding: 10px 14px !important;
    background: #0e1a2e !important;
    border: 1px solid #1a2840 !important;
    border-radius: 8px !important;
    color: #f0e6d3 !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}
.tl-email-row-office {
    margin-bottom: 10px !important;
}
.tl-node-scan-link {
    color: #7c3aed !important;
    font-size: .78rem !important;
}
.tl-node-findings {
    margin-top: .6rem !important;
}
.tl-node-hash {
    font-family: monospace !important;
    font-size: .72rem !important;
}
.tl-node-campaign {
    font-family: monospace !important;
    font-size: .82rem !important;
    color: #a78bfa !important;
}
.tl-node-family {
    font-size: .72rem !important;
    color: #c4b5fd !important;
    background: rgba(167,139,250,.15) !important;
    border: 1px solid rgba(167,139,250,.3) !important;
    border-radius: 4px !important;
    padding: .05rem .3rem !important;
}
.tl-edge-c2 {
    background: #f87171 !important;
    opacity: .5 !important;
    border-radius: 0 !important;
}
.tl-edge-yara {
    background: #fde68a !important;
    opacity: .5 !important;
    border-radius: 0 !important;
}
.tl-edge-cluster {
    background: #a855f7 !important;
    opacity: .5 !important;
}
.tl-dot-clean {
    background: #34d399 !important;
}
.tl-dot-low {
    background: #60a5fa !important;
}
.tl-dot-medium {
    background: #facc15 !important;
}
.tl-dot-high {
    background: #fb923c !important;
}
.tl-dot-critical {
    background: #f87171 !important;
}
.tl-email-row {
    margin-bottom: 12px !important;
}
.tl-graph-link {
    display: inline-block !important;
    padding: .5rem 1.1rem !important;
    background: rgba(124,58,237,.15) !important;
    border: 1px solid rgba(124,58,237,.4) !important;
    border-radius: 6px !important;
    color: #a78bfa !important;
    font-size: .85rem !important;
    text-decoration: none !important;
}
.tl-graph-text {
    font-size: .82rem !important;
    color: #8a8aaa !important;
    margin-bottom: .75rem !important;
}
.tl-graph-card {
    margin-top: .75rem !important;
}
.tl-winvm-rule {
    flex: 1 !important;
    height: 1px !important;
    background: rgba(106,106,128,.3) !important;
}
.tl-winvm-label {
    font-size: .72rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
.tl-winvm-divider {
    display: flex !important;
    align-items: center !important;
    gap: .6rem !important;
    margin: 1.25rem 0 .6rem !important;
    color: #6a6a80 !important;
}
.tl-wine-title {
    font-size: .72rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    opacity: .5 !important;
    margin-bottom: .5rem !important;
    padding: .4rem 0 !important;
}
.tl-eng-data {
    max-height: 300px !important;
}
.tl-eng-data-title {
    font-size: .7rem !important;
    margin-bottom: .5rem !important;
}
.tl-eng-findings {
    margin-bottom: 1rem !important;
}
/* Parser-agreement matrix: tone per Jaccard band, set in PHP. */
.ar-jaccard-self {
    color: var(--legal-text-dim) !important;
}
.ar-jaccard-high {
    color: #4ade80 !important;
    font-weight: 700 !important;
}
.ar-jaccard-good {
    color: #86efac !important;
}
.ar-jaccard-fair {
    color: #fb923c !important;
}
.ar-jaccard-low {
    color: #f87171 !important;
    font-weight: 700 !important;
}
/* Extractor outlier rate. */
.ar-rate {
    font-weight: 700 !important;
}
.ar-rate-good {
    color: #4ade80 !important;
}
.ar-rate-warn {
    color: #fb923c !important;
}
.ar-rate-bad {
    color: #f87171 !important;
}
/* Feedback admin badges: the type and status maps in feedback/admin.php pick one. */
.tl-badge {
    color: #fff !important;
    padding: 2px 8px !important;
    border-radius: 3px !important;
    font-size: 11px !important;
}
.tl-badge-type {
    font-weight: 600 !important;
}
.tl-badge-bug {
    background: #c0392b !important;
}
.tl-badge-feature,
.tl-badge-reviewed {
    background: #2980b9 !important;
}
.tl-badge-tool {
    background: #27ae60 !important;
}
.tl-badge-other {
    background: #666 !important;
}
.tl-badge-new {
    background: #e67e22 !important;
}
.tl-badge-closed {
    background: #7f8c8d !important;
}
.tl-badge-unknown {
    background: #999 !important;
}
/* Risk colours computed in JS arrive as --tone (tools/campaigns.php,
   tools/scan-graph.php); the percentages match the hex alpha suffixes the
   inline styles used, n/255: 1a = 10.196%, 22 = 13.333%, 44 = 26.667%. */
.tone-chip {
    background: color-mix(in srgb, var(--tone) 10.196%, transparent) !important;
    color: var(--tone) !important;
}
.tone-pill {
    background: color-mix(in srgb, var(--tone) 13.333%, transparent) !important;
    color: var(--tone) !important;
    border: 1px solid color-mix(in srgb, var(--tone) 26.667%, transparent) !important;
}
.tl-conf-fill {
    width: var(--pct) !important;
}
/* Colours computed in JS arrive as --tone (see applyTones in each tool script). */
.tone-text {
    color: var(--tone) !important;
}
.tone-bg {
    background: var(--tone) !important;
}
/* Markup built by js/tools/*.js */
.tl-result-actions-gap {
    margin-top: .6rem !important;
}
.tl-result-collapsed {
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}
.fcmp-count-critical {
    color: #ff4444 !important;
}
.fcmp-count-high {
    color: #ff8c00 !important;
}
/* Analytics map tooltips (analytics/map.js). */
.an-tip-city {
    font-size: 11px !important;
    color: #ffd700 !important;
    font-weight: 600 !important;
}
.an-tip-sub {
    color: #ccc !important;
    font-size: 10px !important;
}
.an-tip-city-strong {
    font-weight: 700 !important;
    color: #ffd700 !important;
}
.an-tip-sub-lg {
    color: #ccc !important;
    font-size: 11px !important;
}
.an-tip-country {
    font-weight: 700 !important;
    color: #ff8c00 !important;
}
.an-tip-hint {
    color: rgba(255,140,0,0.55) !important;
    font-size: 10px !important;
}
/* Analytics tables (analytics/tables.js). */
.tl-bar-fill {
    width: var(--pct) !important;
}
.an-no-data-pad {
    padding: 2rem !important;
}
.an-no-results {
    text-align: center !important;
    padding: 2rem !important;
    color: var(--legal-text-dim) !important;
}
.an-page-label {
    color: var(--legal-text-dim) !important;
    font-size: 0.72rem !important;
}
.an-domain-link {
    color: #ff8c00 !important;
    text-decoration: none !important;
}
/* Markup built by js/tools/universal-scan.js. */
.ufscan-stat-info {
    color: #6a6a80 !important;
}
.ufscan-kv-key-gap {
    margin-bottom: .5rem !important;
}
.ufscan-tree-indent {
    font-family: monospace !important;
    white-space: pre !important;
}
.ufscan-dump-meta {
    opacity: .6 !important;
    font-size: .75rem !important;
    margin-left: .5rem !important;
}
.ufscan-pw-title {
    opacity: .7 !important;
    font-size: .78rem !important;
    margin-bottom: .4rem !important;
}
.ufscan-finding-detail {
    font-size: .75rem !important;
    opacity: .75 !important;
    margin-top: .25rem !important;
}
.ufscan-camp-family {
    font-size: .75rem !important;
    background: rgba(167,139,250,.15) !important;
    border: 1px solid rgba(167,139,250,.3) !important;
    color: #c4b5fd !important;
    border-radius: 4px !important;
    padding: .1rem .4rem !important;
    margin-left: .4rem !important;
}
.ufscan-camp-banner {
    background: rgba(124,58,237,.1) !important;
    border: 1px solid rgba(124,58,237,.3) !important;
    border-radius: 6px !important;
    padding: .6rem .8rem !important;
    margin-bottom: .6rem !important;
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    flex-wrap: wrap !important;
}
.ufscan-camp-label {
    font-size: .75rem !important;
    color: #8a8aaa !important;
}
.ufscan-camp-name {
    font-family: monospace !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    color: #a78bfa !important;
}
.ufscan-camp-link {
    margin-left: auto !important;
    font-size: .75rem !important;
    color: #7c3aed !important;
    text-decoration: none !important;
}
.ufscan-related-row {
    background: rgba(255,255,255,.03) !important;
    margin-bottom: .3rem !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}
.ufscan-related-head {
    display: flex !important;
    gap: .5rem !important;
    width: 100% !important;
    align-items: center !important;
}
.ufscan-related-name {
    font-weight: 500 !important;
    font-size: .82rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.ufscan-related-date {
    margin-left: auto !important;
    font-size: .75rem !important;
    color: #8a8aaa !important;
    flex-shrink: 0 !important;
}
.ufscan-related-meta {
    font-size: .75rem !important;
    color: #8a8aaa !important;
    margin-top: .2rem !important;
}
.ufscan-ai-chain {
    margin-bottom: .9rem !important;
}
.ufscan-related-reason {
    border-radius: 4px !important;
    padding: .1rem .4rem !important;
    font-size: .72rem !important;
    flex-shrink: 0 !important;
}
.tone-outline {
    color: var(--tone) !important;
    border-color: var(--tone) !important;
}
/* Markup built by js/tools/office-scan.js. */
.ofscan-san-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}
.ofscan-san-icon {
    font-size: 1.5rem !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}
.ofscan-san-body {
    flex: 1 !important;
    min-width: 0 !important;
}
.ofscan-san-desc {
    font-size: .76rem !important;
    color: var(--pdf-text-dim) !important;
    line-height: 1.55 !important;
}
.ofscan-label-caution {
    margin-top: 1rem !important;
    color: #ffd600 !important;
}
.ofscan-label-danger {
    margin-top: 1rem !important;
    color: #ff4444 !important;
}
.ofscan-label-warn {
    margin-top: 1rem !important;
    color: #ff8c00 !important;
}
.ofscan-ai-head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.ofscan-ai-icon {
    font-size: 1.6rem !important;
}
.ofscan-ai-sub {
    font-size: .75rem !important;
    color: var(--pdf-text-dim) !important;
}
.ofscan-ai-summary {
    font-size: .85rem !important;
    color: var(--pdf-text) !important;
    line-height: 1.6 !important;
    padding: 10px 14px !important;
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    border-radius: 8px !important;
    margin-bottom: 1rem !important;
}
.ofscan-ai-findings {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 1rem !important;
}
.ofscan-ai-finding {
    padding: 6px 12px !important;
    font-size: .82rem !important;
    color: var(--pdf-text) !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}
.ofscan-ai-bullet {
    color: var(--pdf-amber,#ff8c00) !important;
    margin-right: 8px !important;
}
.ofscan-ai-actions {
    padding-left: 1.4rem !important;
    margin: 0 0 1rem !important;
}
.ofscan-ai-action {
    font-size: .83rem !important;
    color: var(--pdf-text) !important;
    padding: 4px 0 !important;
    line-height: 1.5 !important;
}
.ofscan-yara-desc {
    color: var(--pdf-text-dim) !important;
}
.ofscan-yara-tags {
    color: var(--pdf-amber,#ff8c00) !important;
    font-size: .68rem !important;
}
.ofscan-banner-clean {
    border-color: #00e676 !important;
    background: rgba(0,230,118,0.06) !important;
}
.ofscan-banner-clean-title {
    color: #00e676 !important;
    font-size: 1rem !important;
}
.ofscan-ioc-head {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
}
.ofscan-ioc-target {
    font-size: .75rem !important;
}
.ofscan-banner-threat {
    border-color: #ff4444 !important;
    background: rgba(255,40,40,0.08) !important;
}
.ofscan-banner-threat-title {
    color: #ff4444 !important;
    font-size: 1rem !important;
}
.ofscan-banner-note {
    font-size: .8rem !important;
    color: var(--pdf-text-dim) !important;
}
.ofscan-stack-entry {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 5px 0 !important;
    gap: 2px !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}
.ofscan-item-source {
    font-size: .7rem !important;
    color: var(--pdf-text-dim) !important;
}
.ofscan-scan-method {
    margin-top: 1rem !important;
    font-size: .72rem !important;
    color: var(--pdf-text-dim) !important;
}
.ofscan-banner-warn {
    border-color: rgba(255,140,0,0.3) !important;
    background: rgba(255,140,0,0.06) !important;
}
.ofscan-banner-warn-title {
    color: #ffb045 !important;
}
.ofscan-banner-info {
    border-color: rgba(79,195,247,0.3) !important;
    background: rgba(79,195,247,0.06) !important;
}
.ofscan-banner-info-title {
    color: #4fc3f7 !important;
}
.ofscan-event-entry {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 5px 0 !important;
    gap: 1px !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}
.ofscan-event-head {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
}
.ofscan-entry-source {
    font-size: .68rem !important;
    color: var(--pdf-text-dim) !important;
}
.ofscan-event-detail {
    font-size: .7rem !important;
    color: rgba(255,255,255,0.35) !important;
    font-family: monospace !important;
}
.ofscan-proc-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding: 6px 0 !important;
}
.ofscan-proc-path {
    font-family: monospace !important;
    font-size: .72rem !important;
    color: var(--pdf-text-dim) !important;
    word-break: break-all !important;
    padding: 2px 4px !important;
}
.ofscan-banner-neutral {
    border-color: rgba(255,255,255,.15) !important;
    background: rgba(255,255,255,.03) !important;
}
.ofscan-banner-icon {
    font-size: 1.3rem !important;
}
.ofscan-banner-plain-title {
    color: var(--pdf-text) !important;
}
.ofscan-preview-toolbar {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 8px 0 10px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    margin-bottom: 12px !important;
}
.ofscan-meta-xs {
    font-size: .72rem !important;
    color: var(--pdf-text-dim) !important;
}
.ofscan-toolbar-label {
    font-size: .72rem !important;
    color: var(--pdf-text-dim) !important;
    margin-left: 6px !important;
}
.ofscan-preview-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    align-items: flex-start !important;
}
.ofscan-preview-page {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
}
.ofscan-preview-pageno {
    font-size: .65rem !important;
    color: var(--pdf-text-dim) !important;
}
.ofscan-preview-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding-top: 12px !important;
    margin-top: 6px !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
}
.ofscan-preview-info-wrap {
    flex-wrap: wrap !important;
    gap: 10px !important;
}
.ofscan-safe-badge {
    background: rgba(0,230,118,.1) !important;
    color: #00e676 !important;
    border: 1px solid rgba(0,230,118,.25) !important;
    padding: 3px 10px !important;
    border-radius: 12px !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
}
.ofscan-banner-text {
    font-size: .78rem !important;
    color: var(--pdf-text-dim) !important;
}
.ofscan-label-gap-lg {
    margin-top: 1.2rem !important;
}
.ofscan-label-gap-xs {
    margin-top: .4rem !important;
}
.ofscan-gap-sm {
    margin-top: .6rem !important;
}
.ofscan-label-gap {
    margin-top: 1rem !important;
}
.ofscan-chain-count {
    margin-bottom: .8rem !important;
    font-size: .82rem !important;
    color: var(--pdf-text-dim) !important;
}
.ofscan-gap-bottom {
    margin-bottom: .8rem !important;
}
/* office-scan.js colours computed per verdict and severity. The percentages
   match the hex alpha suffixes the inline styles used, n/255: 0d = 5.098%,
   18 = 9.412%, 1a = 10.196%. */
.tone-rec {
    border-color: var(--edge) !important;
    background: color-mix(in srgb, var(--tone) 5.098%, transparent) !important;
}
.tone-rec-btn {
    margin-top: 10px !important;
    padding: 5px 16px !important;
    border-radius: 6px !important;
    border: 1px solid var(--edge) !important;
    background: color-mix(in srgb, var(--tone) 10.196%, transparent) !important;
    color: var(--tone) !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    letter-spacing: .03em !important;
}
.tone-banner {
    border-color: var(--tone) !important;
    background: color-mix(in srgb, var(--tone) 9.412%, transparent) !important;
}
.ofscan-san-title {
    font-size: .82rem !important;
    font-weight: 800 !important;
    margin-bottom: 4px !important;
    letter-spacing: .02em !important;
}
.ofscan-ai-banner {
    flex-wrap: wrap !important;
    gap: 10px !important;
}
.ofscan-ai-verdict {
    font-size: 1.1rem !important;
    font-weight: 900 !important;
}
.ofscan-item-type {
    font-weight: 700 !important;
    font-size: .8rem !important;
}
.ofscan-event-call {
    font-weight: 700 !important;
    font-size: .78rem !important;
    font-family: monospace !important;
}
.ofscan-page-img {
    max-width: 100% !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 4px !important;
    display: block !important;
}
.ofscan-page-img-small {
    width: 180px !important;
}
.ofscan-page-img-medium {
    width: 340px !important;
}
.ofscan-page-img-large {
    width: 560px !important;
}
