.hub {
    padding: var(--space-6) 0 0;
}

.hub .seo-crumbs {
    margin: 0 0 16px;
    font-size: 0.875rem;
    color: var(--muted);
}

.hub .seo-crumbs a {
    color: var(--ink-2);
    text-decoration: none;
}

.hub .seo-crumbs a:hover {
    color: var(--accent);
    text-decoration: underline;
}

.hub .hub-header {
    max-width: var(--measure);
    margin: 0 0 var(--space-block);
}

.hub .hub-label {
    margin: 0 0 12px;
    color: var(--muted);
}

.hub .hub-title {
    margin: 0 0 var(--space-5);
    font-weight: 400;
}

.hub .hub-intro {
    margin: 0;
    font-size: var(--text-lede);
    line-height: 1.5;
    color: var(--ink-2);
}

.hub .hub-intro + .hub-intro {
    margin-top: 8px;
}

.hub .hub-section {
    margin: var(--space-section) 0 0;
    min-width: 0;
}

.hub .hub-main > .hub-section:first-of-type,
.hub .hub-header + .hub-section {
    margin-top: 0;
}

.hub .hub-heading {
    margin: 0 0 var(--space-5);
    padding: var(--space-4) 0 0;
    border: 0;
    border-top: 1px solid var(--rule);
    font-family: var(--font-serif);
    font-size: var(--text-section);
    font-weight: 400;
    line-height: 1.15;
}

.hub .hub-heading--group {
    margin: 0 0 var(--space-4);
    padding: var(--space-3) 0 0;
    border-top: 1px solid var(--rule);
    font-family: var(--font-serif);
    font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.625rem);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--ink);
}

.hub .hub-heading .seo-count {
    margin-left: 6px;
}

.hub .seo-count {
    font-family: var(--font-sans);
    font-variant-numeric: tabular-nums;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--muted);
}

.hub .seo-note,
.hub .company-tiers {
    max-width: 90ch;
    margin: 24px 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--muted);
}

.hub .empty {
    margin: 0;
    padding: 18px 20px;
    border-radius: var(--radius-card-sm);
    background: var(--panel);
    color: var(--ink-2);
}

.hub-split {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-block) var(--space-9);
    align-items: flex-start;
}

.hub-split[hidden] {
    display: none;
}

.hub-main {
    flex: 999 1 620px;
    min-width: 0;
}

.hub-aside {
    flex: 1 1 320px;
    max-width: 100%;
    min-width: 0;
    display: grid;
    gap: var(--space-block);
    align-content: start;
}

.hub-card,
.hub .hub-aside .seo-related {
    margin: 0;
    padding: var(--space-4) 0 0;
    background: none;
    border: 0;
    border-top: 1px solid var(--rule);
    border-radius: 0;
    min-width: 0;
}

.hub-card--accent {
    border: 0;
    border-top: 2px solid var(--accent-fill);
}

.hub-panel {
    margin: 0;
    padding: var(--space-5);
    background: var(--panel);
    border-radius: var(--radius-card);
    font-size: var(--text-small);
    line-height: 1.5;
}

.hub .hub-card-title,
.hub .hub-aside .seo-related .hub-heading {
    margin: 0 0 var(--space-3);
    padding: 0;
    border: 0;
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: var(--text-item);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0;
    color: var(--ink);
}

.hub .hub-panel ul,
.hub .hub-card ul,
.hub .hub-aside .seo-related ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.875rem;
}

.hub .seo-related ul {
    gap: 8px 20px;
}

.hub .hub-aside .app-cta {
    margin: 0;
    padding: var(--space-4) 0 0;
    flex-direction: column;
    align-items: stretch;
    background: none;
    color: var(--ink);
    border: 0;
    border-top: 1px solid var(--rule);
    border-radius: 0;
}

.hub .hub-aside .app-cta-copy {
    flex: none;
}

.hub .hub-aside .app-cta-copy strong {
    font-family: var(--font-serif);
    font-size: var(--text-item);
    font-weight: 500;
}

.hub .hub-aside .app-cta-copy span {
    color: var(--muted);
}

.hub .hub-aside .app-cta-stores {
    gap: 4px 20px;
}

.hub .hub-aside .app-cta-store {
    flex: none;
    height: auto;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--accent);
    font-size: 1rem;
    font-weight: 600;
}

.hub .hub-aside .app-cta-store:hover {
    opacity: 1;
    text-decoration: underline;
}

.hub-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

.hub .hub-pills .st-pill {
    min-height: 40px;
}

@media (max-width: 560px) {
    .hub .cal-kinds {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 40px;
    }

    .hub .cal-kinds .st-pill {
        justify-content: center;
        white-space: nowrap;
    }
}

.hub-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
    gap: var(--space-5) var(--space-6);
    margin: var(--space-6) 0 0;
}

.hub-stat {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: var(--space-3) 0 0;
    background: none;
    border: 0;
    border-top: 1px solid var(--rule);
    border-radius: 0;
}

.hub-stat-label {
    font-size: var(--text-small);
    color: var(--muted);
}

