* {
    box-sizing: border-box;
}

.observation-date { white-space: nowrap; font-size: 13px; }
.earlier-close { color: #715a34; font-size: 11px; font-weight: 400; }
.observation-date .earlier-close { margin-inline-start: 6px; }
.earlier-close-mobile, .curve-earlier-close { display: none; }
.has-earlier-close .curve-earlier-close { display: inline; margin-inline-start: 6px; }

#rates-table td.change-heat { color: #111; font-weight: 600; }
.heat-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.heat-key { display: inline-block; width: 14px; height: 14px; border-radius: 2px; }
.heat-rise { background: rgb(217, 93, 86); }
.heat-fall { background: rgb(89, 166, 117); }
.heat-neutral { background: rgb(229, 231, 235); }

.history-controls { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-bottom: 12px; }
.chart-preferences-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; margin-bottom: 4px; }
.chart-preferences-toolbar .update-overview { margin: 0; }
.chart-preferences-reset { font: inherit; font-size: 12px; color: #657180; background: white; border: 1px solid #dce2e8; border-radius: 4px; padding: 4px 8px; cursor: pointer; }
.chart-preferences-reset:hover { color: #175b94; border-color: #175b94; }
.macro-coverage { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)); gap: 4px 18px; padding-left: 18px; }
.history-tooltip { position: fixed; z-index: 100; pointer-events: none; background: #fff; color: #17212d; border: 1px solid #cbd3dc; border-radius: 6px; box-shadow: 0 4px 18px #17212d26; padding: 10px 12px; max-width: calc(100vw - 16px); max-height: calc(100vh - 16px); font-size: 12px; }
.history-tooltip[hidden] { display: none; }
.history-tooltip table { width: auto; min-width: 0; margin: 6px 0 0; border: 0; font-size: 12px; }
.history-tooltip td, .history-tooltip th { height: auto; line-height: 1.3; padding: 5px 8px; white-space: nowrap; text-align: right; }
.history-tooltip th:first-child { text-align: left; }
.history-tooltip small { display: block; font-weight: normal; }
.history-controls label { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.history-controls select { font: inherit; padding: 6px 9px; background: white; border: 1px solid #cbd3dc; border-radius: 4px; }
.history-markets { display: flex; flex-wrap: wrap; gap: 10px 22px; border: 0; padding: 0; margin: 10px 0 18px; }
.history-markets legend { font-size: 12px; color: #657180; margin-bottom: 9px; }
.history-markets label { display: flex; align-items: center; gap: 6px; font-size: 13px; }
#history-chart { display: block; width: 100%; min-width: 0; height: auto; }
.yield-history-chart { display: block; width: 100%; min-width: 0; height: auto; }
.yield-history-chart:empty { display: none; }
.yield-history-chart circle:focus { outline: none; stroke: #111; stroke-width: 3; }
#history-chart:empty { display: none; }
#history-status:empty { display: none; }
#oil-chart { display: block; width: 100%; min-width: 0; height: auto; }
#oil-chart:empty { display: none; }
#history-chart circle:focus { outline: none; stroke: #111; stroke-width: 3; }
#history-events:empty { display: none; }
#macro-history-chart { display: block; width: 100%; min-width: 0; height: auto; }
#macro-history-chart:empty { display: none; }
#macro-history-chart circle:focus { outline: none; stroke: #111; stroke-width: 3; }
#macro-history-table { min-width: 760px; font-size: 13px; }

html {
    scroll-behavior: smooth;
}

.restoring-position .content {
    visibility: hidden;
}

.daily-brief { margin-bottom: 20px; }
.daily-brief h2 { margin: 0 0 8px; font-size: 16px; }
.daily-brief-items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.5fr);
    border: 1px solid #dbe0e5;
    border-radius: 8px;
    background: #f8f9fb;
}
.daily-brief-item { display: grid; align-content: start; gap: 3px; min-width: 0; padding: 9px 12px; color: inherit; text-decoration: none; }
.daily-brief-item + .daily-brief-item { border-inline-start: 1px solid #dbe0e5; }
.daily-brief-item :is(span, small) { color: #657180; font-size: 12px; }
.daily-brief-item strong { font-size: 14px; overflow-wrap: anywhere; }
.daily-brief-item:hover strong { text-decoration: underline; }
@media (max-width: 700px) {
    .daily-brief-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .daily-brief-item:nth-child(3) { border-inline-start: 0; }
    .daily-brief-item:nth-child(n+3) { border-block-start: 1px solid #dbe0e5; }
}

body {
    margin: 0;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    color: #111;
    background: #ffffff;
}


/* =========================
   Top Navigation
========================= */

.topbar {
    height: 58px;

    display: flex;
    align-items: center;

    border-bottom: 1px solid #d9d9d9;

    padding: 0 24px;

    position: sticky;
    top: 0;

    background: white;
    z-index: 100;
}

.brand {
    font-size: 20px;
    font-weight: 700;

    margin-right: 50px;
}

.topnav {
    display: flex;
    gap: 28px;
}

.topnav a {
    color: #555;
    text-decoration: none;
    font-size: 15px;
}

.topnav a.active {
    color: #111;
    font-weight: 600;
}


/* =========================
   Page Layout
========================= */

.page-layout {
    display: grid;

    grid-template-columns: 180px 1fr;

    min-height: calc(100vh - 58px);
}


/* =========================
   Sidebar
========================= */

.sidebar {
    min-width: 0;
    border-right: 1px solid #e1e1e1;

    padding: 28px 18px;

    position: sticky;
    top: 58px;

    height: calc(100vh - 58px);

    overflow-y: auto;
}

.sidebar-group {
    margin-bottom: 32px;
}

.sidebar-label {
    font-size: 11px;
    color: #888;
    font-weight: 700;

    margin-bottom: 10px;
}

.sidebar a {
    display: block;

    text-decoration: none;
    color: #555;

    font-size: 14px;

    padding: 7px 8px;

    border-radius: 4px;
}

.sidebar a:hover {
    background: #f4f4f4;
}

.sidebar a.active {
    color: #111;
    font-weight: 600;

    background: #f2f2f2;
}


/* =========================
   Main Content
========================= */

.content {
    padding: 34px 42px;

    max-width: 1400px;
}

.section {
    scroll-margin-top: 80px;

    margin-bottom: 64px;
}

.section h1 {
    font-size: 24px;
    margin-top: 0;
    margin-bottom: 25px;
}


/* =========================
   Rates Table
========================= */

.table-block {
    max-width: 880px;
}

.table-block h2 {
    margin: 0 0 10px;

    font-size: 21px;
}

table {
    width: 100%;

    border-collapse: collapse;

    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

th,
td {
    border: 0;
    border-bottom: 1px solid #e0e3e7;

    padding: 13px 16px;

    text-align: right;

    height: 52px;
}

th {
    font-weight: 600;

    background: #f7f8fa;
}

td:first-child,
th:first-child {
    font-weight: 500;

    white-space: nowrap;
    text-align: left;
}


/* Placeholder sections */

.placeholder {
    min-height: 280px;

    border-top: 1px solid #eeeeee;

    padding-top: 30px;
}

/* =========================
   Curve Changes
========================= */

.curve-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    margin-bottom: 20px;
}

.curve-header h2 {
    margin: 0;
    font-size: 20px;
}

.section-date {
    margin-top: 5px;

    font-size: 13px;
    color: #777;
}

.curve-move-badge {
    padding: 7px 11px;

    border: 1px solid #d5d5d5;
    border-radius: 5px;

    font-size: 13px;
    font-weight: 600;

    background: #fafafa;
}


/* Two-column layout */

.curve-grid {
    display: grid;

    grid-template-columns:
        minmax(500px, 1fr)
        minmax(400px, 1fr);

    gap: 35px;

    align-items: start;
}


.curve-table-block h3,
.curve-chart-block h3,
.spread-block h3 {
    margin: 0 0 12px 0;

    font-size: 16px;
}


/* Curve chart */

.curve-chart-block {
    min-width: 0;
}

#yield-curve-chart, .regional-curve-chart {
    display: block;

    width: 100%;
    height: auto;

    border: 1px solid #e3e3e3;

    background: #ffffff;
}


.chart-legend {
    display: flex;

    gap: 20px;

    margin-bottom: 10px;

    font-size: 12px;
    color: #666;
}

.chart-legend span {
    display: flex;

    align-items: center;

    gap: 6px;
}

.legend-line {
    width: 20px;
    height: 2px;

    display: inline-block;
}

.legend-line.current {
    background: #111;
}

.legend-line.previous {
    background: #999;
}

.curve-comparisons { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-bottom: 18px; font-size: 13px; }
.curve-comparisons label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.curve-comparisons input { accent-color: #3b6ff5; }
.curve-chart-legend { flex-wrap: wrap; gap: 8px 20px; }
.curve-chart-legend > span { white-space: nowrap; }

/* Per-market page: shared dashboard shell with empty content areas. */
.market-panel { min-height: 200px; margin-bottom: 32px; scroll-margin-top: 80px; }
.market-panel h2 { margin: 0; font-size: 18px; font-weight: 600; }
.market-charts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; margin-top: 24px; }
.market-chart-block { min-width: 0; }
.market-chart-block h3 { margin: 0 0 18px; font-size: 16px; }
.market-charts #history-chart { min-width: 0; }
.us-yield-grid { row-gap: 12px; }
.us-yield-grid .market-chart-block { display: grid; grid-template-rows: repeat(6, auto); gap: 0; }
.us-yield-grid .market-chart-block h3 { grid-row: 1; margin: 0 0 12px; }
.us-yield-grid .history-controls, .us-yield-grid .curve-comparisons { grid-row: 2; margin: 0 0 10px; align-content: start; }
.us-yield-grid .history-markets, .us-yield-grid .curve-chart-legend { grid-row: 3; margin: 0 0 10px; align-content: start; }
.us-yield-grid .section-date { grid-row: 4; margin: 0 0 8px; }
.us-yield-grid .section-date:empty { display: none; }
.us-yield-grid .market-chart-block > .table-scroll, .us-yield-grid #yield-curve-chart, .us-yield-grid .regional-curve-chart { grid-row: 5; align-self: start; }
.us-yield-grid .yield-history-info { grid-row: 6; margin: 8px 0 0; }
.us-yield-grid .table-scroll { border-radius: 0; }
.us-yield-grid #history-chart { aspect-ratio: 2; }
.macro-chart-card { min-width: 0; display: grid; grid-template-rows: repeat(7, auto); gap: 0; }
.macro-chart-card h3 { margin: 0 0 10px; font-size: 17px; font-weight: 600; letter-spacing: -.15px; color: #17212d; }
.us-macro-grid { column-gap: 36px; row-gap: 40px; align-items: start; }
.us-macro-chart { display: block; width: 100%; height: auto; border: 1px solid #e8ecf0; border-radius: 6px; background: white; }
.us-macro-chart:empty { display: none; }
.macro-chart-card .history-controls { margin: 0 0 10px; min-height: 34px; }
.macro-chart-card .history-controls label { flex-wrap: nowrap; }
.macro-chart-card .history-controls { align-items: center; gap: 10px 20px; }
.macro-chart-card .history-controls select { border-color: #dce2e8; border-radius: 6px; min-height: 34px; }
.macro-chart-card input[type="checkbox"] { accent-color: #3b6ff5; }
.macro-card-series { min-height: 28px; margin: 0; font-size: 12px; line-height: 1.5; color: #657180; align-content: center; }
.macro-chart-card .history-markets { margin: 0; align-items: center; }
.macro-chart-card .macro-card-series:not(:empty) { margin-bottom: 10px; }
.macro-chart-card .macro-series-label:empty { display: none; }
.macro-card-series legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.macro-latest, .macro-rate-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; margin: 0; padding: 4px 0; min-height: 60px; box-sizing: border-box; font-variant-numeric: tabular-nums; }
.macro-rate-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.macro-latest, .macro-rate-summary { grid-row: 4; }
.macro-latest[hidden], .macro-rate-summary[hidden] { display: none; }
.macro-chart-card > .section-date { grid-row: 5; }
.macro-chart-card > .us-macro-chart { grid-row: 6; }
.macro-chart-card > .macro-chart-info { grid-row: 7; }
.macro-reading { min-width: 0; }
.macro-reading + .macro-reading { border-left: 1px solid #e8ecf0; padding-left: 16px; }
.macro-reading-label { display: block; font-size: 12px; line-height: 1.5; color: #657180; }
.macro-reading strong { display: block; margin-top: 3px; font-size: 27px; line-height: 1.2; font-weight: 600; letter-spacing: -.5px; color: #17212d; }
.macro-reading-change { display: block; margin-top: 3px; font-size: 12px; color: #657180; }
.macro-chart-card .section-date { min-height: 0; margin: 0 0 10px; line-height: 1.5; }
.macro-chart-card .section-date:empty { display: none; }
.macro-chart-card > .macro-chart-info { margin-top: 8px; }
.macro-chart-info { font-size: 12px; color: #657180; }
.macro-chart-info summary { cursor: pointer; width: fit-content; padding: 3px 0; line-height: 1.5; }
.macro-chart-info summary:hover { color: #175b94; }
.macro-chart-info .table-note { margin: 8px 0 0; line-height: 1.7; }
.chart-data-info { margin-top: 8px; }
.us-yield-grid .chart-data-info { grid-row: 6; }
[data-chart-metadata] p { margin: 8px 0 0; line-height: 1.6; overflow-wrap: anywhere; }
[data-chart-warning] { display: block; color: #8b651d; font-size: 12px; line-height: 1.5; }
.macro-fed-context { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; }
.macro-quote-legend, .macro-quote-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.macro-quote-legend { gap: 12px; }
.macro-quote-legend [hidden] { display: none; }
.macro-current-key, .macro-prior-key { display: inline-block; width: 12px; height: 8px; background: #175b94; }
.macro-prior-key { background: #b5bec9; }
@supports (grid-template-rows: subgrid) {
    /* Visible rows provide their own spacing, so hidden rows leave no gaps. */
    .market-charts.us-yield-grid { row-gap: 0; }
    .us-yield-grid .market-chart-block { grid-template-rows: subgrid; grid-row: span 6; }
    .market-charts.us-macro-grid { row-gap: 0; }
    .macro-chart-card { grid-template-rows: subgrid; grid-row: span 7; }
    .macro-chart-card:nth-child(n+3) h3 { padding-top: 26px; }
    @media (max-width: 1000px) { .macro-chart-card:nth-child(n+2) h3 { padding-top: 26px; } }
}
@media (max-width: 1000px) { .market-charts { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
@media (max-width: 1000px) {
    .us-yield-grid .market-chart-block + .market-chart-block { padding-top: 24px; }
}


/* Spreads */

.spread-block {
    margin-top: 35px;

    max-width: 760px;
}


/* Responsive */

@media (max-width: 1220px) {

    .curve-grid {
        grid-template-columns: 1fr;
    }

}
/* Keep tables accessible on narrow screens. */
.content { min-width: 0; width: 100%; }
.curve-table-block { min-width: 0; }
.table-scroll { overflow-x: auto; border: 1px solid #e0e3e7; border-radius: 6px; }
.table-scroll:focus-visible, summary:focus-visible, a:focus-visible { outline: 2px solid #446888; outline-offset: 3px; }
tbody tr:hover { background: #fafbfd; }
.column-unit { display: block; font-size: 10px; font-weight: 400; color: #737b86; margin-top: 3px; }
.table-note { font-size: 12px; line-height: 1.6; color: #68717c; margin: 12px 0; }
.data-sources { border-top: 1px solid #e6e8eb; margin-top: 18px; padding-top: 14px; }
.data-sources summary { cursor: pointer; font-size: 13px; color: #465566; }
.source-list { list-style: none; padding: 0; margin: 16px 0; }
.source-list li { display: grid; grid-template-columns: 70px 1fr; gap: 12px; padding: 7px 0; font-size: 12px; line-height: 1.6; color: #68717c; }
.source-list strong { color: #303a45; }
.source-list a { color: #365d7d; text-underline-offset: 3px; }
#rates-table th:first-child, #rates-table td:first-child { width: 20%; }
#rates-table th:not(:first-child):not(:last-child) { width: 12%; }
#rates-table th:last-child { width: 20%; }
#rates-table th, #rates-table td { padding: 10px 12px; height: 42px; }
:is(#treasury-yields-table, #curve-spreads-table) th, :is(#treasury-yields-table, #curve-spreads-table) td { padding: 10px 8px; height: 42px; }
.rates-details { margin-top: 8px; }
.rates-details p { margin: 6px 0; line-height: 1.6; }
.rates-details-dates { display: none; }
table tbody th { background: transparent; font-weight: 500; }
table td, table thead th:not(:first-child) { text-align: right; }
#policy-table { min-width: 0; }
#policy-table th, #policy-table td { padding: 10px 8px; height: 42px; }
:is(#inflation-table, #labour-table, #growth-table, #calendar-table) { min-width: 0; }
:is(#inflation-table, #labour-table, #growth-table, #calendar-table) th,
:is(#inflation-table, #labour-table, #growth-table, #calendar-table) td { padding: 10px 8px; height: 42px; }
.update-status { margin: 0 0 24px; padding: 14px 16px; border: 1px solid #dfe3e8; border-radius: 6px; }
.update-status summary { cursor: pointer; font-weight: 500; }
#update-status-table { min-width: 1000px; font-size: 13px; }
#update-status-table td, #update-status-table th { text-align: left; }
#update-status-table td:nth-child(2), #update-status-table td:nth-child(3), #update-status-table td:nth-child(5) { white-space: nowrap; }
.update-status-detail { display: block; max-width: 280px; margin-top: 5px; font-size: 11px; line-height: 1.5; color: #737b86; }
#calendar-table th, #calendar-table td { text-align: left; }
#calendar-table :is(th, td):nth-child(n+4) { text-align: right; }
.calendar-measure, .calendar-previous-original, .calendar-surprise { display: block; margin-top: 3px; color: #657180; font-size: .85em; }
#calendar-table a { color: #365d7d; text-underline-offset: 3px; }
.calendar-detail { display: block; margin-top: 5px; max-width: 260px; white-space: normal; font-size: 11px; line-height: 1.5; color: #737b86; font-weight: 400; }
#growth-table td { white-space: nowrap; }
#growth-table a { color: #365d7d; text-underline-offset: 3px; }
.growth-definition { display: block; max-width: 260px; margin-top: 5px; white-space: normal; font-size: 11px; line-height: 1.5; color: #737b86; font-weight: 400; }
#labour-table td { white-space: nowrap; }
#labour-table a { color: #365d7d; text-underline-offset: 3px; }
.labour-definition { display: block; max-width: 260px; margin-top: 5px; white-space: normal; font-size: 11px; line-height: 1.5; color: #737b86; font-weight: 400; }
#inflation-table td { white-space: nowrap; }
#inflation-table a { color: #365d7d; text-underline-offset: 3px; }
.inflation-definition { display: block; max-width: 210px; margin-top: 5px; white-space: normal; font-size: 11px; line-height: 1.5; color: #737b86; font-weight: 400; }
#policy-table td { white-space: nowrap; }
#policy-table a { color: #365d7d; text-underline-offset: 3px; }
.policy-bank { display: block; margin-top: 4px; font-size: 11px; color: #737b86; font-weight: 400; }
.policy-instrument { display: block; margin-top: 4px; max-width: 260px; white-space: normal; font-size: 11px; line-height: 1.5; color: #737b86; font-weight: 400; }

@media (max-width: 700px) {
    .topbar { padding: 0 16px; height: auto; min-height: 58px; flex-wrap: wrap; gap: 8px 0; padding-block: 10px; }
    .brand { margin-right: 24px; }
    .topnav { gap: 16px; }
    .page-layout { grid-template-columns: 1fr; }
    .sidebar { position: static; height: auto; padding: 12px 16px; border-right: 0; border-bottom: 1px solid #e1e1e1; display: flex; gap: 24px; overflow-x: auto; }
    .sidebar-group { margin-bottom: 0; flex: 0 0 auto; }
    .sidebar-group a { display: inline-block; }
    .sidebar-label { margin-bottom: 4px; }
    .content { padding: 24px 16px; }
    .curve-header { flex-wrap: wrap; gap: 12px; }
    .history-controls label { flex-wrap: wrap; max-width: 100%; }
    .history-controls select { max-width: 100%; min-width: 0; }
    .us-yield-grid #history-chart { aspect-ratio: auto; }
    table { min-width: 480px; font-size: 15px; }
    :is(#inflation-table, #labour-table, #growth-table, #calendar-table) { width: 100%; table-layout: fixed; font-size: clamp(11px, 3.1vw, 13px); }
    :is(#inflation-table, #labour-table, #growth-table, #calendar-table) th,
    :is(#inflation-table, #labour-table, #growth-table, #calendar-table) td { padding: 8px 3px; height: 36px; white-space: normal; overflow-wrap: anywhere; }
    :is(#inflation-table, #growth-table) th:nth-child(1) { width: 20%; }
    :is(#inflation-table, #growth-table) th:nth-child(2),
    :is(#inflation-table, #growth-table) th:nth-child(3) { width: 15%; }
    :is(#inflation-table, #growth-table) th:nth-child(4) { width: 23%; }
    :is(#inflation-table, #growth-table) th:nth-child(5) { width: 27%; }
    #inflation-table th:nth-child(1), #inflation-table th:nth-child(2) { width: 19%; }
    #inflation-table th:nth-child(4) { width: 21%; }
    #inflation-table th:nth-child(5) { width: 26%; }
    #labour-table th:nth-child(1) { width: 22%; }
    #labour-table th:nth-child(2) { width: 17%; }
    #labour-table th:nth-child(3) { width: 32%; }
    #labour-table th:nth-child(4) { width: 29%; }
    #calendar-table th { font-size: 10px; }
    #calendar-table :is(th, td) { padding-inline: 2px; }
    #calendar-table th:nth-child(1) { width: 22%; }
    #calendar-table th:nth-child(2) { width: 12%; }
    #calendar-table th:nth-child(3) { width: 20%; }
    #calendar-table th:nth-child(4) { width: 12%; }
    #calendar-table th:nth-child(5) { width: 18%; }
    #calendar-table th:nth-child(6) { width: 16%; }
    #policy-table { width: 100%; table-layout: fixed; font-size: clamp(12px, 3.2vw, 13px); }
    #policy-table th, #policy-table td { padding: 8px 3px; height: 36px; }
    #policy-table th:first-child { width: 22%; white-space: normal; padding-left: 7px; }
    #policy-table th:nth-child(2) { width: 28%; }
    #policy-table th:nth-child(3) { width: 20%; }
    #policy-table th:nth-child(4) { width: 30%; }
    #policy-table .column-unit { font-size: 9px; margin-top: 2px; }
    :is(#treasury-yields-table, #curve-spreads-table) { min-width: 0; width: 100%; table-layout: fixed; font-size: clamp(12px, 3.2vw, 13px); }
    :is(#treasury-yields-table, #curve-spreads-table) th, :is(#treasury-yields-table, #curve-spreads-table) td { padding: 8px 3px; height: 36px; }
    :is(#treasury-yields-table, #curve-spreads-table) th { width: 16%; }
    :is(#treasury-yields-table, #curve-spreads-table) th:first-child { width: 14%; }
    :is(#treasury-yields-table, #curve-spreads-table) th:nth-child(2) { width: 22%; }
    :is(#treasury-yields-table, #curve-spreads-table) th:first-child, :is(#treasury-yields-table, #curve-spreads-table) td:first-child { padding-left: 7px; }
    :is(#treasury-yields-table, #curve-spreads-table) .column-unit { font-size: 9px; margin-top: 2px; }
    #curve-spreads-table th { width: 15%; }
    #curve-spreads-table th:first-child { width: 24%; }
    #curve-spreads-table th:nth-child(2) { width: 16%; }
    #rates-table { min-width: 0; width: 100%; table-layout: fixed; font-size: clamp(12px, 3.2vw, 13px); }
    #rates-table th, #rates-table td { padding: 8px 4px; height: 36px; }
    #rates-table th:first-child, #rates-table td:first-child { width: 28%; padding-left: 7px; }
    #rates-table th:not(:first-child):not(:last-child) { width: 14%; }
    #rates-table th:nth-child(2):not(:last-child) { width: 16%; }
    #rates-table th:last-child, #rates-table td:last-child { display: none; }
    .earlier-close-mobile { display: block; margin-top: 3px; line-height: 1.3; }
    #rates-table .column-unit { font-size: 9px; margin-top: 2px; }
    .rates-details-dates { display: block; }
    th, td { padding: 12px; }
    #rates-table th:first-child, #rates-table td:first-child { position: sticky; left: 0; background: white; }
    #rates-table thead th:first-child { background: #f7f8fa; }
    #rates-freshness { line-height: 1.7; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

#macro-history-status:empty, #calendar-coverage:empty { display: none; }

.meeting-odds-legend { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 18px; color: #657180; font-size: 13px; }
.meeting-odds-legend > span { display: inline-flex; align-items: center; gap: 7px; }
.meeting-odds-key { width: 14px; height: 14px; display: inline-block; }
.meeting-odds-chart { max-width: 880px; border: 1px solid #e0e3e7; border-radius: 6px; padding: 8px 20px; }
.meeting-odds-row { display: grid; grid-template-columns: 140px 110px 110px minmax(0, 1fr); align-items: center; column-gap: 16px; min-height: 61px; }
.meeting-odds-row + .meeting-odds-row { border-top: 1px solid #edf0f3; }
.meeting-odds-head { min-height: 42px; color: #657180; font-size: 12px; }
.meeting-odds-market { min-width: 0; font-size: 14px; font-weight: 500; }
.meeting-odds-bank { margin-left: 8px; color: #657180; font-weight: 400; font-size: 12px; }
.meeting-odds-date { font-size: 13px; color: #465466; font-variant-numeric: tabular-nums; white-space: nowrap; }
.meeting-odds-rate { font-size: 13px; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.meeting-odds-head > :nth-child(2) { text-align: right; }
.meeting-odds-bar { min-width: 0; display: flex; height: 29px; overflow: hidden; background: #f2f4f7; border-radius: 2px; }
.meeting-odds-segment { display: flex; align-items: center; justify-content: center; min-width: 0; color: #fff; font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; }
.meeting-odds-segment + .meeting-odds-segment { border-left: 2px solid #fff; }
.meeting-odds-cut { background: #315f9c; }
.meeting-odds-hold { background: #737981; }
.meeting-odds-hike { background: #bd4545; }
.meeting-odds-pending { color: #657180; font-size: 12px; }
.meeting-odds-qualifier { margin-left: 5px; font-size: 11px; color: #657180; }
.meeting-odds-row:focus-visible { outline: 2px solid #446888; outline-offset: 3px; }
@media (max-width: 1000px) {
    .meeting-odds-chart { padding: 6px 12px; }
    .meeting-odds-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; padding: 14px 0; }
    .meeting-odds-head { padding: 6px 0; min-height: 30px; }
    .meeting-odds-head > :last-child { display: none; }
    .meeting-odds-head > :nth-child(3) { display: none; }
    .meeting-odds-row > :nth-child(3) { grid-column: 1 / -1; }
    .meeting-odds-row > :nth-child(4) { grid-column: 1 / -1; }
    .meeting-odds-date::before { content: 'Next meeting: '; color: #657180; }
    .meeting-odds-bar { height: 28px; }
}

.update-overview-block { margin-bottom: 24px; }
.update-overview { margin: 0 0 6px; font-size: 13px; line-height: 1.6; color: #657180; }
.update-overview[data-state="attention"] { color: #9a5a20; }
.update-overview-block .update-status { border: 0; margin: 0; padding: 0; font-size: 12px; color: #657180; }
.update-overview-block .update-status summary { width: fit-content; }
.update-overview-block #update-status-table { min-width: 760px; }

.market-update-details { margin-top: 5px; font-size: 11px; line-height: 1.6; }
.market-update-details ul { padding-left: 16px; margin: 6px 0; }

.site-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 32px;
    padding-top: 16px;
    border-top: 1px solid #e1e1e1;
    font-size: 12px;
}
.site-footer a { color: #657180; text-underline-offset: 3px; }
.about-content { max-width: 960px; margin: 0 auto; padding: 32px 24px; line-height: 1.7; }
.about-content h1 { margin: 0 0 12px; font-size: 28px; }
.about-content p { margin: 0; color: #465364; }
.about-content a { color: #365d7d; text-underline-offset: 3px; overflow-wrap: anywhere; }
@media (max-width: 700px) {
    .about-content { padding: 24px 16px; font-size: 14px; }
}
