:root{
  --k-yellow:#f4d211;
  --k-black:#090b0d;
  --k-charcoal:#1d2125;
  --k-steel:#626b74;
  --k-paper:#f3f4f1;
  --k-white:#fff;
  --line:#aeb4ba;
  --ink:#111417;
  --muted:#5c6670;
  --danger:#c6202e;
  --success:#008f5a;
  --blue:#006fb9;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#000;font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif}
.stage{position:relative;top:50%;width:100vw;height:56.25vw;margin:auto;overflow:hidden;transform:translateY(-50%);background:#090b0d;background:var(--k-black);color:#fff;font-size:1vw}
@media(min-aspect-ratio:16/9){.stage{width:177.7778vh;height:100vh;font-size:1.7778vh}}
.slide{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:0;transform:scale(1.006);transition:opacity .75s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);pointer-events:none;will-change:opacity,transform}
.slide.active{z-index:2;opacity:1;transform:scale(1);pointer-events:auto}
.slide.leaving{z-index:1;opacity:0;transform:scale(.998)}
.bg{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center;background-size:cover}
.bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}
.program-logo,.kn,.logo-slot img,.focus-list img,.milestone img,.status-body img{display:block;object-fit:contain;opacity:1;filter:none;mix-blend-mode:normal}
.masthead{position:absolute;top:0;left:0;right:0;z-index:5;height:13.5%;display:grid;grid-template-columns:9em 1fr auto;align-items:center;grid-gap:2em;gap:2em;padding:0 4%;border-bottom:.38em solid #f4d211;border-bottom:.38em solid var(--k-yellow);background:rgba(9,11,13,.97)}
.program-logo{width:7.5em;height:6.1em}
.mast-context{display:flex;align-items:center;gap:1.2em;color:#fff;font-size:.7em;letter-spacing:.13em}
.mast-context strong{color:#f4d211;color:var(--k-yellow)}
.mast-context span{padding-left:1.2em;border-left:1px solid rgba(255,255,255,.35)}
.kn-wrap{display:flex;align-items:center;padding:0;border:0;background:transparent;box-shadow:none}
.kn{width:26em;height:auto}
.live{display:inline-flex;align-items:center;gap:.55em;padding:.46em .85em;background:#c6202e;background:var(--danger);color:#fff;font-size:1.02em;font-style:italic;font-weight:950;letter-spacing:.025em}
.live:before{content:"";width:.58em;height:.58em;border-radius:50%;background:#fff}
.footer{position:absolute;left:0;right:0;bottom:0;z-index:6;height:7.5%;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-top:.38em solid #f4d211;border-top:.38em solid var(--k-yellow);background:rgba(9,11,13,.98);color:#fff;color:var(--k-white);font-size:.78em;font-weight:950;letter-spacing:.04em}
.footer strong{color:#f4d211;color:var(--k-yellow)}

/* Ouverture */
.cover .bg{background-image:url('/assets/cover-loader-snow.jpg');background-position:center 45%}
.cover .bg:after{background:linear-gradient(90deg,rgba(5,7,9,.84) 0,rgba(5,7,9,.46) 39%,rgba(5,7,9,.08) 68%),linear-gradient(0deg,rgba(5,7,9,.94),transparent 42%)}
.cover-main{position:absolute;left:4%;top:18%;z-index:3;width:52%;height:49%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:2.4em 3em 2.4em 0;background:linear-gradient(90deg,rgba(9,11,13,.96) 0 76%,rgba(9,11,13,.58) 90%,transparent)}
.cover-title{margin:.36em 0 .18em;font-size:3.85em;line-height:.87;letter-spacing:-.045em;text-shadow:0 .08em .3em rgba(0,0,0,.35)}
.cover-title span{color:#f4d211;color:var(--k-yellow)}
.cover-tag{padding-top:.62em;border-top:.14em solid #f4d211;border-top:.14em solid var(--k-yellow);color:#fff;font-size:1.02em;font-weight:950;letter-spacing:.1em}
.edition{position:absolute;right:4%;top:17.8%;z-index:4;min-width:15.5em;padding:.78em 1em;border-left:.46em solid #f4d211;border-left:.46em solid var(--k-yellow);background:rgba(9,11,13,.9);text-align:right}
.edition b{display:block;color:#f4d211;color:var(--k-yellow);font-size:1.2em}
.edition span{display:block;margin-top:.28em;color:#fff;font-size:.72em;font-weight:850}
.commitments{position:absolute;left:0;right:0;bottom:7.45%;z-index:4;height:18.3%;display:flex;align-items:center;gap:.72em;padding:.72em 4%;border-top:.32em solid #f4d211;border-top:.32em solid var(--k-yellow);background:rgba(9,11,13,.97)}
.commitments>strong{flex:0 0 8.8em;padding-right:1.2em;border-right:.2em solid #f4d211;border-right:.2em solid var(--k-yellow);font-size:.72em;line-height:1.35;letter-spacing:.06em}
.logo-slot{height:83%;min-width:0;flex:1;display:flex;align-items:center;justify-content:center;padding:.38em .55em;border:1px solid #34393e;background:#14171a}
.logo-slot img{max-width:100%;max-height:100%}
.logo-slot.pks-slot{flex:1.75;border-left:.35em solid #f4d211;border-left:.35em solid var(--k-yellow)}
.logo-slot.pks-slot img{width:100%;max-width:100%;height:auto}
.logo-slot.wide{flex:1.25}
.logo-slot.safeguard{flex:1.2}

/* En-tête Kiewit commun */
.inner-header{position:relative;height:23%;overflow:hidden;border-bottom:.5em solid #f4d211;border-bottom:.5em solid var(--k-yellow);color:#fff;color:var(--k-white)}
.inner-header .bg:after{background:linear-gradient(90deg,rgba(7,9,11,.96),rgba(7,9,11,.52) 56%,rgba(7,9,11,.9))}
.inner-header .topbar{position:absolute;top:0;left:0;right:0;z-index:4;height:42%;display:grid;grid-template-columns:7.2em 1fr auto;align-items:center;grid-gap:1.5em;gap:1.5em;padding:0 4%;border-bottom:.22em solid #f4d211;border-bottom:.22em solid var(--k-yellow);background:rgba(9,11,13,.96)}
.inner-header .program-logo{width:6.1em;height:4.7em}
.inner-header .kn-wrap{padding:0}
.inner-header .kn{width:22.5em}
.bar-label{color:#cfd3d6;font-size:.62em;font-weight:800;letter-spacing:.09em;white-space:nowrap}
.head-copy{position:absolute;left:4%;bottom:7%;z-index:4}
.head-copy>span{display:block;margin-bottom:.28em;color:#f4d211;color:var(--k-yellow);font-size:.64em;font-weight:950;letter-spacing:.16em}
.head-copy h1{margin:0;font-size:2.18em;line-height:.94;letter-spacing:-.025em}
.head-copy p{margin:.28em 0 0;color:#fff;font-size:.72em;font-weight:850;letter-spacing:.07em}
.head-edition{position:absolute;right:4%;bottom:8%;z-index:4;padding-left:1em;border-left:.35em solid #f4d211;border-left:.35em solid var(--k-yellow);text-align:right}
.head-edition b{display:block;color:#f4d211;color:var(--k-yellow);font-size:1.02em}
.head-edition span{color:#fff;font-size:.64em;font-weight:800}
.achievements .inner-header .bg{background-image:url('/assets/tv-achievements.webp');background-position:center 62%}
.voice .inner-header .bg{background-image:url('/assets/tv-voice.webp');background-position:center 54%}
.happening .inner-header .bg{background-image:url('/assets/happening-header.png');background-position:center}
.coming .inner-header .bg{background-image:url('/assets/coming-up-header.png');background-position:center}
.acted .inner-header .bg{background-image:url('/assets/acted-header.png');background-position:center}

/* Surfaces */
.achievements,.voice,.happening,.coming,.acted{background:#f3f4f1;background:var(--k-paper);color:#111417;color:var(--ink)}
.achievement-body,.voice-body,.operations-body,.coming-body,.acted-body{height:69.5%;padding:1.6% 2.2%;background:linear-gradient(135deg,#eceeec,#dfe2e3)}
.panel{position:relative;overflow:hidden;border:1px solid #9ea5ab;border-radius:.18em;background:#fff;color:#111417;color:var(--ink);box-shadow:0 .32em .8em rgba(18,22,25,.12)}
.panel-title{height:17%;min-height:2.8em;display:flex;align-items:center;padding:0 1.1em;border-bottom:.25em solid #f4d211;border-bottom:.25em solid var(--k-yellow);background:#090b0d;background:var(--k-black);color:#fff;font-size:.86em;font-weight:950;letter-spacing:.035em}
.panel-title:before{content:"";width:.32em;height:1.3em;margin-right:.72em;background:#f4d211;background:var(--k-yellow)}

/* Réalisations */
.achievement-body{display:grid;grid-template-rows:.88fr 1.52fr;grid-gap:1.2em;gap:1.2em}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.78em;gap:.78em}
.metric{position:relative;display:grid;grid-template-columns:3.25em 1fr;grid-template-rows:1fr auto auto;align-items:center;padding:.82em 1em .9em;border:1px solid #9ea5ab;border-top:.48em solid #f4d211;border-top:.48em solid var(--k-yellow);background:#fff;color:#111417;color:var(--ink);box-shadow:0 .25em .7em rgba(18,22,25,.1)}
.metric-index{grid-row:1/4;width:2.7em;height:2.7em;display:grid;place-items:center;background:#090b0d;background:var(--k-black);color:#f4d211;color:var(--k-yellow);font-size:1.02em;font-weight:950}
.metric-number{font-size:2.75em;font-weight:950;line-height:.78}
.metric-label{margin-top:.35em;font-size:.72em;font-weight:950}
.metric-note{margin-top:.18em;color:#5c6670;color:var(--muted);font-size:.62em;line-height:1.25}
.incident-metric.alert{border-top-color:#c6202e;border-top-color:var(--danger)}
.incident-metric.alert .metric-index{background:#c6202e;background:var(--danger);color:#fff}
.achievement-lower{display:grid;grid-template-columns:1.8fr .9fr;grid-gap:.82em;gap:.82em}
.win{height:83%;display:grid;grid-template-columns:42% 1fr;grid-gap:1.4em;gap:1.4em;padding:1.15em}
.win img{width:100%;height:100%;min-height:0;border:.18em solid #090b0d;border:.18em solid var(--k-black);object-fit:cover}
.win-copy{align-self:center}
.accent-rule{width:42%;height:.42em;margin-bottom:.85em;background:#f4d211;background:var(--k-yellow)}
.win-copy h2{margin:0 0 .5em;font-size:1.14em;line-height:1.06}
.win-copy p{margin:0;color:#5c6670;color:var(--muted);font-size:.72em;line-height:1.4}
.progress-list{height:83%;padding:1.25em 1.4em}
.progress-row{margin-bottom:1.02em}
.progress-row>div:first-child{display:flex;align-items:flex-end;justify-content:space-between;gap:.6em;margin-bottom:.4em}
.progress-row b{font-size:.66em}
.progress-row span{font-size:.66em;font-weight:950}
.track{height:.62em;overflow:hidden;background:#d3d6d8}
.fill{height:100%;background:#f4d211;background:var(--k-yellow);transition:width .35s ease}
.progress-row:nth-child(3) .fill{background:#006fb9;background:var(--blue)}

/* Voix du terrain */
.voice-body{display:grid;grid-template-columns:1.72fr .94fr;grid-gap:.82em;gap:.82em}
.quote-panel{height:100%}
.quote-content{height:83%;display:grid;grid-template-columns:3.7em 1fr;align-content:center;grid-gap:1.1em;gap:1.1em;padding:1.75em 2em;border-left:.6em solid #f4d211;border-left:.6em solid var(--k-yellow)}
.quote-icon{color:#f4d211;color:var(--k-yellow);font-family:Georgia,serif;font-size:5em;font-weight:900;line-height:.55}
.report-photo{display:none;width:100%;height:100%;min-height:0;border:.18em solid #090b0d;border:.18em solid var(--k-black);background:#1d2125;background:var(--k-charcoal);object-fit:contain}
.quote-content.has-photo{grid-template-columns:40% 1fr;padding:1.25em;border-left-width:.4em}
.quote-content.has-photo .report-photo{display:block}
.quote-content.has-photo .quote-icon{display:none}
.quote{align-self:center;min-width:0}
.quote h2{margin:0 0 .45em;font-size:1.75em;line-height:1.04;letter-spacing:-.02em;overflow-wrap:break-word;overflow-wrap:anywhere}
.quote h2.long{font-size:1.38em;line-height:1.08}
.quote h2.very-long{font-size:1.08em;line-height:1.12}
.quote p{margin:0;color:#5c6670;color:var(--muted);font-size:.7em}
.quote-rule{width:48%;height:.45em;margin-top:1.05em;background:#f4d211;background:var(--k-yellow)}
.crew{margin-top:1.05em}
.crew b{display:block;font-size:.64em}
.crew span{display:block;margin-top:.22em;color:#5c6670;color:var(--muted);font-size:.64em}
.voice-side{display:grid;grid-template-rows:1.05fr .86fr;grid-gap:.82em;gap:.82em}
.detail-body{height:83%;padding:1.1em 1.25em}
.detail{margin-bottom:.72em}
.detail b{display:block;margin-bottom:.22em;font-size:.61em}
.detail-line{min-height:1.1em;padding-bottom:.18em;border-bottom:.3em solid #d2d5d7;color:#5c6670;color:var(--muted);font-size:.64em;line-height:1.25}
.next-body{height:83%;display:grid;grid-template-columns:1fr 6.4em;align-items:center;grid-gap:.9em;gap:.9em;padding:.75em 1em}
.action-details .detail{margin-bottom:.45em}
.status,.action-status{display:inline-flex;padding:.34em .65em;background:#f4d211;background:var(--k-yellow);color:#090b0d;color:var(--k-black);font-size:.62em;font-weight:950}
.qr{display:flex;flex-direction:column;align-items:center;gap:.3em;color:#111417;color:var(--ink);text-decoration:none;font-size:.55em;font-weight:950}
.qr img{width:6.2em;height:6.2em;padding:.15em;background:#fff}

/* Ce qui se passe */
.operations-body{display:grid;grid-template-columns:1.62fr .9fr;grid-template-rows:1.2fr .78fr;grid-gap:.82em;gap:.82em}
.timeline-panel,.watch-panel{height:100%}
.timeline{height:83%;display:grid;align-content:center;grid-gap:.72em;gap:.72em;padding:1em 1.4em}
.timeline-item{display:grid;grid-template-columns:4.2em 1.1em 1fr;align-items:center;grid-gap:.85em;gap:.85em}
.timeline-item .time{padding:.55em .65em;background:#090b0d;background:var(--k-black);color:#f4d211;color:var(--k-yellow);text-align:center;font-size:.78em;font-weight:950}
.timeline-item i{width:.85em;height:.85em;background:#f4d211;background:var(--k-yellow);transform:rotate(45deg)}
.timeline-item b{padding:.68em .9em;border-left:.32em solid #f4d211;border-left:.32em solid var(--k-yellow);background:#eceeed;font-size:.72em}
.watch-list{height:83%;display:grid;align-content:center;grid-gap:.72em;gap:.72em;padding:1em 1.25em}
.watch-list div{padding-bottom:.55em;border-bottom:.25em solid #d2d5d7}
.watch-list b{display:block;font-size:.63em}
.watch-list span{display:block;margin-top:.3em;color:#5c6670;color:var(--muted);font-size:.64em;line-height:1.25}
.focus-panel{grid-column:1/-1}
.focus-list{height:83%;display:grid;grid-template-columns:repeat(3,1fr) 8em;align-items:center}
.focus-list div{height:64%;display:flex;flex-direction:column;justify-content:center;padding:0 1.25em;border-right:1px solid #c4c8cb}
.focus-list b{font-size:.69em}
.focus-list span{margin-top:.35em;color:#5c6670;color:var(--muted);font-size:.63em;line-height:1.3}
.focus-list img{width:6.6em;height:6.6em;justify-self:center}

/* À venir */
.coming-body{display:grid;grid-template-columns:1.62fr .9fr;grid-gap:.82em;gap:.82em}
.event-list{height:83%;display:grid;align-content:center;grid-gap:.68em;gap:.68em;padding:1em 1.25em}
.event{display:grid;grid-template-columns:8em 1fr;grid-template-rows:auto auto;padding:.72em .9em;border-left:.4em solid #f4d211;border-left:.4em solid var(--k-yellow);background:#eceeed}
.event-date{grid-row:1/3;align-self:center;color:#090b0d;color:var(--k-black);font-size:.68em;font-weight:950}
.event b{font-size:.76em}
.event small{margin-top:.2em;color:#5c6670;color:var(--muted);font-size:.61em}
.coming-side{display:grid;grid-template-rows:1fr .84fr;grid-gap:.82em;gap:.82em}
.meeting-list{height:83%;display:grid;align-content:center;grid-gap:.8em;gap:.8em;padding:1em 1.25em}
.meeting-list div{padding-bottom:.65em;border-bottom:.28em solid #d2d5d7}
.meeting-list b{display:block;font-size:.68em}
.meeting-list span{display:block;margin-top:.28em;color:#5c6670;color:var(--muted);font-size:.62em}
.milestone{height:83%;display:grid;grid-template-columns:4.8em 1fr 7em;align-items:center;grid-gap:.8em;gap:.8em;padding:.65em 1em}
.milestone>span{display:grid;place-items:center;height:3.9em;background:#f4d211;background:var(--k-yellow);font-size:.85em;font-weight:950}
.milestone b{display:block;font-size:.68em}
.milestone small{display:block;margin-top:.3em;color:#5c6670;color:var(--muted);font-size:.6em}
.milestone img{width:6.8em;height:3.6em;justify-self:end}

/* Vous avez parlé */
.acted-body{display:grid;grid-template-columns:1.55fr .9fr;grid-template-rows:1.18fr .78fr;grid-gap:.82em;gap:.82em}
.process-panel{grid-column:1/-1}
.process{height:83%;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;grid-gap:.8em;gap:.8em;padding:1em 1.5em}
.process-step{height:80%;display:grid;grid-template-columns:3em 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:.75em 1em;border:1px solid #b6bbc0;border-left:.42em solid #f4d211;border-left:.42em solid var(--k-yellow);background:#eceeed}
.process-step>span{grid-row:1/3;width:2.4em;height:2.4em;display:grid;place-items:center;background:#090b0d;background:var(--k-black);color:#f4d211;color:var(--k-yellow);font-weight:950}
.process-step b{font-size:.72em}
.process-step small{color:#5c6670;color:var(--muted);font-size:.61em}
.process>i{color:#f4d211;color:var(--k-yellow);font-size:2.5em;font-style:normal;font-weight:950}
.impact-list{height:83%;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;padding:.8em}
.impact-list div{display:flex;flex-direction:column;justify-content:center;height:68%;padding:0 1em;border-right:1px solid #c4c8cb;text-align:center}
.impact-list div:last-child{border-right:0}
.impact-list b{font-size:.68em}
.impact-list span{margin-top:.35em;color:#5c6670;color:var(--muted);font-size:.62em}
.status-body{height:83%;display:grid;grid-template-columns:1fr 1fr 8.5em;grid-template-rows:1fr 1fr;align-items:center;grid-gap:.35em .8em;gap:.35em .8em;padding:.55em 1em}
.status-body .action-status{grid-row:1/3;justify-self:start}
.status-body b{align-self:end;font-size:.64em}
.status-body small{align-self:start;color:#5c6670;color:var(--muted);font-size:.62em}
.status-body img{grid-column:3;grid-row:1/3;width:8em;height:5.5em;justify-self:end}

/* Commandes et état de la connexion */
.chrome{position:absolute;right:1.05em;bottom:.92em;z-index:10;display:flex;align-items:center;gap:.5em;opacity:.12;transition:opacity .25s}
.stage:hover .chrome{opacity:1}
.chrome:focus-within{opacity:1}
.chrome>button{width:2.25em;height:2.25em;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(9,11,13,.9);color:#fff;font-size:1em}
.dots{display:flex;align-items:center;gap:.36em}
.dots .dot{width:.54em;height:.54em;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.35)}
.dots .dot.active{background:#f4d211;background:var(--k-yellow)}
.tv-status{position:fixed;bottom:0;left:0;right:0;z-index:30;margin:0;padding:.5em 1em;background:#090b0d;color:#f4d211;text-align:center;font-size:16px}
@media(prefers-reduced-motion:reduce){.slide{transition:none}}

/* Count the published messages in this bounded voice passage. */
.voice-panel-title{display:flex;align-items:center;justify-content:space-between}
.voice-message-counter{margin-left:1em;color:#f4d211;font-size:.9em;font-weight:800;white-space:nowrap}