.hub-stat-value {
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-variant-numeric: lining-nums tabular-nums;
    font-size: var(--text-figure);
    font-weight: 350;
    line-height: 1;
    color: var(--ink);
}

.hub-stat-value--buy {
    color: var(--tag-notable-fg);
}

.hub-stat-value--sell {
    color: var(--warn-strong);
}

.screen-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr));
    gap: 0 var(--space-8);
    margin: 0;
    padding: 0;
    list-style: none;
}

.screen-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-5);
    align-items: start;
    padding: var(--space-4) 0 var(--space-5);
    border-bottom: 1px solid var(--line);
    min-width: 0;
}

.hub .screen-card-link {
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: var(--text-item);
    font-weight: 500;
    line-height: 1.25;
    color: var(--ink);
    text-decoration: none;
}

.screen-card-link::after {
    content: '';
    position: absolute;
    inset: 0;
}

.screen-card:hover .screen-card-link {
    color: var(--accent);
}

.screen-card:focus-within {
    outline: 2px solid var(--accent);
    outline-offset: 4px;
}

.hub .screen-card-link:focus-visible {
    outline: 0;
}

.hub .screen-card-intro {
    margin: var(--space-2) 0 0;
    max-width: 52ch;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--ink-2);
}

.screen-card-src {
    color: var(--muted);
    white-space: nowrap;
}

.screen-card-through {
    display: block;
    margin-top: var(--space-1, 4px);
    font-size: 0.8125rem;
    color: var(--muted);
}

.hub .screen-through {
    margin: var(--space-4) 0 0;
    font-size: 0.875rem;
    color: var(--muted);
}

.screen-card-count {
    display: grid;
    justify-items: end;
    min-width: 4.5rem;
    text-align: right;
}

.screen-card-figure {
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-variant-numeric: lining-nums tabular-nums;
    font-size: 2.25rem;
    font-weight: 350;
    line-height: 1;
    color: var(--ink);
}

.screen-card-unit {
    margin-top: 4px;
    font-size: var(--text-caption);
    color: var(--muted);
    white-space: nowrap;
}

.hub .seo-filings,
.hub .seo-events {
    margin: 0;
    padding: 0;
    list-style: none;
    background: none;
    border: 0;
    border-radius: 0;
}

.hub .seo-filing,
.hub .seo-event {
    padding: var(--space-4) 0 var(--space-5);
    border-bottom: 1px solid var(--line);
    min-width: 0;
    overflow-wrap: break-word;
}

.hub .seo-filing:first-child {
    padding-top: var(--space-2);
}

.hub .seo-filing:last-child,
.hub .seo-event:last-child {
    border-bottom: 0;
}

.hub .seo-filing-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 12px;
    font-size: var(--text-small);
    line-height: 1.5;
    color: var(--muted);
}

.hub .hub-company {
    font-weight: 500;
    color: var(--ink);
}

.hub a.hub-company:hover {
    color: var(--accent);
}

.hub .st-ticker {
    margin-left: 0.3em;
}

.hub .seo-filing-meta .st-ticker {
    margin-left: -6px;
}

.hub .screen-row-who .st-ticker {
    margin-left: 0;
}

@media (max-width: 640px) {
    .hub .screen-row-who {
        flex-basis: 100%;
    }
}

.hub .hub-form {
    color: var(--ink-2);
    font-weight: 600;
}

.hub .seo-filing-line {
    margin: 6px 0 8px;
    max-width: 40ch;
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: var(--text-item);
    font-weight: 500;
    line-height: 1.25;
    color: var(--ink);
    text-wrap: pretty;
}

.hub .seo-filing-links {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 20px;
    font-size: var(--text-small);
}

.hub .today-stories .today-story-list {
    gap: 0;
}

.hub .today-story {
    padding: var(--space-2) 0 var(--space-5);
    background: none;
    border: 0;
    border-radius: 0;
}

.hub .today-story + .today-story {
    padding-top: var(--space-4);
    border-top: 1px solid var(--line);
}

.hub .today-story-text {
    max-width: 30ch;
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.875rem);
    font-weight: 400;
    line-height: 1.2;
}

.hub .today-story-text a {
    color: var(--ink);
}

.hub .today-story-text a:hover {
    color: var(--accent);
}

.hub .today-query {
    margin-top: 8px;
    font-size: 0.8125rem;
    color: var(--muted);
}

.hub .today-header {
    margin-bottom: 0;
}

.hub .today-dateline {
    max-width: none;
}

