.bleu-player{position:relative;width:100%;min-width:0;line-height:0;background:#080a0a}
.bleu-player video{display:block;width:100%;height:auto;margin:0}
.bleu-player__surface{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;margin:0;padding:0;background:transparent;border:0;border-radius:0;color:white;cursor:pointer;touch-action:manipulation}
.bleu-player__surface:focus-visible{outline:1px solid white;outline-offset:-4px}
.bleu-player__hint{position:absolute;bottom:12px;left:14px;font:400 10px/1.5 var(--bleu-label-font);letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 6px #000}
.bleu-player__hint[hidden]{display:none}
.bleu-player__poster{display:block;width:100%;aspect-ratio:16/9;min-height:200px;object-fit:cover}
.bleu-player--youtube iframe{min-height:200px}
.bleu-player--youtube.has-poster:not(.has-started) iframe{position:absolute;inset:0;opacity:0;pointer-events:none}
.bleu-player--youtube.has-started .bleu-player__poster{display:none}
.bleu-player:fullscreen{display:flex;align-items:center;justify-content:center}
.bleu-player:fullscreen video{max-height:100vh;object-fit:contain}
.bleu-player--youtube:fullscreen iframe{height:100vh;width:100%;aspect-ratio:auto}
@media(max-width:760px){.project-overview>.bleu-player{margin-bottom:26px}}

.bleu-player__captions{position:absolute;z-index:3;left:6%;right:6%;bottom:8%;color:#fff;text-align:center;pointer-events:none;font:400 var(--caption-size,16px)/1.3 var(--bleu-body-font);letter-spacing:0;text-transform:none;text-wrap:balance;text-shadow:0 1px 3px #000,0 0 6px #0009}
.bleu-player__captions span{padding:.08em .25em;background:#080a0a66;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:2px}
.bleu-player__captions[hidden]{display:none}

.bleu-player__cc{position:absolute;z-index:4;right:10px;bottom:6px;min-width:36px;min-height:32px;padding:6px;background:transparent;border:0;border-radius:0;color:white;font:400 10px/1 var(--bleu-label-font);text-shadow:0 1px 4px #000;cursor:pointer;transition:opacity .2s}
.bleu-player__cc[aria-pressed="false"]{color:#ffffff80}
.bleu-player.is-playing:not(.is-active) .bleu-player__cc:not(:focus-visible){opacity:0;pointer-events:none}
.bleu-player__cc:focus-visible{outline:1px solid white;outline-offset:-4px}

.bleu-player__timeline{position:absolute;z-index:4;left:12px;right:12px;bottom:0;height:44px;display:flex;align-items:center;transition:opacity .2s}
.bleu-player__timeline input{--progress:0%;width:100%;height:44px;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;border:0;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}
.bleu-player__timeline input::-webkit-slider-runnable-track{height:1px;background:linear-gradient(to right,#fff var(--progress),#ffffff65 var(--progress))}
.bleu-player__timeline input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:5px;height:5px;border-radius:50%;background:white;margin-top:-2px;border:0}
.bleu-player__timeline input::-moz-range-track{height:1px;background:#ffffff65}.bleu-player__timeline input::-moz-range-progress{height:1px;background:white}.bleu-player__timeline input::-moz-range-thumb{width:5px;height:5px;border:0;border-radius:50%;background:white}
.bleu-player__timeline input:focus-visible{outline:1px solid #ffffff80;outline-offset:0}
.bleu-player.is-playing:not(.is-active):not(.is-seeking) .bleu-player__timeline:not(:has(input:focus-visible)){opacity:0}
.bleu-player__hint{bottom:32px}.bleu-player__cc{bottom:24px}.bleu-player__captions{bottom:max(52px,8%)}

.bleu-player__hint{left:14px;bottom:50%;transform:translateY(50%);right:14px;display:flex;justify-content:center;pointer-events:none}.bleu-player__hint svg{width:32px;height:32px;filter:drop-shadow(0 1px 4px #0008)}
.bleu-player__sound{position:absolute;z-index:5;left:8px;bottom:32px;width:36px;height:36px;padding:8px;border:0;border-radius:50%;background:#0004;color:white;cursor:pointer;transition:opacity .2s;touch-action:manipulation}.bleu-player__sound svg{width:20px;height:20px;display:block}.sound-on{display:none}.is-unmuted .sound-on{display:block}.is-unmuted .sound-off{display:none}.bleu-player.is-playing .bleu-player__sound.is-unmuted:not(:focus-visible){opacity:0;pointer-events:none}.bleu-player__sound:focus-visible{outline:1px solid white;outline-offset:2px}.bleu-player__cc{bottom:34px}.bleu-player__captions{bottom:max(62px,8%)}

/* Sound lives at the right edge; captions sit beside it when available. */
.bleu-player__sound{left:auto;right:8px}.bleu-player__cc{right:52px}
