#keen-fragility-estimate h2{font-size:1.18rem;margin:0 0 .5rem}#keen-fragility-estimate .keen-type{display:inline-block;background:#e7f1f8;color:#24526b;border:1px solid #b9d5e6;padding:.22rem .65rem;border-radius:20px;font-size:.77rem;margin:.25rem 0 .65rem}#daily-keen-controls{border:0;padding:0;display:flex;align-items:end;flex-wrap:wrap;gap:.7rem 1.5rem;margin:1.1rem 0}#daily-keen-controls legend{font-size:.8rem;color:#586973;margin-bottom:.4rem}#daily-keen-controls label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}#daily-keen-controls select{font:inherit;border:1px solid #91b9b5;border-radius:8px;background:#f6fbfa;padding:.5rem .7rem;color:#173e43;max-width:100%}#daily-keen-controls :focus-visible{outline:3px solid #0f766e;outline-offset:3px}#daily-keen-readout{padding:.75rem 1rem;background:#e4f3f0;border-left:3px solid #0f766e;font-size:.88rem}:is(#daily-keen-chart,#daily-keen-history){min-width:0}:is(#daily-keen-chart,#daily-keen-history) .macro-chart{border:0;padding:0;margin:1rem 0}:is(#daily-keen-chart,#daily-keen-history) h3{font-size:1rem;margin:.3rem 0}:is(#daily-keen-chart,#daily-keen-history) .chart-unit,:is(#daily-keen-chart,#daily-keen-history) .stress-caption{font-size:.8rem;color:#526579;margin:.35rem 0}:is(#daily-keen-chart,#daily-keen-history) svg{width:100%;height:auto;display:block}:is(#daily-keen-chart,#daily-keen-history) .chart-legend{display:flex;flex-wrap:wrap;gap:.45rem 1.2rem;font-size:.8rem;margin:.6rem 0}:is(#daily-keen-chart,#daily-keen-history) .chart-legend span{display:inline-flex;gap:.45rem;align-items:center}:is(#daily-keen-chart,#daily-keen-history) .chart-legend i{width:18px;height:4px;display:inline-block;flex-shrink:0}:is(#daily-keen-chart,#daily-keen-history) details{font-size:.8rem;margin-top:.7rem}:is(#daily-keen-chart,#daily-keen-history) summary{cursor:pointer;color:#0f766e;padding:.35rem 0}:is(#daily-keen-chart,#daily-keen-history) .table-wrap{overflow:auto;max-width:100%}:is(#daily-keen-chart,#daily-keen-history) table{border-collapse:collapse;min-width:620px;text-align:left}:is(#daily-keen-chart,#daily-keen-history) th,:is(#daily-keen-chart,#daily-keen-history) td{padding:.5rem;border-bottom:1px solid #dde5e9}#keen-fragility-estimate .keen-caveat{font-size:.83rem;color:#526579;max-width:95ch}#keen-fragility-estimate .keen-next{font-size:.85rem;margin:1rem 0}#keen-fragility-estimate .keen-next summary{cursor:pointer;color:#0f766e}#keen-fragility-estimate .keen-links{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:1rem;font-size:.9rem}@media(max-width:500px){#daily-keen-controls{display:grid;grid-template-columns:1fr;gap:.6rem}:is(#daily-keen-chart,#daily-keen-history) h3{font-size:.95rem}#daily-keen-readout{font-size:.82rem}}

#keen-fragility-estimate .keen-axis-explanation{font-size:.88rem;line-height:1.6;background:#f3f7fa;border-left:3px solid #3b687c;padding:.8rem 1rem}
#keen-fragility-estimate .keen-axis-explanation span{display:block;margin-top:.4rem}
#keen-fragility-estimate .chart-axis-label{font-size:.86rem;line-height:1.5;color:#203e4a;margin:.6rem 0}
#keen-fragility-estimate .keen-history-section{margin-top:1.7rem;padding-top:1.4rem;border-top:1px solid #d5e3e8}
#keen-fragility-estimate .keen-history-section>h3{font-size:1rem}
#keen-fragility-estimate .keen-history-section>p{font-size:.87rem;line-height:1.6}
#keen-fragility-estimate .chart-context-caption{font-size:.78rem;color:#526579}
#keen-fragility-estimate .chart-context-caption ul{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;padding-left:1.2rem}
#keen-fragility-estimate .keen-history-note,#keen-fragility-estimate .keen-history-sources{font-size:.8rem;line-height:1.6}