.hub .today-now {
    margin: var(--space-2) 0 0;
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .today-previous--shown {
    margin-top: var(--space-7);
}

.hub .today-numbers-card {
    margin: var(--space-7) 0 var(--space-section);
}

.hub .today-numbers {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
    gap: var(--space-5) var(--space-5);
    margin: 0;
}

.hub .today-number {
    padding: var(--space-3) 0 0;
    border-top: 1px solid var(--rule);
}

.hub .today-number-value {
    font-family: var(--font-serif);
    font-size: var(--text-figure);
    font-weight: 350;
}

.hub .today-number-label {
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .today-item .seo-filing-line {
    max-width: 44ch;
}

.hub .today-item .today-tag {
    padding: 0;
    background: none;
    border-radius: 0;
}

.hub .today-previous {
    margin: var(--space-section) 0 var(--space-7);
}

.hub .today-previous .hub-label {
    margin: 0 0 var(--space-2);
}

.hub .today-previous-title {
    margin: 0 0 var(--space-3);
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: var(--text-headline);
    font-weight: 400;
    line-height: 1.12;
}

.hub .today-previous-title a {
    color: var(--ink);
}

.hub .today-previous + .hub-section {
    margin-top: 0;
}

.hub .seo-table-wrap,
.hub .tb-wrap {
    max-width: 100%;
    overflow-x: auto;
    background: none;
    border: 0;
    border-top: 1px solid var(--rule);
    border-radius: 0;
}

.hub .seo-table,
.hub .tb-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.hub .seo-table th,
.hub .seo-table td {
    padding: 14px 16px 14px 0;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
    white-space: normal;
}

.hub .seo-table th:last-child,
.hub .seo-table td:last-child {
    padding-right: 0;
}

.hub .seo-table thead th,
.hub .tb-table thead th {
    padding: 12px 16px 12px 0;
    background: transparent;
    border-bottom: 1px solid var(--line);
    font-size: var(--text-small);
    font-weight: 500;
    color: var(--muted);
    white-space: nowrap;
}

.hub .seo-table tbody tr:last-child td,
.hub .tb-table tbody tr:last-child th,
.hub .tb-table tbody tr:last-child td {
    border-bottom: 0;
}

.hub .seo-table td a {
    font-weight: 500;
}

.hub .seo-table .num {
    text-align: right;
    font-family: var(--font-sans);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.hub .seo-table .num .insider-role {
    white-space: normal;
    min-width: 12ch;
}

.hub .seo-table td.mono,
.hub .seo-table td.mono a {
    font-weight: 400;
    color: var(--muted);
    white-space: nowrap;
}

.hub .insider-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border-radius: 0;
    background: none;
    font-size: var(--text-small);
    font-weight: 500;
    color: var(--tag-routine-fg);
}

.hub .insider-tag::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.hub .insider-tag.insider-buy {
    background: none;
    color: var(--tag-notable-fg);
}

.hub .insider-tag.insider-sell {
    background: none;
    color: var(--tag-major-fg);
}

.hub .seo-table td.insider-date {
    white-space: nowrap;
}

.hub .insider-date a {
    font-weight: 400;
    color: var(--ink-2);
}

.hub .insider-role {
    font-size: 0.8125rem;
    color: var(--muted);
}

.hub .insider-why {
    min-width: 220px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--text-small);
    line-height: 1.45;
    color: var(--ink-2);
}

.hub .insider-why li + li {
    margin-top: 4px;
}

.hub .insider-clusters {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
    gap: var(--space-7) var(--space-8);
}

.hub .insider-cluster {
    padding: var(--space-3) 0 0;
    background: none;
    border: 0;
    border-top: 1px solid var(--rule);
    border-radius: 0;
}

.hub .insider-cluster h3 {
    margin: 0 0 var(--space-2);
    font-family: var(--font-sans);
    font-size: var(--text-small);
    font-weight: 400;
    line-height: 1.5;
}

.hub .insider-cluster-line {
    margin: 0 0 4px;
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: var(--text-item);
    font-weight: 500;
    line-height: 1.25;
    color: var(--ink);
}

.hub .insider-buyers {
    display: grid;
    gap: 0;
    margin: var(--space-3) 0 0;
    padding: 0;
    list-style: none;
    font-size: var(--text-small);
}

.hub .insider-buyers li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 0;
    border-top: 1px solid var(--line);
}

.hub .insider-filters {
    display: grid;
    gap: var(--space-3);
}

.hub .insider-ticker {
    display: grid;
    gap: 6px;
    margin: 0;
}

.hub .insider-ticker-label {
    font-size: 0.875rem;
    color: var(--ink-2);
}

.hub .insider-ticker-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hub .insider-ticker-row input {
    flex: 1 1 200px;
    min-width: 0;
    max-width: 320px;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--ink);
    border-radius: var(--radius-button-lg);
    background: var(--surface);
    color: var(--ink);
    font-family: var(--font-mono);
    font-size: 1rem;
    text-transform: uppercase;
}

.hub .insider-ticker-row input::placeholder {
    text-transform: none;
}

.hub .insider-ticker-row input:focus {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.hub .insider-ticker-row .btn {
    min-height: 48px;
}

.hub .insider-caps {
    margin: 0;
}

.hub .screen-filters {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 16px;
}

.hub .screen-row-sector {
    color: var(--ink-2);
}

.hub .screen-row-facts {
    margin: 4px 0 0;
    color: var(--ink-2);
    font-variant-numeric: tabular-nums;
}

.hub .screen-row-float {
    display: block;
    color: var(--ink-2);
    font-size: 0.875em;
}

.hub .screen-buyers {
    max-width: 480px;
    margin: 6px 0 4px;
}

.hub .insider-record-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin: 12px 0 0;
    color: var(--ink-2);
}

.hub .insider-follow {
    min-height: 44px;
    margin-top: 16px;
}

