/* PHNX replay player — scoped so live rooms keep their own layout. */
.replay-player{position:relative;isolation:isolate;aspect-ratio:16/9;overflow:hidden;background:#080808;color:#fff;scroll-margin-top:80px}
.replay-player video{display:block;width:100%;height:100%;object-fit:contain;background:#080808;touch-action:pan-y}
.replay-player .player-watermark{pointer-events:none}
.replay-start{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px 20px 105px;background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,.18));text-align:center}
.replay-start[hidden],.replay-player [hidden]{display:none!important}
.replay-start-play{display:grid;place-items:center;width:64px;height:64px;flex:none;padding:17px;border:0;border-radius:50%;background:#fff;color:#111;cursor:pointer;transition:transform 140ms cubic-bezier(.23,1,.32,1),opacity 140ms ease}
.replay-start-play svg{width:100%;height:100%;fill:currentColor;stroke:none}
.replay-start p{max-width:380px;margin:0;color:#fff;font-size:14px;line-height:1.4;text-shadow:0 1px 4px #000}
.replay-restart{min-height:40px;padding:6px 16px;border:1px solid #ffffff70;border-radius:24px;background:#121212b8;color:#fff;font-size:13px;font-weight:650;cursor:pointer}
.replay-start-play:disabled{opacity:.6;cursor:wait}
.replay-loading .replay-start-play svg{display:none}
.replay-loading .replay-start-play:after{content:"";width:25px;height:25px;border:3px solid #1113;border-top-color:#111;border-radius:50%;animation:replay-spin .7s linear infinite}
@keyframes replay-spin{to{transform:rotate(360deg)}}
.replay-player .replay-controls{padding:0 12px 7px;background:linear-gradient(transparent,#080808d9 25%);z-index:6}
.replay-timeline{position:relative;height:32px;display:flex;align-items:center}
.replay-track{position:absolute;left:0;right:0;height:4px;border-radius:6px;overflow:hidden;background:#ffffff40;pointer-events:none}
.replay-track>[data-replay-played]{position:absolute;inset:0 auto 0 0;background:#ff3348;width:0}
[data-replay-buffered]{position:absolute;inset:0}
[data-replay-buffered] i{position:absolute;top:0;height:100%;background:#fff8}
.replay-timeline input{position:relative;z-index:1;appearance:none;-webkit-appearance:none;display:block;width:100%;height:32px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y}
.replay-timeline input::-webkit-slider-runnable-track{height:4px;background:transparent}
.replay-timeline input::-moz-range-track{height:4px;background:transparent}
.replay-timeline input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border:0;border-radius:50%;background:#ff3348;box-shadow:0 1px 4px #0008}
.replay-timeline input::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#ff3348;box-shadow:0 1px 4px #0008}
.replay-timeline input:disabled{cursor:default;opacity:.35}
.replay-timeline output{position:absolute;bottom:32px;transform:translateX(-50%);z-index:3;padding:5px 9px;border-radius:6px;background:#121212ed;border:1px solid #ffffff40;color:#fff;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}
.replay-times{display:flex;justify-content:space-between;gap:12px;margin-top:-3px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:#fff}
.replay-buttons{display:flex;align-items:center;gap:4px;margin-top:2px;min-width:0}
.replay-buttons>button{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:background-color 140ms ease,transform 140ms cubic-bezier(.23,1,.32,1)}
.replay-buttons svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.replay-buttons svg text{font-size:9px;font-weight:800;fill:currentColor;stroke:none}
.replay-buttons [data-replay-play-shape]{fill:currentColor;stroke:none}
.replay-buttons .is-muted{opacity:.5}
.replay-player button:active{transform:scale(.97)}
.replay-player button:focus-visible,.replay-player input:focus-visible,.replay-player select:focus-visible{outline:2px solid #fff;outline-offset:2px}
.replay-feedback{position:absolute;z-index:7;top:22%;left:50%;transform:translateX(-50%);max-width:90%;padding:10px 16px;border-radius:25px;background:#101010d9;color:#fff;text-align:center;font-size:14px;font-weight:700;pointer-events:none}
.replay-settings-dialog{position:fixed;inset:0;margin:auto;width:min(380px,calc(100vw - 28px));max-height:calc(100dvh - 36px);box-sizing:border-box;padding:18px;border:1px solid var(--border,#454545);border-radius:18px;background:var(--surface,#191919);color:var(--text,#fff);box-shadow:0 18px 70px #0007;overflow:auto}
.replay-settings-dialog::backdrop{background:#0008}
.replay-settings-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.replay-settings-dialog h2{font-size:18px;margin:0;line-height:1.3}
.replay-settings-dialog header button{width:44px;height:44px;flex:none;border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer}
.replay-settings-dialog label{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;border-bottom:1px solid var(--border,#444);font-size:14px;font-weight:600}
.replay-settings-dialog select{max-width:190px;min-height:44px;padding:7px 10px;border:1px solid var(--border,#555);border-radius:9px;color:var(--text,#fff);background:var(--bg,#111);font-size:14px}
.replay-settings-dialog select:disabled{opacity:.7}
.replay-settings-dialog input[type=range]{width:160px;min-width:0;height:44px;accent-color:#f33448}
.replay-settings-dialog input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:#f33448}
.replay-audio-option small{display:block;margin-top:3px;font-size:11px;font-weight:400;opacity:.75}
.replay-settings-dialog .replay-pip-button,.replay-copy-link{width:100%;min-height:44px;padding:10px;margin-top:14px;border:1px solid var(--border,#555);border-radius:12px;background:var(--bg,#111);color:var(--text,#fff);font-size:14px;font-weight:650;cursor:pointer}
.replay-settings-dialog button:disabled{opacity:.5;cursor:not-allowed}
.replay-settings-note{font-size:12px;line-height:1.4;opacity:.75}
.replay-player.replay-audio video{visibility:hidden}
.replay-player.replay-audio:before{content:"Écoute sans image";position:absolute;inset:35% 0 auto;text-align:center;font-size:18px;color:#fff}
.replay-share-dialog label{display:block;border:0}
.replay-share-dialog input[type=text]{display:block;width:100%;box-sizing:border-box;margin-top:12px;min-height:44px;border:1px solid var(--border,#555);border-radius:8px;padding:8px;background:var(--bg,#111);color:var(--text,#fff);font-size:13px}
.replay-share-dialog [role=status]{font-size:13px;margin-bottom:0}
.replay-comment-time{display:inline;padding:1px 4px;border:0;border-radius:4px;background:rgba(255,51,72,.12);color:var(--text,#eee);text-decoration:underline;text-underline-offset:3px;font:inherit;font-weight:700;cursor:pointer}
.watch-main:has(.replay-player) .watch-meta{flex-wrap:wrap;gap:12px}
.watch-main:has(.replay-player) .watch-channel{flex:1 0 100%;min-width:0}
.watch-main:has(.replay-player) .watch-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}
.watch-main:has(.replay-player) .replay-share{white-space:nowrap}
.replay-player:fullscreen{aspect-ratio:auto;width:100vw;height:100dvh;max-height:none!important;margin:0;border-radius:0}
.replay-player:fullscreen .replay-controls{padding-inline:max(14px,env(safe-area-inset-left));padding-bottom:max(8px,env(safe-area-inset-bottom))}
@media(hover:hover) and (pointer:fine){.replay-buttons>button:hover{background:#ffffff26}.replay-restart:hover{background:#303030e0}}
@media(min-width:1000px){
  body.replay-cinema-mode .app-shell{grid-template-columns:minmax(0,1fr)!important}
  body.replay-cinema-mode #sidebar{display:none!important}
  body.replay-cinema-mode #main-content{grid-column:1!important;width:100%!important;box-sizing:border-box;justify-self:stretch;margin-left:0!important}
  body.replay-cinema-mode .watch-layout{grid-template-columns:minmax(0,1fr);max-width:1500px;margin-inline:auto}
  body.replay-cinema-mode .watch-layout>.related{display:none}
  body.replay-cinema-mode .replay-player{height:calc(100dvh - 110px);max-height:900px;aspect-ratio:auto}
}
@media(max-width:999px){.replay-buttons>.replay-cinema{display:none}}
@media(max-width:720px){
  .replay-player{aspect-ratio:4/3}
  .replay-player.replay-portrait{aspect-ratio:9/14;max-height:calc(100dvh - 140px);min-height:300px}
  .replay-player .replay-controls{padding:0 8px 5px}
  .replay-timeline,.replay-timeline input{height:36px}
  .replay-timeline output{bottom:36px}
  .replay-buttons{gap:4px;justify-content:space-between}
  .replay-times{font-size:11px}
  .replay-start{padding:12px 16px 106px;gap:8px}
  .replay-start p{font-size:13px}
  .replay-start-play{width:54px;height:54px;padding:15px}
  .replay-restart{min-height:36px;padding:5px 12px;font-size:12px}
  .replay-settings-dialog{padding:14px}
}
@media(prefers-reduced-motion:reduce){.replay-player button{transition:none}.replay-player button:active{transform:none}.replay-loading .replay-start-play:after{animation-duration:1.5s}}

.replay-timeline output{padding:5px;border-radius:8px;box-shadow:0 4px 16px #0008;text-align:center;max-width:172px;min-width:48px}.replay-timeline output[hidden]{display:none}.replay-preview-image{position:relative;display:block;width:160px;height:90px;overflow:hidden;background:#080808;border-radius:4px;margin-bottom:5px}.replay-preview-image[hidden]{display:none}.replay-preview-image img{position:absolute;width:1600px!important;height:900px!important;max-width:none!important;object-fit:fill!important;pointer-events:none}.replay-preview-clock{display:block;font-weight:600;line-height:18px}.replay-timeline input{touch-action:none}


/* Replay controls aligned with PHNX LIVE, 2026-10-15. */
.replay-player.yt-replay-player{width:100%;max-width:100%;min-width:0;min-height:0;border-radius:12px;background:#000;aspect-ratio:16/9;font-family:Arial,Helvetica,sans-serif;color:#fff;--rp-accent:#ff0033}
.replay-player.yt-replay-player video{background:#000}
.replay-player.yt-replay-player .replay-controls{position:absolute;inset:auto 0 0;display:block;padding:26px 14px 6px;transform:none;opacity:1;background:linear-gradient(transparent,#000b 55%,#000d);transition:opacity 160ms ease;pointer-events:auto;z-index:6}
.replay-player.yt-replay-player.is-playing:not(.controls-visible) .replay-controls{opacity:0;pointer-events:none}
.replay-player.yt-replay-player.is-playing:not(.controls-visible){cursor:none}
.replay-player.yt-replay-player:has(.rp-menu[open]) .replay-controls{opacity:1;pointer-events:auto;cursor:auto}
.replay-player.yt-replay-player .replay-timeline{height:20px;margin:0 0 0;touch-action:none}
.replay-player.yt-replay-player .replay-track{height:3px;border-radius:0;background:#fff4;transition:height 100ms ease}
.replay-player.yt-replay-player .replay-track>[data-replay-played]{background:linear-gradient(90deg,#ff0033 80%,#ed0b8b)}
.replay-player.yt-replay-player .replay-timeline input{height:20px;min-height:20px;padding:0;outline-offset:0;touch-action:none}
.replay-player.yt-replay-player .replay-timeline input::-webkit-slider-runnable-track{height:3px}
.replay-player.yt-replay-player .replay-timeline input::-moz-range-track{height:3px}
.replay-player.yt-replay-player .replay-timeline input::-webkit-slider-thumb{width:12px;height:12px;margin-top:-4.5px;background:#ff0033;box-shadow:none;opacity:0;transition:opacity 100ms ease}
.replay-player.yt-replay-player .replay-timeline input::-moz-range-thumb{width:12px;height:12px;background:#ff0033;box-shadow:none;opacity:0}
.replay-player.yt-replay-player .replay-timeline:hover input::-webkit-slider-thumb,.replay-player.yt-replay-player .replay-timeline:focus-within input::-webkit-slider-thumb{opacity:1}
.replay-player.yt-replay-player .replay-timeline:hover input::-moz-range-thumb,.replay-player.yt-replay-player .replay-timeline:focus-within input::-moz-range-thumb{opacity:1}
.replay-player.yt-replay-player .replay-buttons{height:42px;gap:2px;margin:0;justify-content:flex-start}
.replay-player.yt-replay-player .replay-buttons>button,.replay-player.yt-replay-player .rp-volume button{width:40px;min-width:40px;height:40px;display:grid;place-items:center;padding:8px;flex:none;border:0;background:transparent;border-radius:50%;color:#fff;cursor:pointer;transition:background-color 120ms ease,transform 120ms ease}
.replay-player.yt-replay-player .replay-buttons svg,.replay-player.yt-replay-player .rp-center-controls svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #0005)}
.replay-player.yt-replay-player .replay-buttons .is-muted{opacity:1}
.replay-player.yt-replay-player [data-replay-mute] .rp-volume-off{display:none}
.replay-player.yt-replay-player [data-replay-mute].is-muted .rp-volume-on{display:none}
.replay-player.yt-replay-player [data-replay-mute].is-muted .rp-volume-off{display:block}
.replay-player.yt-replay-player .rp-volume{display:flex;align-items:center;gap:0;flex:none}
.replay-player.yt-replay-player .rp-volume input{appearance:none;-webkit-appearance:none;width:0;max-width:68px;height:24px;min-height:24px;margin:0;opacity:0;padding:0;border:0;background:transparent;cursor:pointer;transition:width 140ms ease,opacity 140ms ease;--rp-volume:100%}
.replay-player.yt-replay-player .rp-volume:hover input,.replay-player.yt-replay-player .rp-volume:focus-within input{width:62px;opacity:1;margin-right:10px}
.replay-player.yt-replay-player .rp-volume input::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,#fff 0 var(--rp-volume),#fff5 var(--rp-volume) 100%)}
.replay-player.yt-replay-player .rp-volume input::-moz-range-track{height:3px;background:#fff5}
.replay-player.yt-replay-player .rp-volume input::-moz-range-progress{background:#fff;height:3px}
.replay-player.yt-replay-player .rp-volume input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:11px;height:11px;margin-top:-4px;border:0;border-radius:50%;background:#fff}
.replay-player.yt-replay-player .rp-volume input::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:#fff}
.replay-player.yt-replay-player .replay-times{display:flex;gap:4px;align-items:center;flex:none;margin:0 6px;font-size:12px;font-weight:400;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;color:#fff}
.replay-player.yt-replay-player .player-spacer{flex:1;min-width:0}
.replay-player.yt-replay-player .replay-start{padding:20px 20px 74px;background:linear-gradient(transparent,#0006);gap:12px}
.replay-player.yt-replay-player .replay-start-play{width:68px;height:48px;border-radius:14px;padding:12px 23px;background:#212121dd;color:#fff}
.replay-player.yt-replay-player .replay-start-play svg{width:24px;height:24px}
.replay-player.yt-replay-player .rp-center-controls{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:32px;z-index:4;opacity:0;pointer-events:none;transition:opacity 140ms ease}
.replay-player.yt-replay-player.replay-paused .rp-center-controls{opacity:1;pointer-events:auto}
.replay-player.yt-replay-player .replay-start:not([hidden])~.rp-center-controls,.replay-player.yt-replay-player.replay-loading .rp-center-controls{display:none}
.replay-player.yt-replay-player .rp-center-controls button{display:grid;place-items:center;flex:none;border:0;border-radius:50%;background:#171717b8;color:#fff;width:48px;height:48px;padding:12px;cursor:pointer}
.replay-player.yt-replay-player .rp-center-controls [data-rp-center-play]{width:60px;height:60px;padding:15px}
.replay-player.yt-replay-player .rp-center-controls svg text{fill:currentColor;stroke:none;font-size:9px;font-weight:700}
.replay-player.yt-replay-player .replay-feedback{top:24%;font-size:13px;font-weight:500}
.replay-player.yt-replay-player>dialog.rp-menu{position:absolute;inset:auto 14px 76px auto;margin:0;box-sizing:border-box;width:min(300px,calc(100% - 28px));max-height:calc(100% - 88px);padding:6px 0;border:0;border-radius:12px;background:#232323f5;color:#fff;box-shadow:0 8px 32px #0008;overflow:auto;z-index:9;overscroll-behavior:contain;transform-origin:bottom right;color-scheme:dark}
.replay-player.yt-replay-player>dialog.rp-menu[open]{display:block}
.replay-player.yt-replay-player .rp-menu header{display:flex;align-items:center;padding:0 8px 4px 16px;margin:0;border-bottom:1px solid #ffffff1f}
.replay-player.yt-replay-player .rp-menu h2{font-size:13px;font-weight:600;line-height:36px;margin:0}
.replay-player.yt-replay-player .rp-menu header button{width:32px;height:36px;font-size:23px}
.replay-player.yt-replay-player .rp-menu-row,.replay-player.yt-replay-player .rp-menu-option,.replay-player.yt-replay-player .rp-menu-back{display:flex;align-items:center;width:100%;min-height:44px;gap:12px;padding:8px 16px;border:0;border-radius:0;background:transparent;color:#fff;cursor:pointer;text-align:left;font-size:13px;font-weight:500}
.replay-player.yt-replay-player .rp-menu-row>span{flex:1}.replay-player.yt-replay-player .rp-menu-row strong{font-size:12px;font-weight:400;white-space:nowrap}
.replay-player.yt-replay-player .rp-menu-row svg,.replay-player.yt-replay-player .rp-menu-back svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
.replay-player.yt-replay-player .rp-menu-option:before{content:'';width:16px;flex:none}.replay-player.yt-replay-player .rp-menu-option[aria-checked=true]:before{content:'✓';font-size:17px}
.replay-player.yt-replay-player .rp-menu-back{border-bottom:1px solid #ffffff1f;font-weight:600}
.replay-player.yt-replay-player .rp-menu label{margin:0;padding:8px 16px;min-height:50px;border:0;font-size:13px;cursor:pointer}
.replay-player.yt-replay-player .rp-menu input[type=checkbox]{appearance:none;width:32px;height:18px;min-height:0;min-width:32px;border:0;border-radius:20px;background:#777;position:relative;margin:0;cursor:pointer}
.replay-player.yt-replay-player .rp-menu input[type=checkbox]:before{content:'';position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#fff}
.replay-player.yt-replay-player .rp-menu input[type=checkbox]:checked{background:#ff0033}.replay-player.yt-replay-player .rp-menu input[type=checkbox]:checked:before{transform:translateX(14px)}
.replay-player.yt-replay-player .rp-menu .replay-audio-option small{max-width:200px;font-size:10px;color:#ccc}
.replay-player.yt-replay-player .rp-menu .rp-menu-note{font-size:11px;line-height:1.5;color:#ccc;padding:8px 16px;margin:0}
.replay-player.yt-replay-player .rp-menu .replay-settings-note{padding:8px 16px;font-size:11px}
.replay-player.yt-replay-player:fullscreen{border-radius:0}
@media(hover:hover) and (pointer:fine){.replay-player.yt-replay-player .replay-buttons>button:hover,.replay-player.yt-replay-player .rp-volume button:hover{background:#fff2}.replay-player.yt-replay-player .rp-menu button:hover,.replay-player.yt-replay-player .rp-menu label:hover{background:#fff1}.replay-player.yt-replay-player .replay-timeline:hover .replay-track{height:5px}.replay-player.yt-replay-player .replay-start-play:hover{background:#ff0033}}
@media(max-width:999px){.replay-player.yt-replay-player .replay-buttons>.replay-cinema{display:none}}
@media(max-width:720px){.replay-player.yt-replay-player{aspect-ratio:16/9;border-radius:10px}.replay-player.yt-replay-player.replay-portrait{aspect-ratio:9/14;max-height:calc(100dvh - 140px);min-height:0}.replay-player.yt-replay-player .replay-controls{padding:24px 8px 5px}.replay-player.yt-replay-player .replay-buttons{height:44px;gap:0}.replay-player.yt-replay-player .replay-buttons>button,.replay-player.yt-replay-player .rp-volume button{width:40px;min-width:40px;height:44px}.replay-player.yt-replay-player .replay-times{font-size:11px;gap:3px;margin:0 3px}.replay-player.yt-replay-player .rp-volume input{display:none}.replay-player.yt-replay-player .replay-buttons>[data-replay-pip]{display:none}.replay-player.yt-replay-player .replay-timeline,.replay-player.yt-replay-player .replay-timeline input{height:28px}.replay-player.yt-replay-player .replay-timeline output{bottom:34px}.replay-player.yt-replay-player>dialog.rp-menu{right:8px;bottom:82px;width:min(288px,calc(100% - 16px));max-height:calc(100% - 94px)}.replay-player.yt-replay-player .replay-timeline input::-webkit-slider-thumb{opacity:1}.replay-player.yt-replay-player .rp-center-controls{gap:20px}.replay-player.yt-replay-player.controls-visible.is-playing .rp-center-controls{opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.replay-player.yt-replay-player *{transition:none!important}.replay-player.yt-replay-player button:active{transform:none}}


.replay-player.yt-replay-player > dialog.rp-menu header{position:sticky;top:-6px;z-index:2;background:#222}
