.ph-show{position:relative;min-width:0}.ph-stage{position:relative;overflow:hidden;background:var(--color-bg-secondary, #1a1a1a)}.ph-frame{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition:opacity 1.1s ease;will-change:opacity}.ph-frame.is-active{opacity:1}.ph-hero{display:flex;flex-direction:column;justify-content:flex-end;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden}.ph-hero .ph-stage{position:absolute;inset:0}.ph-hero-viewport{min-height:calc(100svh - var(--pf-chrome-h, 97px))}.ph-hero .ph-frame.is-active{animation:ph-drift 14s ease-out forwards}@keyframes ph-drift{0%{transform:scale(1.005)}to{transform:scale(1.075)}}.ph-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,11,10,calc(var(--ph-scrim) + .42)),rgba(12,11,10,calc(var(--ph-scrim) * .5)) 45%,rgba(12,11,10,calc(var(--ph-scrim) * .75))),linear-gradient(105deg,#0c0b0a8c,#0c0b0a1a 62%)}.ph-hero-body{position:relative;z-index:2;width:100%;max-width:64rem;margin:0 auto;padding:3rem 1rem 1.25rem;color:#fff}@media(min-width:640px){.ph-hero-body{padding:4rem 1.5rem 1.5rem}}.ph-hero-meta{position:relative;z-index:2;width:100%;max-width:64rem;margin:0 auto;padding:0 1rem 1.25rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .9rem}@media(min-width:640px){.ph-hero-meta{padding:0 1.5rem 1.5rem}}.ph-caption{font-size:.875rem;color:#ffffffeb;text-shadow:0 1px 12px rgba(0,0,0,.6)}.ph-date{color:#ffffff9e!important;text-shadow:0 1px 12px rgba(0,0,0,.6)}.ph-hero-controls{position:relative;z-index:2;width:100%;max-width:64rem;margin:0 auto;padding:0 1rem 1.5rem;display:flex;align-items:center;gap:.5rem}@media(min-width:640px){.ph-hero-controls{padding:0 1.5rem 2rem}}.ph-btn{width:2rem;height:2rem;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.32);background:#00000038;backdrop-filter:blur(4px);transition:background .15s ease,border-color .15s ease;flex-shrink:0}.ph-btn:hover{background:#00000080;border-color:#ffffffbf}.ph-btn svg{width:.95rem;height:.95rem}.ph-icon-play{display:none}.ph-show.is-paused .ph-icon-play{display:block}.ph-show.is-paused .ph-icon-pause{display:none}.ph-ticks{display:flex;align-items:center;gap:.3rem;margin-left:.5rem;flex-wrap:wrap}.ph-tick{width:1.35rem;height:2px;background:#ffffff59;transition:background .2s ease,height .2s ease}.ph-tick:hover{background:#ffffffb3}.ph-tick.is-active{background:#fff;height:4px}.ph-figure{border:1px solid var(--color-border);background:var(--color-card);min-width:0;max-width:100%}.ph-figure .ph-stage{border-bottom:1px solid var(--color-border)}.ph-edge{position:absolute;top:0;bottom:0;width:22%;display:grid;place-items:center;color:#fff;opacity:0;transition:opacity .2s ease;background:linear-gradient(to right,rgba(0,0,0,.45),transparent)}.ph-edge-r{left:auto;right:0;background:linear-gradient(to left,rgba(0,0,0,.45),transparent)}.ph-edge-l{left:0}.ph-edge svg{width:1.6rem;height:1.6rem;filter:drop-shadow(0 1px 6px rgba(0,0,0,.6))}.ph-stage:hover .ph-edge,.ph-edge:focus-visible{opacity:1}.ph-edge-toggle{top:auto;left:auto;right:.5rem;bottom:.5rem;width:1.9rem;height:1.9rem;background:#0006;border:1px solid rgba(255,255,255,.3)}.ph-edge-toggle svg{width:.8rem;height:.8rem;filter:none}.ph-cap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;padding:.75rem 1rem}.ph-cap-text{font-size:.875rem;color:var(--color-text)}.ph-cap-meta{display:flex;align-items:baseline;gap:.9rem;white-space:nowrap}.ph-cap-count b{color:var(--color-text);font-weight:600}.ph-rail{display:flex;gap:2px;padding:0 1rem 1rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;min-width:0}.ph-thumb{flex:0 0 auto;width:4rem;aspect-ratio:3 / 2;overflow:hidden;opacity:.4;filter:grayscale(.5);transition:opacity .2s ease,filter .2s ease}.ph-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ph-thumb:hover{opacity:.85;filter:none}.ph-thumb.is-active{opacity:1;filter:none;outline:2px solid var(--pf-accent);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.ph-frame{transition:none}.ph-hero .ph-frame.is-active{animation:none}}