/* Shared calendar-level views; selectors stay adjacent to each main chart. */
:is(#keen-fragility-estimate,#market-outlook) .timeline-controls{display:flex;align-items:end;flex-wrap:wrap;gap:.7rem 1.2rem;border:0;padding:0;margin:1rem 0}
:is(#keen-fragility-estimate,#market-outlook) .timeline-controls legend{font-size:.8rem;color:#526579;margin-bottom:.5rem}
:is(#keen-fragility-estimate,#market-outlook) .timeline-controls label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;max-width:100%}
:is(#keen-fragility-estimate,#market-outlook) .timeline-controls select{font:inherit;border:1px solid #91b9b5;border-radius:8px;background:#f6fbfa;padding:.5rem;color:#173e43;max-width:100%}
:is(#keen-fragility-estimate,#market-outlook) .timeline-controls .timeline-check{flex-direction:row;align-items:center;padding:.6rem 0}
:is(#keen-fragility-estimate,#market-outlook) .timeline-readout{font-size:.85rem;line-height:1.6;padding:.7rem 1rem;background:#e4f3f0;border-left:3px solid #0f766e}
#keen-fragility-estimate .keen-gdp-range{padding:.35rem .65rem;border:1px solid #ccdadd;background:white;color:#526579;border-radius:18px;cursor:pointer}
#keen-fragility-estimate .keen-gdp-range.on{background:#d5f2ee;border-color:#12847f;color:#076d70}
:is(#keen-fragility-estimate,#market-outlook) :focus-visible{outline:3px solid #0f766e;outline-offset:3px}
:is(#keen-gdp-chart,#market-outlook-chart){min-width:0}
:is(#keen-gdp-chart,#market-outlook-chart) h3{font-size:1rem;margin:.7rem 0}
:is(#keen-gdp-chart,#market-outlook-chart) .chart-axis-label{font-size:.8rem;line-height:1.5;color:#344f60}
:is(#keen-gdp-chart,#market-outlook-chart) .timeline-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0;font-size:.77rem}
:is(#keen-gdp-chart,#market-outlook-chart) .timeline-legend span{display:inline-flex;align-items:center;gap:.4rem}
:is(#keen-gdp-chart,#market-outlook-chart) .timeline-boundary-caption,:is(#keen-gdp-chart,#market-outlook-chart) .chart-context-caption{font-size:.77rem;color:#526579}
:is(#keen-gdp-chart,#market-outlook-chart) .table-wrap,#market-outlook .table-wrap{max-width:100%;overflow:auto}
:is(#keen-gdp-chart,#market-outlook-chart) table,#market-outlook table{border-collapse:collapse;font-size:.76rem;text-align:left;min-width:550px}
:is(#keen-gdp-chart,#market-outlook-chart) th,:is(#keen-gdp-chart,#market-outlook-chart) td,#market-outlook th,#market-outlook td{padding:.45rem .6rem;border-bottom:1px solid #d5e3e8}
:is(#keen-gdp-chart,#market-outlook-chart) caption,#market-outlook caption{font-size:.78rem;text-align:left;padding:.6rem 0}
:is(#keen-gdp-chart,#market-outlook) summary{cursor:pointer;color:#0f766e;font-size:.85rem;padding:.5rem 0}
#market-outlook{margin-top:1.6rem;padding-top:1rem;border-top:1px solid #d5e3e8}#market-outlook>h3{font-size:1.1rem}
#market-outlook-chart[hidden]{display:none}
#keen-diagnostics{border-top:1px solid #d5e3e8;padding-top:.65rem}
#market-outlook{margin-top:.8rem;padding-top:.4rem}#market-outlook>h3{font-size:.95rem;margin:.4rem 0}
#market-outlook-support{margin-top:1rem}#market-outlook-support summary{cursor:pointer;color:#0f766e;font-size:.85rem;padding:.45rem 0}
#market-outlook-support .table-wrap{overflow:auto;max-width:100%}#market-outlook-support table{border-collapse:collapse;min-width:520px;font-size:.8rem;text-align:left}#market-outlook-support th,#market-outlook-support td{padding:.5rem;border-bottom:1px solid #d5e3e8}
#market-outlook-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.78rem;margin:.7rem 0}#market-outlook-legend span{display:inline-flex;align-items:center;gap:.4rem}#market-outlook-legend i{width:22px;flex:none}
#market-fragility [hidden]{display:none!important}
#keen-stress-comparison{border-top:1px solid #d5e3e8;border-bottom:1px solid #d5e3e8;margin:1.5rem 0;padding:1.2rem 0}
#keen-stress-comparison>h3{font-size:1.1rem;margin:0 0 .6rem}.keen-stress-select{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600}
#keen-stress-metric{font:inherit;padding:.6rem;border:1px solid #91b9b5;border-radius:8px;max-width:100%;width:fit-content;background:#f6fbfa;color:#173e43}
#keen-stress-chart h3{font-size:1rem}#keen-stress-chart .timeline-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.78rem;margin:1rem 0}#keen-stress-chart .timeline-legend span{display:inline-flex;align-items:center;gap:.4rem}
#keen-stress-chart .chart-axis-label,#keen-stress-chart .timeline-boundary-caption,#keen-stress-chart .chart-context-caption{font-size:.8rem;color:#344f60;line-height:1.5}
#keen-stress-chart details,#keen-start-date{font-size:.85rem;line-height:1.6;margin:.8rem 0}#keen-stress-chart summary,#keen-start-date summary{color:#0f766e;cursor:pointer;padding:.4rem 0}
#keen-stress-chart table{border-collapse:collapse;font-size:.76rem;min-width:550px;text-align:left}#keen-stress-chart td,#keen-stress-chart th{padding:.45rem;border-bottom:1px solid #d5e3e8}
#keen-fragility-estimate .chart-caveat,#market-fragility .chart-caveat{font-size:.78rem;color:#526579;border-left:3px solid #8672a3;padding:.6rem .8rem;background:#f4f1f8}
@media(max-width:500px){#keen-stress-metric{width:100%;font-size:.75rem}#keen-stress-chart .timeline-legend,#market-outlook-legend{display:grid;grid-template-columns:1fr}}
@media(max-width:500px){:is(#keen-fragility-estimate,#market-outlook) .timeline-controls{display:grid;grid-template-columns:1fr}:is(#keen-gdp-chart,#market-outlook-chart) .timeline-legend{display:grid;grid-template-columns:1fr}:is(#keen-gdp-chart,#market-outlook-chart) .chart-axis-label{font-size:.75rem}}