.cal-kinds {
    margin: -8px 0 24px;
}

.hub .seo-day {
    margin-top: 0;
}

.hub .seo-day .hub-heading--group {
    margin-top: 18px;
}

.hub .hub-main > .seo-day:first-child .hub-heading--group {
    margin-top: 0;
}

.hub .seo-day .seo-events {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
    column-gap: var(--space-7);
}

.hub .seo-day .seo-event:last-child {
    border-bottom: 1px solid var(--line);
}

.hub .seo-event {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
    align-items: baseline;
    padding: var(--space-3) 0;
}

.cal-kind {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 4px;
    font-weight: 500;
    color: var(--ink-2);
}

.cal-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--form-8k);
}

.seo-event[data-kind="10-Q"] .cal-dot {
    background: var(--form-10q);
}

.seo-event[data-kind="10-K"] .cal-dot {
    background: var(--form-10k);
}

.seo-event[data-kind="listing"] .cal-dot {
    background: var(--warn);
}

.seo-event[data-kind="lockup"] .cal-dot {
    background: var(--form-other);
}

.cal-what {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
    min-width: 0;
}

.hub .cal-entry {
    gap: 2px;
}

.hub .cal-entry .cal-what {
    flex-wrap: nowrap;
}

.hub .cal-entry .hub-company {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hub .cal-entry .st-ticker {
    flex: none;
}

.cal-line {
    font-size: var(--text-small);
    line-height: 1.45;
    color: var(--ink-2);
}

.cal-line .cal-kind {
    margin-right: 0;
}

.cal-source {
    display: block;
    font-size: var(--text-caption);
    line-height: 1.4;
    color: var(--muted);
}

.cal-source a {
    color: inherit;
    text-decoration-color: var(--line);
    text-underline-offset: 2px;
}

.cal-source a:hover {
    color: var(--accent);
}

.ln-rule .ln-reason {
    display: block;
    color: var(--ink);
}

.ln-rule .cal-source {
    margin-top: 2px;
}

.hub .seo-event .seo-event-when {
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .seo-event .hub-company {
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.3;
}

.hub-more {
    margin: 0;
}

.hub-more > summary {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: var(--space-2);
    font-weight: 600;
    color: var(--accent);
    cursor: pointer;
    list-style: none;
}

.hub-more > summary::-webkit-details-marker {
    display: none;
}

.hub-more[open] > summary {
    display: none;
}

.cal-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
    text-align: center;
    font-size: 0.8125rem;
}

.cal-weekday {
    color: var(--muted);
}

.cal-day {
    display: grid;
    place-items: center;
    height: 34px;
    border-radius: var(--radius-button);
    font-family: var(--font-sans);
    font-variant-numeric: tabular-nums;
    color: var(--muted);
}

.hub a.cal-day--on {
    background: none;
    color: var(--accent);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

.hub a.cal-day--on:hover {
    background: var(--panel);
    color: var(--accent-hover);
}

.hub .sr-form,
.hub .ft-form {
    margin: 0 0 20px;
}

.hub .sr-field input,
.hub .ft-row input {
    height: 52px;
    border: 1px solid var(--ink);
    border-radius: var(--radius-button-lg);
    background: var(--surface);
    font-size: 1rem;
}

.hub .sr-field input:focus,
.hub .ft-row input:focus {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-color: var(--ink);
    box-shadow: none;
}

.hub .ft-row input {
    font-family: var(--font-mono);
}

.hub .ft-row {
    flex-wrap: wrap;
    gap: 10px;
}

.hub .ft-row input {
    flex: 1 1 320px;
}

.hub .ft-row .btn {
    min-height: 52px;
}

.hub .ft-label {
    font-size: 0.875rem;
    color: var(--ink-2);
}

.hub .ft-filter {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ink-2);
}

.hub .ft-filter select {
    height: 44px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-button);
    background: var(--surface);
}

.hub .sr-empty,
.hub .ft-empty {
    padding: 24px 0;
    text-align: left;
}

.hub .sr-examples {
    justify-content: flex-start;
    gap: 8px;
}

.hub .sr-heading {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 0 0 var(--space-3);
    padding: var(--space-3) 0 0;
    border-top: 1px solid var(--rule);
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.625rem);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
    color: var(--ink);
}

.hub .sr-count {
    padding: 0;
    background: none;
    font-family: var(--font-sans);
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .sr-companies {
    gap: 0 var(--space-7);
}

.hub .sr-link {
    padding: var(--space-3) 0;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
}

.hub .sr-avatar {
    width: 36px;
    height: 36px;
    border-radius: 2px;
    background: var(--panel);
    font-family: var(--font-serif);
    font-size: 1.125rem;
    font-weight: 500;
}

.hub .sr-name {
    font-weight: 500;
}

.hub .sr-ticker {
    font-weight: 600;
    letter-spacing: 0.02em;
}

.hub .sr-empty {
    padding: var(--space-2) 0 0;
    text-align: left;
    color: var(--ink-2);
}

.hub .sr-examples {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 20px;
    margin: 0;
}

.hub .sr-examples span {
    color: var(--muted);
}

.hub .sr-example {
    font-weight: 500;
}

.hub .sr-browse {
    margin-top: var(--space-section);
}

.sr-browse-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
    gap: var(--space-5) var(--space-7);
    margin: 0;
    padding: 0;
    list-style: none;
}

