:root{--white:rgb(255,255,255);--picture-grey:rgb(118,118,118);--stone:rgb(233,236,236);--ink:rgb(31,35,38);--band:rgb(47,47,47);--blue:rgb(24,107,149);--gold:rgb(255,204,78);--field:var(--stone);--text:var(--ink);--line:var(--blue)}
@font-face{font-family:Archivo;src:url(../fonts/archivo.e3a28eade21a.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-display:block}
@font-face{font-family:Plex;src:url(../fonts/plex-sans-400.3b646991d300.woff2);font-weight:400;ascent-override:90%;descent-override:10%;line-gap-override:0%;font-display:block}
@font-face{font-family:Plex;src:url(../fonts/plex-sans-600.8960851d691c.woff2);font-weight:600;ascent-override:90%;descent-override:10%;line-gap-override:0%;font-display:block}
@font-face{font-family:PlexCond;src:url(../fonts/plex-condensed-600.3d72a0923c58.woff2);font-weight:600;ascent-override:90%;descent-override:10%;line-gap-override:0%;font-display:block}
@font-face{font-family:PlexCond;src:url(../fonts/plex-condensed-700.4768878c107d.woff2);font-weight:700;ascent-override:90%;descent-override:10%;line-gap-override:0%;font-display:block}
*{box-sizing:border-box}body{margin:0;background:var(--field);color:var(--text);font-family:Archivo,Arial,sans-serif;font-size:24px;line-height:1.25;font-variant-numeric:tabular-nums}body.exchange{font-family:Plex,Arial,sans-serif}h1,h2,p{margin:0}h1{font-size:56px;font-weight:680;font-stretch:92%;line-height:1.05;letter-spacing:-.02em}h2{font-size:36px;font-weight:600}.exchange h1,.exchange h2,.exchange .headline strong{font-family:PlexCond,Arial,sans-serif;font-weight:600}.exchange h1{font-size:64px}img{display:block;max-width:100%}.logo{width:236px;height:auto;object-fit:contain}.clock{font-size:30px;font-weight:600;white-space:nowrap}.figure{display:inline-block;position:relative;font-weight:650;font-stretch:88%;white-space:nowrap}.hero{font-size:136px;line-height:1.06;font-weight:760;font-stretch:100%;letter-spacing:-.03em}.hero .figure{font-stretch:100%;font-weight:760}.audit{display:block;font-size:22px;line-height:1.1;font-weight:400;letter-spacing:0;white-space:normal}.figure .audit{position:absolute;left:0;top:100%;z-index:3;background:var(--white);color:var(--ink)}.change{font-size:28px;font-weight:600}.change span{display:block;font-size:22px;font-weight:400;color:var(--ink);margin-top:6px}.down{color:var(--ink)}.up{color:var(--ink)}.stale-note{font-size:24px}.chart{display:block;width:100%;height:auto;color:var(--ink)}svg text{font-family:inherit;fill:currentColor;font-size:24px;font-variant-numeric:tabular-nums}.series{fill:none;stroke:var(--line);stroke-linejoin:round;stroke-linecap:butt}.series-1,.series-2{stroke:var(--band)}.series-2{stroke-width:1.5!important}.gridline{stroke:var(--ink);stroke-opacity:.18}.picture{position:relative}.picture>img{width:100%;height:100%;object-fit:cover}.credit{position:absolute;left:0;bottom:0;padding:10px 18px;background:var(--band);color:var(--white);font-size:22px;max-width:100%}.licensed{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:var(--picture-grey);color:var(--white);font-size:28px}.roof{clip-path:polygon(0 8.75%,100% 0,100% 100%,0 100%)}.progress{display:flex;gap:10px;align-items:flex-end}.progress svg{width:14px;height:40px;fill:var(--ink);opacity:.25}.progress svg.filled{opacity:1}.exchange .progress svg{fill:var(--white)}.stale-strip{background:var(--gold);color:var(--band);padding:6px 12px;font-size:22px}.rates{background:var(--band);color:var(--white)}.rate>span:first-child{font-size:22px}.rate .figure{font-size:44px;line-height:1.1}.rate small{display:block;font-size:22px}.selected{border-top:4px solid var(--blue)}footer{background:var(--band);color:var(--white);font-size:22px;line-height:1.35}footer p+p{margin-top:6px}.headline strong{font-size:30px}.headline small{font-size:22px}.legend{font-size:24px}.tower{fill:var(--blue)}.old-tower{fill:none;stroke:var(--band);stroke-width:2}.year-tick{stroke:var(--band);stroke-width:5}.baseline{stroke:var(--ink);stroke-width:2}.tower-number{font-size:44px;font-weight:650}.tower-number.five{font-size:64px}.source-note{font-size:22px}.price-rule{height:4px;background:var(--blue)}#wipe{display:none}
/* Document presentation is the default. Television is enabled only at the requested size. */
.segment{display:flex;flex-direction:column;gap:26px;padding:24px;max-width:100%}.rates{order:-2;padding:20px;display:flex;flex-direction:column;gap:20px}.rate{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px}.rate small{width:100%}header{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}.programme section{display:flex;flex-direction:column;gap:24px;min-width:0}.programme{min-width:0}.programme .picture{min-height:220px}.focus{padding:50px 24px 24px;background:var(--white);color:var(--ink)}.focus-head{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.curve-sheet,.policy-chart,.prices,.five-wide,.dollar-focus,.dollar-chart,.jobs-main{background:var(--white);color:var(--ink);padding:24px}.curve-values{display:flex;flex-wrap:wrap;gap:24px}.curve-values .figure{display:block;font-size:44px}.curve-values span{font-size:22px}.tower-chart{width:100%}.images/bank.98ae8db0cdb2.jpg-layout,.jobs-layout,.spread-layout,.dollar-layout{display:flex;flex-direction:column;gap:24px}.policy,.spread-number{padding:24px}.decision{display:flex;flex-direction:column;gap:10px}.days{font-size:80px}.headline{display:flex;flex-direction:column;gap:8px}.ident-plate{padding:55px 24px 24px;background:var(--white);color:var(--ink)}footer{padding:20px}.hero{font-size:clamp(64px,12vw,136px)}.rates .audit{font-size:22px}h1{overflow-wrap:anywhere}.legend{overflow-wrap:anywhere}.ident-date{font-size:24px}.programme svg{max-width:100%}

@media(prefers-reduced-motion:reduce){#wipe{display:none}}
/* Geometry corrections from first capture pass. */
.roof{clip-path:polygon(0 70px,90.955414px 0,100% 0,100% 100%,0 100%)}
.curve-hero .figure{font-size:120px;line-height:1.2}.curve-hero>span:last-child{display:block;font-size:22px;font-weight:400}

.ident-planes{display:none}

.curve-hero .figure{font-size:clamp(64px,12vw,120px)}

svg text{font-size:28px}.tower-number{font-size:56px}.tower-number.five{font-size:72px}

.document-values{font-size:24px;margin-top:16px;line-height:1.5}.chart text{visibility:hidden}.tower-chart text{font-size:56px}
.tower-chart text{font-size:28px}.tower-chart .tower-number{font-size:56px}.tower-chart .tower-number.five{font-size:72px}
.document-values .figure{font-size:44px}.document-values small{display:block;font-size:22px}.tower-chart{display:none}

.station{display:flex;flex-wrap:wrap;gap:16px}.rate-items{display:flex;flex-direction:column;gap:22px}.rate-date{font-size:22px}.news article{padding:24px 0}.news article p{font-size:28px;overflow-wrap:anywhere}.news time{display:block;font-size:22px;margin-top:12px}.programme .picture img{max-height:500px;object-fit:cover}.chart-plate{background:var(--white);color:var(--ink)}.jobs-panel,.news,.spread{padding:24px;background:var(--band);color:var(--white)}.jobs-panel h2{font-size:28px}.jobs-panel>div{margin:24px 0}.composite{position:relative}.audit-panel{background:var(--band);color:var(--white);padding:24px}.audit-panel p{overflow-wrap:anywhere;font-size:22px}.observation,.source-note{overflow-wrap:anywhere}.chart text{visibility:visible}.figure{max-width:100%}.curve-values{flex-wrap:wrap}.progress{height:6px;background:var(--blue)}
@media(max-width:99.999em){.segment{padding:16px}.programme section{padding:24px 16px}.hero{font-size:clamp(56px,12vw,136px)}.logo{max-width:100%}.credit{font-size:22px;position:relative}.picture{display:flex;flex-direction:column}.picture img{flex:1;min-height:220px}.chart text{visibility:hidden}.tower-chart{display:block}.tower-chart text{font-size:40px}.rate .figure{font-size:40px}.programme .licensed{min-height:220px}.headline{padding:16px}.curve-values .figure{font-size:36px}.programme{display:flex;flex-direction:column;gap:24px}.ident-plate{display:flex!important;flex-direction:column;gap:20px}.rates{order:0}footer{padding:16px}.news h1{font-size:40px}.audit-panel h2{font-size:28px}}

.unused-6{overflow:hidden}.unused-6 video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.unused-6 .unused-6{width:100%;height:100%;object-fit:cover}.unused-6 .credit{z-index:2;white-space:normal}.tower-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.show-lockup{display:flex;align-items:center;flex-wrap:wrap;gap:20px;background:var(--white);color:var(--ink);padding:16px}.show-lockup .logo{width:110px}.show-lockup strong,.show-lockup .unused-7{display:block;font-size:24px}.show-lockup .up-next{font-size:24px}.ident-plate>strong{font-size:54px}.ident-plate .unused-7{font-size:28px}.hero.held-local,.held-tag{background:var(--gold);color:var(--band)}.held-tag{display:block;font-size:26px;line-height:1.2;letter-spacing:0;padding:10px 14px;font-weight:600;white-space:normal}.held .rate-date{background:var(--gold);color:var(--band);padding:8px}.hero-date{font-size:38px}.dollar-meaning{font-size:28px}.tower-explain{font-size:24px}.exchange .change{color:var(--gold)}
@media(max-width:99.999em){.tower-overlay{display:none}.show-lockup{order:-1}.unused-6 video{position:absolute;height:240px}.unused-6 .unused-6{height:240px}.held-tag{overflow-wrap:anywhere}.hero-date{font-size:38px}}
.exchange .change{color:var(--white)}


.rates .held-cell{background:var(--gold);color:var(--band);padding:8px}

.chart-accessible{font-size:1rem;line-height:1.5;padding:16px}.series-2{stroke:var(--ink);stroke-dasharray:4 8}.ident-plate>strong{font-size:clamp(64px,12vw,128px)}.rate.held-cell{background:var(--gold);color:var(--band);padding:8px}.held-local{background:var(--gold);color:var(--band)}.audit-panel p{overflow-wrap:anywhere}.curve-photo .credit{white-space:normal}

body:not(.tv-active) .segment{padding:16px}body:not(.tv-active) .programme{display:flex;flex-direction:column;gap:24px}body:not(.tv-active) .programme section{padding:24px 16px}body:not(.tv-active) .chart{display:none}body:not(.tv-active) .chart-accessible{display:block}body:not(.tv-active) .ident-plate{display:flex;flex-direction:column;gap:18px}body:not(.tv-active) h1{font-size:clamp(2rem,10vw,3.5rem)}body:not(.tv-active) .hero{font-size:clamp(56px,12vw,136px)}body:not(.tv-active) .credit{position:relative;font-size:1rem}body:not(.tv-active) .figure{white-space:normal;overflow-wrap:anywhere}body:not(.tv-active) .clock{white-space:normal}body:not(.tv-active) .rates{padding:16px}body:not(.tv-active) .ident-plate>strong{font-size:clamp(64px,12vw,128px)}

.stacked-credits{display:block;margin-top:8px;color:inherit}
#stream-box,#stream-controls{display:none}
.stream-layout #stream-box{display:block;position:absolute;left:0;top:0;width:1220px;height:686.25px;background:var(--ink)}
#stream-box iframe,#stream-box .stream-still{position:absolute;inset:0;width:100%;height:100%;border:0}
#stream-box iframe{pointer-events:none;visibility:hidden}
#stream-box.playing iframe{visibility:visible}
#stream-box .stream-still{object-fit:cover}
.stream-layout #stream-controls{display:flex;position:absolute;left:96px;top:802px;width:1028px;gap:12px;align-items:center;flex-wrap:wrap;color:var(--ink);z-index:5;font-size:22px}
#on-screen{flex:1}#stream-controls button{font:inherit;color:var(--ink);background:var(--white);border:2px solid var(--ink);padding:8px 16px;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}#stream-controls [hidden]{display:none}
.stream-layout .segment .programme{position:absolute;left:1220px;top:0;width:700px;height:880px;background:var(--white);padding:54px 96px 24px 36px;color:var(--ink);display:block}
.stream-layout .show-lockup{left:96px;top:728px;width:1028px;height:64px;background:var(--white)}
.stream-layout .show-lockup .up-next{font-size:22px}
.stream-layout .plate{font-size:24px;line-height:1.25;position:static;padding:0;width:auto;height:auto;background:var(--white);color:var(--ink)}
.stream-layout .plate h1{font-size:40px;line-height:1.12;margin:0 0 14px;position:static}
.stream-layout .plate h2{font-size:24px;margin:0}.stream-layout .plate p{font-size:24px;line-height:1.3;margin:12px 0}
.stream-layout .plate .hero{font-size:96px;line-height:1.15;position:static;margin:8px 0;padding:0}.stream-layout .plate .hero .held-tag{font-size:22px;line-height:1.3;display:block}
.stream-layout .plate .chart{width:568px;height:330px;display:block;margin:18px 0 0}
.stream-layout .plate .chart text{font-size:23px}.stream-layout .plate .direct-label{display:none}.stream-layout .plate .chart-accessible{display:none}
.stream-layout .plate .chart-key{font-size:22px;margin:8px 0}.stream-layout .plate article p{font-size:30px;line-height:1.35}.stream-layout .plate time{font-size:24px}
.stream-layout .plate .held-tag{font-size:22px;line-height:1.25}
body:not(.tv-active).stream-layout #stage{display:flex;flex-direction:column}
body:not(.tv-active).stream-layout #channel{display:contents}
body:not(.tv-active).stream-layout .rates{order:0}
body:not(.tv-active).stream-layout #stream-box{position:relative;width:100%;height:auto;aspect-ratio:16/9;min-height:200px;order:1}
body:not(.tv-active).stream-layout #stream-controls{position:static;width:auto;margin:24px 16px;order:2}
body:not(.tv-active).stream-layout .segment .programme{position:static;width:auto;height:auto;padding:24px 16px;order:3}
body:not(.tv-active).stream-layout .show-lockup{display:none}
body:not(.tv-active).stream-layout footer{order:4}
body:not(.tv-active).stream-layout .plate .chart{width:100%;height:auto;min-height:200px}
body:not(.tv-active).stream-layout .plate .hero{font-size:64px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* The full-frame segment root has a background; the player stays above it. */
.stream-layout #stream-box{z-index:4}

.stream-layout .plate .hero,.stream-layout .plate .hero .figure{color:var(--ink);position:relative;z-index:1}

/* Keep computed plate changes readable directly below the observation date. */
.stream-layout .plate .change{font-size:36px;line-height:1.2}
.stream-layout .plate .change span{display:inline;font-size:inherit;margin:0 0 0 .25em}

/* Responsive charts retain ticks only when measured labels fit. */
body:not(.tv-active) .programme .chart{display:block;width:100%;height:auto}
body:not(.tv-active) .programme .chart text{visibility:hidden}
body:not(.tv-active) .programme .chart.ticks-fit text:not(.direct-label){visibility:visible}
body:not(.tv-active).stream-layout .plate .chart-accessible{display:block}
.stream-layout .plate .next-decision{font-size:22px;line-height:1.25}
