.ipfv{--ipfv-card-width:240px;--ipfv-gap:16px;--ipfv-radius:10px;--ipfv-background:#15171b;--ipfv-foreground:#fff;--ipfv-headline-size:1rem;max-width:100%;font:inherit;color:inherit}
.ipfv *,.ipfv-dialog *{box-sizing:border-box}
.ipfv button,.ipfv-dialog button{font:inherit;cursor:pointer;border:1px solid #727782;border-radius:6px;padding:.5em .8em;background:#fff;color:#17191d;line-height:1.3;min-height:44px;min-width:44px}
.ipfv button:focus-visible,.ipfv a:focus-visible,.ipfv-track:focus-visible,.ipfv-dialog button:focus-visible,.ipfv-dialog a:focus-visible,.ipfv-caption summary:focus-visible{outline:3px solid #3084ff;outline-offset:3px}
.ipfv button:disabled,.ipfv-dialog button:disabled{opacity:.4;cursor:default}
.ipfv-scroll-controls{display:flex;justify-content:flex-end;gap:6px;margin-bottom:4px}
.ipfv-scroll-controls button{padding:0;font-size:18px}
.ipfv-track{display:flex;gap:var(--ipfv-gap);overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:4px 4px 12px;scrollbar-width:thin;scrollbar-color:#a4a7ad #f1f2f4}
.ipfv-track::-webkit-scrollbar{height:5px}.ipfv-track::-webkit-scrollbar-track{background:#f1f2f4}.ipfv-track::-webkit-scrollbar-thumb{background:#a4a7ad;border-radius:5px}
.ipfv-card{display:flex;flex-direction:column;flex:0 0 var(--ipfv-card-width);min-width:200px;max-width:85vw;margin:0;scroll-snap-align:start}
.ipfv-media{position:relative;flex-shrink:0;aspect-ratio:9/16;background:var(--ipfv-background);color:var(--ipfv-foreground);border-radius:var(--ipfv-radius);overflow:hidden}
.ipfv-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:48px;background:linear-gradient(145deg,#343a48,#14171d)}
.ipfv-thumbnail{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ipfv .ipfv-play{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(transparent 50%,#0005);border:0;border-radius:0;color:#fff;font-size:28px}
.ipfv-play span{display:grid;place-items:center;width:56px;height:56px;background:#0009;border:1px solid #fffb;border-radius:50%;padding-left:3px}
.ipfv .ipfv-expand{position:absolute;right:4px;top:4px;z-index:3;padding:0;background:#111b;color:#fff;font-size:20px;border:4px solid transparent;background-clip:padding-box;border-radius:9px}
.ipfv .ipfv-headline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;font-family:inherit;font-size:var(--ipfv-headline-size);font-weight:650;line-height:1.4;min-height:5.6em;max-height:5.6em;margin:10px 0 8px;overflow-wrap:anywhere}
.ipfv .ipfv-source{display:block;margin-top:auto;padding:4px 0;font:inherit;font-size:.8rem;line-height:1.5;color:inherit;text-decoration:underline;text-underline-offset:3px}
.ipfv-inline{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;background:#111;color:#fff;padding-top:48px;overflow:auto}
.ipfv-playing .ipfv-play,.ipfv-playing .ipfv-thumbnail{visibility:hidden}
.ipfv-frame{position:relative;aspect-ratio:9/16;width:100%;min-height:200px;flex:1;background:#000}
.ipfv-frame iframe,.ipfv-frame>div{position:absolute;inset:0;width:100%;height:100%;border:0}
.ipfv-player-status{font:13px/1.35 system-ui,sans-serif;margin:3px 8px;flex:none}
.ipfv-player-status:empty{display:none}
.ipfv-fallback{display:block;color:inherit;text-decoration:underline;font:12px/1.4 system-ui,sans-serif;padding:4px 8px;flex:none}
.ipfv-dialog{box-sizing:border-box;position:fixed;inset:0;width:100%;max-width:100%;height:100%;height:100dvh;max-height:100%;padding:8px 12px;border:0;margin:0;background:#0b0c10fa;color:#fff;font:16px/1.4 system-ui,sans-serif;overflow:auto}
.ipfv-dialog::backdrop{background:#000c}
.ipfv-dialog:not([open]){display:none}
.ipfv-ios-overlay{z-index:2147483647;isolation:isolate;pointer-events:auto;touch-action:auto}
.ipfv-ios-overlay .ipfv-viewer-header,.ipfv-ios-overlay .ipfv-viewer-controls{position:relative;z-index:2;pointer-events:auto}
.ipfv-ios-overlay .ipfv-frame{height:calc(var(--ipfv-player-width,300px)*16/9)}
.ipfv-ios-overlay .ipfv-frame iframe{position:static;display:block;pointer-events:auto}
.ipfv-ios-overlay button{touch-action:manipulation}
.ipfv-viewer{display:flex;flex-direction:column;align-items:stretch;gap:4px;height:100%;min-height:560px;max-width:900px;margin:0 auto;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.ipfv-viewer.ipfv-caption-open{min-height:calc(560px + 20dvh)}
.ipfv-viewer-header{display:flex;align-items:center;gap:12px;flex:none;min-width:0}
.ipfv-dialog .ipfv-close{flex:none;min-height:44px;margin-left:auto;font-size:13px;padding:6px 10px}
.ipfv-viewer-title{flex:1;min-width:0;font:inherit;font-size:14px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ipfv-viewer-player{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ipfv-viewer-player .ipfv-frame{flex:none;min-height:0;width:min(100%,var(--ipfv-player-width,300px));align-self:center}
.ipfv-viewer-player .ipfv-player-status{max-width:540px;text-align:center}
.ipfv-viewer-controls{display:flex;flex:none;align-items:center;justify-content:center;gap:16px;padding:0}
.ipfv-viewer-controls button{font-size:14px}
.ipfv-position{white-space:nowrap;font-size:13px;color:#c6cad1}
.ipfv-caption{flex:none;align-self:center;width:min(100%,640px);font:12px/1.4 system-ui,sans-serif;color:#d0d3d9}
.ipfv-caption summary{cursor:pointer;min-height:28px;padding:5px 8px;width:fit-content;margin:auto;text-decoration:underline;text-underline-offset:3px}
.ipfv-caption p{max-height:20dvh;overflow:auto;overflow-wrap:anywhere;margin:4px 0;padding:0 8px}
.ipfv [hidden],.ipfv-dialog [hidden]{display:none!important}
@media(max-width:767px),(pointer:coarse){
.ipfv .ipfv-expand{display:none}.ipfv-card{flex-basis:min(var(--ipfv-card-width),75vw)}
.ipfv-dialog{padding:0 4px}.ipfv-viewer{gap:2px}.ipfv-viewer-header{gap:8px;padding:0 4px}
.ipfv-viewer-title{font-size:12px;font-weight:500}
.ipfv-dialog .ipfv-close,.ipfv-dialog .ipfv-viewer-controls button,.ipfv-dialog .ipfv-replay,.ipfv-dialog .ipfv-start{border:0;border-radius:0;background:transparent;color:#fff;padding:6px 10px;font-size:13px;text-decoration:none;min-height:44px}
.ipfv-viewer-controls{gap:8px}.ipfv-caption summary{min-height:28px;padding:4px 8px}
.ipfv-dialog .ipfv-toggle{border:0;background:transparent;color:#fff;font-size:13px;padding:6px 8px}
}
@media(prefers-reduced-motion:reduce){.ipfv-track{scroll-behavior:auto}}