.hub .sr-browse-link {
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: var(--text-item);
    font-weight: 500;
    color: var(--ink);
}

.sr-browse-list p {
    margin: 4px 0 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--ink-2);
}

.hub .ft-hit,
.hub .ft-chart {
    background: none;
    border: 0;
    border-top: 1px solid var(--line);
    border-radius: 0;
}

.hub .ft-hit {
    padding: var(--space-4) 0;
}

.hub .ft-hit-head {
    flex-wrap: wrap;
    gap: 8px 14px;
}

.hub .ft-company,
.hub .ft-company a {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--ink);
}

.hub .ft-ticker {
    font-family: var(--font-mono);
    font-weight: 400;
    letter-spacing: 0;
    color: var(--muted);
}

.hub .ft-meta {
    font-size: 0.875rem;
    color: var(--muted);
}

.hub .ft-snippet {
    font-family: var(--font-serif);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--ink);
}

.hub .ft-snippet mark {
    background: var(--highlight);
    color: inherit;
}

.hub .ft-open {
    font-family: var(--font-sans);
}

.hub .ft-chart {
    padding: var(--space-4) 0;
}

.hub .ft-chart figcaption {
    font-size: 0.9375rem;
    color: var(--ink);
}

.hub .ft-bar {
    background: var(--accent-fill);
}

.hub .ft-tier--pro {
    background: var(--tag-notable-bg);
    color: var(--tag-notable-fg);
}

.hub .ft-tier--free {
    background: var(--tag-free-bg);
    color: var(--tag-free-fg);
}

.hub-band {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 28px 0 0;
    padding: 24px;
    border-radius: var(--radius-card);
    background: var(--ink);
    color: var(--paper);
}

.hub-band > div {
    max-width: 60ch;
}

.hub .hub-band-title {
    margin: 0 0 6px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--paper);
}

.hub-band p {
    margin: 0;
    opacity: 0.8;
}

.hub .hub-band-btn,
.hub .hub-band-btn:hover {
    background: var(--paper);
    border-color: var(--paper);
    color: var(--ink);
    font-weight: 700;
}

.hub .acct.ss {
    max-width: none;
}

.hub .ss-new .ss-form {
    margin: 0;
    gap: 10px;
}

.hub .ss-input {
    min-height: 44px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-button);
    background: var(--surface);
}

.hub .ss-chip {
    min-height: 32px;
    border-color: var(--line-strong);
    background: var(--surface);
}

.hub .ss-chip:has(input:checked) {
    border-color: var(--accent-fill);
    background: var(--tag-notable-bg);
    color: var(--tag-notable-fg);
}

.hub .ss-match {
    background: var(--surface);
    border-color: var(--line);
    border-radius: var(--radius-card-sm);
}

.hub .ss-passage {
    font-family: var(--font-serif);
    border-left-color: var(--highlight);
}

.hub .acct-signed-out {
    max-width: 60ch;
}

.hub .rule-webhooks.hub-card {
    max-width: 840px;
}

.hub .rule-webhooks .hub-heading {
    font-size: 1.5rem;
}

.hub .tb-header {
    max-width: none;
}

.tb-header-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
}

.tb-header-row > div:first-child {
    max-width: 66ch;
}

.hub .tb-downloads {
    margin: 0;
    gap: 10px;
}

.hub .tb-downloads .btn {
    min-height: 44px;
    padding: 0 18px;
    border-radius: var(--radius-button);
}

.tb-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.hub .tb-switch {
    display: inline-flex;
    gap: 8px;
    margin: 0 8px 0 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.hub .tb-switch-option {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-pill);
    background: var(--surface);
    font-size: 0.875rem;
    color: var(--ink);
}

.hub .tb-switch-option[aria-current="page"] {
    background: var(--button-dark);
    border-color: var(--button-dark);
    color: var(--on-dark);
}

.hub .tb-tabs {
    margin: 0;
    gap: 8px;
}

.hub .tb-tabs .st-pill {
    min-height: 40px;
}

.hub .tb-table th,
.hub .tb-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--line-soft);
}

.hub .tb-table th:first-child,
.hub .tb-table thead th:first-child {
    background: var(--surface);
}

.hub .tb-section-head .hub-heading {
    margin-bottom: 14px;
}

@media (max-width: 600px) {
    .hub {
        padding: 20px 0 48px;
    }

    .hub .hub-heading {
        font-size: 1.5rem;
    }

    .hub .today-item .seo-filing-line {
        font-size: 1.25rem;
    }

    .hub .seo-filing {
        padding: var(--space-3) 0 var(--space-4);
    }

    .screen-card {
        gap: var(--space-4);
    }

    .screen-card-figure {
        font-size: 1.75rem;
    }

    .hub-split {
        gap: 28px;
    }
}

.hub .screen-group + .screen-group {
    margin-top: var(--space-8);
}

