.bs-field--narrow { flex: 0 1 160px; min-width: 140px; }
.bs-tc-hub { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.bs-tc-hub__card { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: inherit; margin: 0; transition: background .15s; }
.bs-tc-hub__card:hover { background: var(--md-surface-container-high); }
.bs-tc-hub__card strong { color: var(--md-primary); font-size: 1.0625rem; }
.bs-tc-caveat { background: var(--md-warn-container); color: var(--md-on-warn-container); }
.bs-table th[scope="row"] { font-weight: 500; }
.bs-tc-legend summary { cursor: pointer; font-weight: 600; }
.bs-tc-legend dl { display: grid; grid-template-columns: max-content 1fr; gap: 10px 16px; margin: 16px 0 0; align-items: center; }
.bs-tc-legend dd { margin: 0; color: var(--md-on-surface-variant); font-size: .9375rem; }
.bs-tc-checker .bs-card p:last-child { margin-bottom: 0; }
.bs-tc-sources { margin-top: 24px; }
.bs-tc-key { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; padding: 0; margin: 0 0 16px; font-size: .875rem; color: var(--md-on-surface-variant); }
.bs-tc-key li { display: flex; align-items: center; gap: 8px; }
.bs-tc-matrix-wrap { overflow: auto; max-height: 80vh; border: 1px solid var(--md-outline-variant); border-radius: var(--md-radius-m); margin: 0 0 24px; background: var(--md-surface); }
.bs-tc-matrix-wrap:focus-visible { outline: 2px solid var(--md-primary); outline-offset: 2px; }
.bs-tc-matrix { border-collapse: separate; border-spacing: 0; font-size: .8125rem; }
.bs-tc-matrix th, .bs-tc-matrix td { border-bottom: 1px solid var(--md-outline-variant); border-right: 1px solid var(--md-outline-variant); padding: 0; text-align: center; background: var(--md-surface); }
.bs-tc-matrix thead th { position: sticky; top: 0; z-index: 2; background: var(--md-surface-container); vertical-align: bottom; height: 170px; font-weight: 600; color: var(--md-on-surface-variant); }
.bs-tc-matrix thead th span { writing-mode: vertical-rl; transform: rotate(180deg); display: inline-block; padding: 10px 4px; white-space: nowrap; }
.bs-tc-matrix tbody th { position: sticky; left: 0; z-index: 1; text-align: left; padding: 8px 12px; white-space: nowrap; font-weight: 600; background: var(--md-surface-container-low); }
.bs-tc-matrix .bs-tc-corner { left: 0; z-index: 3; text-align: left; padding: 10px 12px; vertical-align: bottom; white-space: nowrap; }
.bs-tc-matrix tbody tr:hover > * { background: var(--md-surface-container); }
.bs-tc-cell { display: inline-grid; place-items: center; width: 30px; height: 30px; margin: 4px; border-radius: var(--md-radius-s); font-weight: 700; font-size: .9375rem; text-decoration: none; line-height: 1; }
.bs-tc-cell--sold { background: var(--md-primary-container); color: var(--md-on-primary-container); }
.bs-tc-cell--owner { background: var(--md-warn-container); color: var(--md-on-warn-container); }
.bs-tc-cell--native { background: var(--md-surface-container-high); color: var(--md-on-surface-variant); }
.bs-tc-cell--gap { background: var(--md-error-container); color: var(--md-on-error-container); }
a.bs-tc-cell:hover { outline: 2px solid var(--md-primary); }
a.bs-tc-cell:focus-visible { outline: 2px solid var(--md-primary); outline-offset: 1px; }
