/* Weekly risk map. Colors and type come from the Monitor variables. */
.risks-page { font-size: 15px; }
.risks-page main { padding-bottom: 8px; }
.risks-page h1, .risks-page h2 { font-weight: 720; letter-spacing: -.03em; }
.risks-page h2 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.risks-page [data-level="low"] { --level: var(--green); }
.risks-page [data-level="medium"] { --level: #f0c84a; }
.risks-page [data-level="high"] { --level: #f0943a; }
.risks-page [data-level="very high"] { --level: var(--red); }

.block-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 28px 0 12px; }
.block-head span { color: var(--muted-2); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.level-badge { display: inline-flex; align-items: center; padding: 5px 10px; border: 1px solid color-mix(in srgb, var(--level) 55%, transparent); border-radius: 999px; color: var(--level); background: color-mix(in srgb, var(--level) 14%, transparent); font-size: 12px; font-weight: 750; letter-spacing: .04em; white-space: nowrap; }

.risk-hero { margin: 8px 0 0; padding: 18px 0 16px 16px; border-bottom: 1px solid var(--line); border-left: 3px solid var(--level); }
.risk-kicker { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.verdict-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin-top: 8px; }
.verdict-row h1 { margin: 0; color: var(--level); font-size: clamp(34px, 4.4vw, 52px); line-height: 1.02; letter-spacing: -.045em; }
.overall-rule, .sigma-note, .vol-source, .live-line, .prior-note, .level-rule, .calendar-note, .variance-note, .history-note, .book-note, .book-missing { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.book-section.is-missing { margin-top: 22px; }
.week-move { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 8px 22px; margin-top: 14px; }
.week-move strong { font-size: clamp(46px, 6vw, 72px); font-weight: 700; line-height: .9; letter-spacing: -.055em; }
.corridor { display: flex; flex-direction: column; gap: 2px; padding-bottom: 6px; }
.corridor span { color: var(--muted-2); font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.corridor b { font-size: 22px; font-weight: 700; letter-spacing: -.03em; }
.corridor small { color: var(--muted); font-size: 13px; }
.vol-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.vol-chip { display: flex; align-items: baseline; gap: 8px; min-height: 36px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.vol-symbol { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.vol-chip b { font-size: 16px; font-weight: 700; letter-spacing: -.03em; }
.vol-chip.primary b { font-size: 22px; }
.vol-change { font-size: 13px; font-weight: 700; }
.vol-change.down { color: var(--green); }
.vol-change.up { color: var(--red); }
.live-line { color: var(--text); }

.week-map { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 3.2fr) minmax(150px, .95fr); gap: 12px; align-items: stretch; }
.cluster { display: flex; flex-direction: column; gap: 8px; padding: 8px; border: 1px solid color-mix(in srgb, var(--red) 65%, var(--line)); border-radius: 16px; background: color-mix(in srgb, var(--red) 7%, transparent); }
.cluster-label { color: var(--red); font-size: 12px; font-weight: 750; letter-spacing: .02em; line-height: 1.35; }
.cluster-days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; flex: 1; }
.day-card { display: flex; flex-direction: column; min-width: 0; padding: 12px 12px 14px; border: 1px solid var(--line); border-top: 3px solid var(--level); border-radius: 12px; background: var(--surface); }
.day-head { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.day-when { display: flex; align-items: baseline; gap: 8px; min-width: 0; max-width: 100%; }
.day-dow { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.day-date { font-size: 20px; font-weight: 730; letter-spacing: -.03em; }
.day-card .level-badge { padding: 4px 8px; font-size: 11px; }
.because { margin: 6px 0 0; color: var(--level); font-size: 12px; font-weight: 700; }
.day-kicker { margin: 2px 0 0; color: var(--text); font-size: 13px; font-weight: 700; }
.events { margin: 10px 0 0; padding: 0; list-style: none; }
.event { padding: 8px 0; border-top: 1px solid var(--line-soft); }
.event-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.event-time { color: var(--muted); font-size: 12px; font-weight: 700; }
.event-stars { color: var(--level); font-size: 13px; letter-spacing: .04em; }
.event.is-later .event-stars { color: var(--muted-2); }
.event-title { margin: 3px 0 0; font-size: 13px; line-height: 1.35; }
.event-source, .event-empty { margin: 2px 0 0; color: var(--muted-2); font-size: 11px; }
.event-empty { padding-top: 8px; border-top: 1px solid var(--line-soft); list-style: none; }
.day-stats { margin-top: auto; padding-top: 12px; }
.day-move-row { display: flex; align-items: baseline; gap: 8px; }
.day-move { color: var(--level); font-size: 28px; font-weight: 730; letter-spacing: -.04em; line-height: 1; }
.day-usd { color: var(--muted); font-size: 14px; font-weight: 700; }
.stat-line { display: flex; justify-content: space-between; gap: 8px; margin-top: 4px; color: var(--muted); font-size: 12px; }
.stat-line b { color: var(--text); font-weight: 700; }
.history-hint { margin: 8px 0 0; color: var(--muted-2); font-size: 11px; line-height: 1.35; }

.move-chart { display: grid; align-items: end; gap: 6px 0; min-width: 0; }
.chart-val, .chart-name { text-align: center; color: var(--level); font-weight: 750; }
.chart-val { font-size: 13px; letter-spacing: -.02em; }
.chart-name { display: flex; flex-direction: column; gap: 1px; font-size: 12px; }
.chart-dow { letter-spacing: .06em; text-transform: uppercase; }
.chart-dm { color: var(--muted); font-weight: 650; }
.chart-plot { position: relative; height: 168px; margin: 4px 0; }
.chart-plot svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.move-bar { fill: var(--level); }
.ordinary-line { position: absolute; left: 0; right: 0; border-top: 1px dashed var(--muted-2); }
.ordinary-tag { position: static; display: block; margin: 0 0 8px; padding: 0; color: var(--muted); background: transparent; font-size: 12px; font-weight: 700; transform: none; }
.cluster-bracket { margin-top: 2px; padding-top: 6px; border-top: 2px solid var(--red); color: var(--red); font-size: 12px; font-weight: 750; text-align: center; }

.table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.risks-page table { min-width: 720px; }
.risks-page th, .risks-page td { padding: 10px 12px; font-size: 13px; }
.risks-page th { font-size: 11px; letter-spacing: .06em; }
.risks-page td.num, .risks-page th.num { text-align: right; }
.risks-page .up { color: var(--green); }
.risks-page .down { color: var(--red); }
.risks-page td small { color: var(--muted-2); font-size: 11px; font-weight: 650; }
.history-table td:first-child { white-space: normal; min-width: 210px; }
.book-table { min-width: 640px; }
.math-book { min-width: 0; }
.book-block h3 { margin: 16px 0 8px; color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.move-label { display: flex; align-items: baseline; gap: 8px; }
.move-label b { font-size: 15px; }
.move-label small { color: var(--muted); font-weight: 650; }
.book-table tr.group-start td { border-top: 1px solid var(--line); }
.history-table td:first-child, .book-table td:first-child { position: sticky; left: 0; background: var(--surface); }
.risks-page tbody tr:hover td:first-child { background: var(--surface-2); }

.legs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.leg-group { padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.leg { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--line-soft); }
.leg-name { font-size: 14px; }
.leg-price { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.leg-price strong { font-size: 16px; }
.leg-price small { color: var(--muted-2); font-size: 12px; }
.leg-cost { display: flex; justify-content: space-between; gap: 12px; padding-top: 8px; color: var(--muted); font-size: 13px; }
.leg-cost b { color: var(--text); font-size: 16px; }
.leg-cost.total b { font-size: 18px; }
.not-bought { margin: 8px 0 0; color: var(--amber); font-size: 14px; font-weight: 800; letter-spacing: .04em; }

.summary-section { margin-top: 26px; padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--red) 50%, var(--line)); border-radius: 14px; background: color-mix(in srgb, var(--red) 8%, var(--surface)); }
.summary-section h2 { margin-bottom: 6px; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.summary-section p { margin: 0; font-size: 16px; line-height: 1.45; }

.risks-page footer { display: block; margin-top: 8px; padding: 16px 0 28px; color: var(--muted); font-size: 13px; font-weight: 550; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.risks-page footer p { margin: 0 0 6px; }
.risks-page .disclaimer { color: var(--text); font-size: 14px; font-weight: 800; }

@media (max-width: 1100px) {
  .week-map { grid-template-columns: 1fr 1fr; }
  .cluster { grid-column: 1 / -1; }
  .day-next { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .risks-page { font-size: 17px; }
  .risks-page .topbar { grid-template-columns: minmax(0, 1fr); }
  .risk-hero { padding: 16px 0 14px 12px; }
  .risk-kicker { flex-direction: column; gap: 4px; }
  .verdict-row h1 { font-size: 36px; }
  .week-move strong { font-size: 52px; }
  .vol-row { display: grid; grid-template-columns: 1fr 1fr; }
  .week-map, .cluster-days, .legs { grid-template-columns: 1fr; }
  .ideal3-page .week-map,
  .ideal3-page .cluster-days { grid-template-columns: 1fr; min-width: 0; }
  .ideal3-page .week-map .cluster,
  .ideal3-page .week-map .day-next { grid-column: auto; }
  .day-next { grid-column: auto; }
  .chart-plot { height: 132px; }
  .chart-val { font-size: 10px; letter-spacing: -.04em; }
  .chart-name { font-size: 11px; }
  .ordinary-tag { font-size: 10px; }
  .risks-page th, .risks-page td { font-size: 15px; }
  .risks-page th { font-size: 12px; }
  .summary-section p, .event-title, .leg-name { font-size: 16px; }
  .level-rule, .calendar-note, .live-line, .book-note, .book-missing, .history-note { font-size: 15px; }
  .risks-page { overflow-x: clip; }
  .risks-page .page-switch a { min-height: 44px; }
  .risks-page .topbar { position: sticky; top: 0; z-index: 20; background: var(--bg); }
  .chart-scroll { max-width: 100%; overflow: hidden; }
  .ordinary-tag { white-space: normal; }
  .cluster-label, .event-title, .history-note, .book-note { overflow-wrap: anywhere; }
  .risks-page table, .book-table { min-width: 0; }
  .table-scroll { overflow: visible; border: 0; background: transparent; }
  .history-table, .book-table, .history-table tbody, .book-table tbody { display: block; }
  .history-table thead, .book-table thead { display: none; }
  .history-table tr, .book-table tr {
    display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px;
    margin: 0 0 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface);
  }
  .history-table td, .book-table td {
    display: flex; justify-content: space-between; align-items: baseline; gap: 8px;
    border: 0; padding: 0; white-space: normal; text-align: right; min-width: 0;
    font-variant-numeric: tabular-nums;
  }
  .history-table td:first-child, .book-table td:first-child {
    grid-column: 1 / -1; position: static; text-align: left; font-weight: 750; background: transparent;
  }
  .history-table td[data-label]::before, .book-table td[data-label]::before {
    content: attr(data-label); color: var(--muted); font-size: 12px; font-weight: 700; text-align: left;
  }
  .book-table.math-book tr { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .book-table.math-book td:not(:first-child) {
    flex-direction: column; align-items: flex-end; gap: 2px; font-size: 13px;
  }
  .risks-page #as-of { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: 650; }
}
@media (max-width: 700px) {
  .ideal3-page.risks-page { font-size: 15px; }
  .ideal3-page .risk-hero { padding: 10px 0 10px 10px; }
  .ideal3-page .risk-kicker { flex-wrap: wrap; gap: 4px 12px; }
  .ideal3-page .risk-kicker span { min-width: 0; overflow-wrap: normal; word-break: normal; }
  .ideal3-page .verdict-row h1 { font-size: 28px; }
  .ideal3-page .week-move { margin-top: 8px; gap: 6px 12px; }
  .ideal3-page .week-move strong { font-size: 36px; }
  .ideal3-page .day-card { padding: 8px; }
  .ideal3-page .day-head { flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 8px; }
  .ideal3-page .day-when { flex-wrap: wrap; }
  .ideal3-page .day-date { font-size: clamp(14px, 4.2vw, 20px); }
  .ideal3-page .events { margin-top: 6px; }
  .ideal3-page .event { padding: 3px 0; }
  .ideal3-page .event-title { margin-top: 1px; line-height: 1.25; }
  .ideal3-page .day-stats { padding-top: 6px; }
  .ideal3-page .day-move { font-size: 22px; }
  .ideal3-page .week-map,
  .ideal3-page .cluster-days { gap: 8px; }
  .ideal3-page .cluster { padding: 6px; }
  .ideal3-page .sigma-note,
  .ideal3-page .vol-source,
  .ideal3-page .live-line,
  .ideal3-page .prior-note,
  .ideal3-page .level-rule,
  .ideal3-page .calendar-note { margin-top: 4px; }
  .ideal3-page .block-head { margin: 14px 0 8px; }
  .ideal3-page .summary-section { margin-top: 12px; padding: 10px 12px; }
  .ideal3-page.risks-page footer { padding: 8px 0 16px; }
  .ideal3-page .fold { border-bottom: 1px solid var(--line); }
  .ideal3-page .fold > summary {
    padding: 12px 0; color: var(--text); font-size: 16px; font-weight: 720; cursor: pointer;
  }
  .ideal3-page .history-table tr,
  .ideal3-page .book-table tr,
  .ideal3-page .book-table.math-book tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ideal3-page .history-table td,
  .ideal3-page .book-table td {
    min-width: 0; flex-flow: row wrap; align-items: baseline; justify-content: space-between;
    font-size: 13px; gap: 2px 6px;
  }
  .ideal3-page .book-table.math-book td:not(:first-child) {
    flex-direction: row; align-items: baseline; justify-content: space-between;
  }
  .ideal3-page .history-table td:first-child,
  .ideal3-page .book-table td:first-child { text-align: left; justify-content: flex-start; }
  .ideal3-page .history-table td[data-label]::before,
  .ideal3-page .book-table td[data-label]::before {
    flex: 1 1 auto; min-width: 0; text-align: left; white-space: normal; overflow-wrap: normal; word-break: normal;
  }
  .ideal3-page .history-table td small { flex: 0 0 auto; white-space: nowrap; text-align: right; }
  .ideal3-page .chart-val,
  .ideal3-page .chart-dow,
  .ideal3-page .chart-dm {
    min-width: 0; max-width: 100%; overflow: hidden; text-overflow: clip;
    font-size: clamp(8px, 2.4vw, 12px);
  }
}
.ideal3-page .example-badge { margin: 8px 0 0; color: var(--amber); font-size: 13px; font-weight: 750; letter-spacing: .04em; }
.ideal3-page details.fold:not([open]) > :not(summary) { display: none !important; }
@media (max-width: 700px) {
  .ideal3-page details.fold .block-head h2 { display: none; }
  .ideal3-page .vol-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
  .ideal3-page .vol-chip { min-width: 0; min-height: 0; padding: 4px 6px; gap: 3px 6px; }
  .ideal3-page .vol-chip b,
  .ideal3-page .vol-chip.primary b { font-size: 14px; }
  .ideal3-page .chart-plot { height: 56px; }
  .ideal3-page .chart-val { font-size: 13px; letter-spacing: 0; overflow: visible; }
  .ideal3-page .move-chart { gap: 2px 0; }
  .ideal3-page .day-card { padding: 3px 6px; }
  .ideal3-page .because { margin-top: 2px; line-height: 1.15; }
  .ideal3-page .event { padding: 1px 0; }
  .ideal3-page .event-title { font-size: 12px; line-height: 1.15; }
  .ideal3-page .day-move { font-size: 16px; }
  .ideal3-page .day-stats { padding-top: 2px; }
  .ideal3-page .day-date { font-size: 16px; }
  .ideal3-page .block-head { margin: 4px 0 2px; }
  .ideal3-page .fold > summary { padding: 6px 0; }
  .ideal3-page .risk-hero { padding: 6px 0 6px 8px; }
  .ideal3-page .history-table tr,
  .ideal3-page .book-table tr,
  .ideal3-page .book-table.math-book tr {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 4px; margin: 0; padding: 1px 4px;
  }
  .ideal3-page .history-table tr { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ideal3-page .history-table td,
  .ideal3-page .book-table td { font-size: 11px; line-height: 1.05; padding: 0; }
  .ideal3-page .history-table td[data-label]::before,
  .ideal3-page .book-table td[data-label]::before { font-size: 12px; line-height: 1.15; white-space: nowrap; overflow-wrap: normal; }
  .ideal3-page .history-note,
  .ideal3-page .book-note,
  .ideal3-page .variance-note { margin-top: 2px; font-size: 12px; line-height: 1.25; }
  .ideal3-page .history-table td[data-label="cases"],
  .ideal3-page .history-table td[data-label="Usual"],
  .ideal3-page .history-table td[data-label="in 90% of cases"],
  .ideal3-page .history-table td[data-label="Now"] {
    order: 1; flex-wrap: nowrap; white-space: nowrap;
  }
  .ideal3-page .events { margin-top: 2px; }
  .ideal3-page .history-table td[data-label="Worst down"],
  .ideal3-page .history-table td[data-label="Worst up"] {
    order: 2; grid-column: 1 / -1; flex-flow: row nowrap; justify-content: space-between;
    align-items: baseline; white-space: nowrap; min-width: 0;
  }
  .ideal3-page .history-table td,
  .ideal3-page .history-table td small {
    font-size: 13px; color: var(--text); font-weight: 650;
  }
  .ideal3-page .history-table td[data-label]::before {
    font-weight: 500; color: var(--muted-2);
  }
  .ideal3-page .history-table td[data-label="Worst down"]::before,
  .ideal3-page .history-table td[data-label="Worst up"]::before {
    flex: 0 0 auto; white-space: nowrap;
  }
  .ideal3-page .history-table .worst-slot {
    flex: 0 0 11.6em; width: 11.6em; text-align: right;
    font-variant-numeric: tabular-nums; white-space: nowrap;
  }
  .ideal3-page .history-table td:first-child { order: 0; }
}
@media (max-width: 430px) {
  .ideal3-page .book-table.math-book tr {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 2px;
    align-items: center;
    padding: 5px 6px;
  }
  .ideal3-page .history-table tr {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    padding: 4px 6px;
  }
  .ideal3-page .book-table.math-book td:first-child {
    grid-column: 1 / -1;
    white-space: nowrap;
  }
  .ideal3-page .book-table.math-book td:not(:first-child) {
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: baseline;
    white-space: nowrap;
    text-align: right;
  }
  .ideal3-page .book-table.math-book td:not(:first-child)::before {
    flex: 0 0 auto;
    white-space: nowrap;
    overflow-wrap: normal;
  }
  .ideal3-page .vol-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ideal3-page .vol-chip { flex-wrap: wrap; align-content: center; }
  .ideal3-page .vol-symbol,
  .ideal3-page .vol-chip b,
  .ideal3-page .vol-change { white-space: nowrap; }
  .ideal3-page .verdict-row { flex-wrap: wrap; align-items: flex-start; }
  .ideal3-page .verdict-row h1 { flex: 1 1 100%; min-width: 0; }
  .ideal3-page .level-badge { white-space: normal; max-width: 100%; }
  .ideal3-page .day-head { flex-wrap: wrap; }
}
@media (max-width: 400px) {
  .ideal3-page .book-table.math-book tr { column-gap: 8px; padding: 4px 2px; }
  .ideal3-page .book-table.math-book td,
  .ideal3-page .book-table.math-book td[data-label]::before { font-size: 10px; }
  .ideal3-page .book-table.math-book td:not(:first-child) { gap: 2px 4px; }
}
@media (max-width: 700px) {
  .ideal3-page .topbar {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    row-gap: 2px;
  }
  .ideal3-page .identity { grid-area: 1 / 1; display: block; min-width: 0; max-width: 100%; }
  .ideal3-page #status {
    grid-area: 2 / 1;
    justify-self: end;
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 650;
    white-space: nowrap;
  }
  .ideal3-page .page-switch {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .ideal3-page .page-switch a {
    flex: 1 1 0;
    min-width: 0;
    min-height: 36px;
    padding: 0 4px;
    font-size: clamp(12px, 3.4vw, 14px);
    white-space: nowrap;
  }
}
@media (min-width: 701px) {
  .ideal3-page details.fold > summary { display: none; }
  .ideal3-page details.fold[open] > :not(summary) { display: block; }
  .ideal3-page .week-map {
    grid-template-columns: repeat(var(--week-cols, 1), minmax(0, 1fr));
  }
  .ideal3-page .week-map .cluster {
    grid-column: span var(--cluster-span, 1);
    min-width: 0;
  }
  .ideal3-page .week-map .cluster-days {
    grid-template-columns: repeat(var(--cluster-cols, 1), minmax(0, 1fr));
  }
  .ideal3-page .week-map .day-next { grid-column: auto; min-width: 0; }
}
.ideal3-page #status .stale { color: var(--amber, #e0a33a); }

/* pin1 (10.11): Risks desktop — the same pinned header as the other Proto tabs. */
@media (min-width: 701px) {
  .risks-page .topbar { position: sticky; top: 0; z-index: 40; background: var(--bg); box-shadow: 0 0 0 100vmax var(--bg); clip-path: inset(0 -100vmax); }
}