.screen-card-count {
    flex: none;
    white-space: nowrap;
}

.hub .hub-header:has(.hub-stats) {
    max-width: none;
}

.hub .hub-header:has(.hub-stats) .hub-title,
.hub .hub-header:has(.hub-stats) .hub-intro {
    max-width: 66ch;
}

.hub .insider-cluster a,
.hub .seo-table a,
.hub .ft-hit a,
.hub .hub-aside a,
.hub .seo-filing a,
.hub .seo-event a {
    text-decoration: none;
}

.hub .insider-cluster a:hover,
.hub .seo-table a:hover,
.hub .ft-hit a:hover,
.hub .hub-aside a:hover,
.hub .seo-filing a:hover,
.hub .seo-event a:hover {
    text-decoration: underline;
}

@media (min-width: 1100px) {
    .hub {
        --space-section: var(--space-10);
    }
}

.hub .hub-aside .app-cta-stores {
    flex: none;
    width: 100%;
}

.hub .hub-heading time,
.hub .hub-title time {
    font-family: inherit;
    font-variant-numeric: normal;
}

.hub .seo-filing-line a {
    color: var(--ink);
    text-decoration: none;
}

.hub .seo-filing-line a:hover {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.hub .seo-filing-links a {
    color: var(--muted);
}

.hub .seo-filing-links a:hover {
    color: var(--accent);
}

.hub .screen-row .seo-filing-links a.screen-edgar {
    color: var(--accent);
    text-decoration: none;
}

.hub .screen-row .seo-filing-links a.screen-edgar:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.hub .sr-filings {
    gap: 0;
}

.hub .sr-subheading {
    font-family: var(--font-sans);
    font-size: var(--text-small);
    font-weight: 400;
    color: var(--muted);
}

.hub .sr-reports,
.hub .sr-nophrase {
    background: none;
    border-radius: 0;
    border-color: var(--line);
}

.hub .sr-form-chip {
    border-radius: var(--radius-button);
}

.hub .sr-form-chip:not([aria-current]) {
    border-color: var(--line);
    background: none;
}

.hub .sr-trade {
    border-radius: var(--radius-tag);
}

.hub .sr-avatar {
    background: none;
    color: var(--muted);
}

.hub .today-previous + .today-numbers-card {
    margin: 0 0 var(--space-8);
}

.hub .sc-runway-section,
.hub .sc-offerings,
.hub .sc-signals {
    margin-top: var(--space-section);
}

.hub .sc-header + .sc-runway-section {
    margin-top: var(--space-6);
}

.hub .sc-views {
    align-items: flex-end;
    gap: var(--space-4) var(--space-5);
    margin-bottom: var(--space-5);
}

.hub .sc-chip-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
}

.hub .sc-chip-label {
    flex-basis: 100%;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--muted);
}

.hub .sc-chip {
    gap: 6px;
}

.hub .sc-chip-on {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.hub .sc-clear {
    align-self: center;
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .sc-order,
.hub .sc-legend {
    margin: 0 0 var(--space-3);
    max-width: var(--measure);
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .sc-legend {
    margin: var(--space-3) 0 0;
}

.hub .sc-legend .sc-float-stale {
    margin: 0 8px 0 0;
}

.hub .sc-table-wrap {
    overflow: visible;
}

.hub .sc-table {
    font-size: 0.9375rem;
}

.hub .sc-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 10px 20px 10px 0;
    border-bottom: 1px solid var(--line-strong);
    background: var(--paper);
    box-shadow: inset 0 -1px 0 var(--line-strong);
    white-space: nowrap;
}

.hub .sc-table td {
    padding: 14px 20px 14px 0;
}

.hub .sc-table th:first-child,
.hub .sc-table td:first-child {
    padding-left: 8px;
}

.hub .sc-table th:last-child,
.hub .sc-table td:last-child {
    padding-right: 8px;
}

.hub .sc-table tbody tr:hover td {
    background: var(--line-soft);
}

.hub .sc-co {
    width: 28%;
}

.hub .sc-company {
    display: block;
    font-weight: 600;
    line-height: 1.3;
    color: var(--ink);
    text-decoration: none;
}

.hub a.sc-company:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.hub .sc-company-meta {
    display: block;
    margin-top: 2px;
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .sc-company-meta .st-ticker {
    margin: 0;
}

.hub .sc-sep {
    color: var(--faint);
}

.hub .sc-runway-cell {
    width: 30%;
    min-width: 13rem;
}

.hub .sc-runway {
    display: grid;
    gap: 5px;
    justify-items: start;
}

.hub .sc-runway-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
}

.hub .sc-runway-text {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--ink);
    font-variant-numeric: lining-nums tabular-nums;
}

.hub .sc-runway-none {
    color: var(--muted);
}

.hub .sc-ruler {
    display: block;
    width: 100%;
    max-width: 15rem;
    height: 6px;
    border-radius: 3px;
    background: var(--line);
    overflow: hidden;
}

.hub .sc-ruler > span {
    display: block;
    height: 100%;
    min-width: 6px;
    border-radius: 3px;
    background: var(--faint);
}

.hub .sc-ruler--short > span {
    background: var(--error);
}

.hub .sc-ruler--mid > span {
    background: var(--brand-dot);
}

.hub .sc-runway-figs {
    font-size: var(--text-small);
    color: var(--ink-2);
    font-variant-numeric: tabular-nums;
}

.hub .sc-runway-figs [data-field] {
    font-weight: 600;
    color: var(--ink);
}

.hub .sc-fig {
    white-space: nowrap;
}

.hub .sc-runway-asof {
    font-size: 0.8125rem;
    color: var(--muted);
}

.hub .sc-badge {
    display: inline-block;
    padding: 1px 7px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
    background: var(--tag-notable-bg);
    color: var(--tag-notable-fg);
}

.hub .sc-badge--old {
    background: var(--tag-major-bg);
    color: var(--tag-major-fg);
}

.hub .sc-float {
    white-space: nowrap;
}

.hub .sc-float-link {
    color: var(--ink);
    text-decoration: none;
}

.hub .sc-float-link:hover {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.hub .sc-float-stale {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 6px;
    border-radius: 50%;
    background: var(--warn);
    vertical-align: middle;
}

.hub .sc-shares {
    width: 10rem;
}

.hub .sc-pct {
    display: block;
}

.hub .sc-steep .sc-pct {
    font-weight: 600;
    color: var(--warn-strong);
}

.hub .sc-split {
    display: block;
    max-width: 20ch;
    margin: 2px 0 0 auto;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.35;
    color: var(--muted);
    white-space: normal;
}

.hub a.sc-split,
.hub .sc-links a {
    color: var(--accent);
    text-decoration: none;
}

.hub a.sc-split:hover,
.hub .sc-links a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.hub .sc-links {
    font-size: var(--text-small);
    white-space: nowrap;
}

@media (min-width: 641px) and (max-width: 1199px) {
    .hub .sc-links .sc-sep {
        display: none;
    }

    .hub .sc-links a {
        display: block;
        width: fit-content;
    }

    .hub .sc-links a + .sc-sep + a {
        margin-top: 2px;
    }
}

@media (max-width: 640px) {
    .hub .sc-table-wrap {
        border-top: 1px solid var(--rule);
    }

    .hub .sc-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .hub .sc-table,
    .hub .sc-table tbody {
        display: block;
    }

    .hub .sc-table tbody tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: 'co co' 'runway runway' 'float shares' 'links links';
        gap: 12px 16px;
        padding: 16px 0;
        border-bottom: 1px solid var(--line);
    }

    .hub .sc-table tbody tr:last-child {
        border-bottom: 0;
    }

    .hub .sc-table tbody tr:hover td {
        background: none;
    }

    .hub .sc-table td,
    .hub .sc-table td:first-child,
    .hub .sc-table td:last-child {
        display: block;
        width: auto;
        min-width: 0;
        padding: 0;
        border: 0;
    }

    .hub .sc-table .sc-co {
        grid-area: co;
    }

    .hub .sc-table .sc-runway-cell {
        grid-area: runway;
    }

    .hub .sc-table .sc-float {
        grid-area: float;
        text-align: left;
    }

    .hub .sc-table .sc-shares {
        grid-area: shares;
    }

    .hub .sc-table .sc-links {
        grid-area: links;
    }

    .hub .sc-table .sc-float::before,
    .hub .sc-table .sc-shares::before {
        display: block;
        font-size: 0.8125rem;
        color: var(--muted);
    }

    .hub .sc-table .sc-float::before {
        content: 'Float';
    }

    .hub .sc-table .sc-shares::before {
        content: 'Shares, 12 months';
    }

    .hub .sc-ruler {
        max-width: none;
    }

    .hub .sc-chip-label {
        flex-basis: 5.5rem;
    }
}

.hub .sc-unranked {
    margin-top: var(--space-6);
    max-width: var(--measure);
}

.hub .sc-unranked-heading {
    margin: 0 0 var(--space-3);
    font-size: var(--text-body);
    font-weight: 600;
}

.hub .sc-unranked-group {
    border-top: 1px solid var(--line);
    padding: var(--space-3) 0;
}

.hub .sc-unranked-group summary {
    cursor: pointer;
    font-size: var(--text-small);
    color: var(--ink);
}

.hub .sc-unranked-count {
    margin-left: 6px;
    color: var(--muted);
    font-variant-numeric: tabular-nums;
}

.hub .sc-unranked-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--space-2) var(--space-4);
    margin: var(--space-3) 0 0;
    padding: 0;
    list-style: none;
    font-size: var(--text-small);
}

.hub .sc-unranked-more {
    color: var(--muted);
}

.hub .sc-note {
    margin-top: var(--space-4);
    max-width: var(--measure);
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .sc-offering-list,
.hub .sc-signal-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.hub .sc-offering {
    padding: var(--space-5) 0;
    border-bottom: 1px solid var(--line);
}

.hub .sc-offering:first-child {
    padding-top: 0;
}

.hub .sc-offering-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--space-1) var(--space-3);
}

.hub .sc-offering-head .sc-company {
    display: inline;
}

.hub .sc-offering-kind {
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .sc-offering-line {
    margin: var(--space-2) 0 0;
    font-family: var(--font-serif);
    font-size: var(--text-item);
    line-height: 1.3;
    max-width: 40ch;
}

.hub .sc-math {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
    gap: var(--space-4) var(--space-6);
    margin: var(--space-4) 0 0;
}

.hub .sc-math-item {
    display: flex;
    flex-direction: column-reverse;
    gap: var(--space-1);
}

.hub .sc-math dd {
    margin: 0;
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-variant-numeric: lining-nums tabular-nums;
    font-size: 1.75rem;
    font-weight: 350;
    line-height: 1;
}

.hub .sc-math dt {
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .sc-signal-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
    gap: 0 var(--space-8);
}

.hub .sc-signal {
    padding: var(--space-4) 0 var(--space-5);
    border-bottom: 1px solid var(--line);
}

.hub .sc-signal-name {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--text-item);
    font-weight: 500;
    line-height: 1.25;
}

.hub .sc-signal-name a {
    color: var(--ink);
}

.hub .sc-signal-text {
    margin: var(--space-1) 0 0;
    color: var(--ink-2);
}

.hub .sc-signal-source {
    margin: var(--space-1) 0 0;
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .sc-signal-count {
    display: block;
    margin-top: var(--space-2);
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .sc-signal-figure {
    font-family: var(--font-serif);
    font-variant-numeric: lining-nums tabular-nums;
    font-size: 1.5rem;
    font-weight: 350;
    color: var(--ink);
}

.hub .hub-header .hub-source {
    margin: 8px 0 0;
}

.tb-scroll-cue[hidden] {
    display: none;
}

.hub .tb-peer-added {
    display: block;
    font-size: var(--text-small);
    font-weight: 400;
    color: var(--muted);
}

.hub .tb-not-reported,
.hub .tb-year-only {
    font-size: var(--text-small);
    color: var(--muted);
}

.hub .tb-year-only a {
    color: inherit;
    text-decoration: underline dotted;
}

.hub .tb-peers-lead {
    margin-bottom: var(--space-2);
}

.hub .tb-how {
    margin: 0 0 var(--space-5);
    font-size: var(--text-small);
    color: var(--ink-2);
}

.hub .tb-how summary {
    cursor: pointer;
    color: var(--ink);
    font-weight: 500;
}

.hub .tb-how p {
    max-width: 66ch;
    margin: var(--space-2) 0 0;
    line-height: 1.5;
}

@media (min-width: 1100px) {
    .hub .tb-table:not(.tb-peers) th,
    .hub .tb-table:not(.tb-peers) td {
        padding-left: 10px;
        padding-right: 10px;
    }

    .hub .tb-table:not(.tb-peers) th:not(:first-child),
    .hub .tb-table:not(.tb-peers) td {
        width: var(--tb-col, 4.5rem);
        min-width: var(--tb-col, 4.5rem);
    }

    .hub .tb-table:not(.tb-peers) th:first-child {
        width: 18rem;
        min-width: 18rem;
        max-width: 18rem;
    }

    .hub .tb-table:not(.tb-peers) tbody th:first-child:not(.tb-long) {
        white-space: nowrap;
    }
}

.hub .sc-list-table td {
    padding-top: 14px;
    padding-bottom: 14px;
    vertical-align: top;
}

.hub .sc-list-table tbody tr:hover td {
    background: var(--line-soft);
}

.hub .sc-list-table .mono {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
    .hub .sc-list-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .hub .sc-list-table,
    .hub .sc-list-table tbody,
    .hub .sc-list-table tr,
    .hub .sc-list-table td {
        display: block;
        width: auto;
    }

    .hub .sc-list-table tr {
        padding: 12px 16px;
        border-bottom: 1px solid var(--line);
    }

    .hub .sc-list-table tbody tr:last-child {
        border-bottom: 0;
    }

    .hub .sc-list-table td {
        padding: 2px 0;
        border: 0;
    }

    .hub .sc-list-table td[data-label]::before {
        content: attr(data-label) ': ';
        color: var(--muted);
    }
}

.hub .sc-about {
    margin: var(--space-6) 0 0;
    max-width: var(--measure);
    border-top: 1px solid var(--line);
    padding-top: var(--space-3);
}

.hub .sc-about summary {
    cursor: pointer;
    font-size: var(--text-small);
    font-weight: 600;
    color: var(--ink);
}

.hub .sc-about .sc-terms {
    margin-top: var(--space-3);
}

.hub .sc-terms {
    display: grid;
    gap: var(--space-3);
    margin: var(--space-6) 0 0;
    max-width: var(--measure);
    font-size: var(--text-small);
}

.hub .sc-term {
    display: grid;
    grid-template-columns: minmax(0, 11rem) minmax(0, 1fr);
    gap: var(--space-4);
    padding-top: var(--space-3);
    border-top: 1px solid var(--line);
}

.hub .sc-term dt {
    font-weight: 600;
    color: var(--ink);
}

.hub .sc-term dd {
    margin: 0;
    color: var(--muted);
}

@media (max-width: 640px) {
    .hub .sc-term {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-1);
    }
}
