/* DOR video player */
dor-video{display:block;--dv-bg:#0B0B0B;--dv-raised:#161616;--dv-line:#1F1F1F;--dv-text:#F2F2F2;--dv-dim:#B8B8B8;--dv-mute:#8C8C8C;--dv-accent:#2E6E93;--dv-accent-text:#5B9BC0;font-family:'DOR Sans',system-ui,sans-serif;color:var(--dv-text)}
dor-video [hidden]{display:none!important}
dor-video .dv{position:relative;background:var(--dv-bg);border:1px solid var(--dv-line);border-radius:12px;overflow:hidden}
dor-video .dv-stage{position:relative;aspect-ratio:16/9;background:var(--dv-bg)}
dor-video .dv-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
dor-video .dv-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,0) 55%,rgba(11,11,11,.5));pointer-events:none}
dor-video .dv-play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;padding:0;border-radius:50%;border:1px solid rgba(242,242,242,.22);background:rgba(11,11,11,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--dv-text);display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
dor-video .dv-play:hover,dor-video .dv-play:focus-visible{background:var(--dv-accent);border-color:var(--dv-accent);transform:scale(1.04)}
dor-video .dv-play svg{width:22px;height:22px;margin-left:3px}
dor-video .dv.is-loading .dv-play{pointer-events:none}
dor-video .dv.is-loading .dv-play svg{opacity:0}
dor-video .dv.is-loading .dv-play::after{content:"";position:absolute;width:22px;height:22px;border:2px solid rgba(242,242,242,.25);border-top-color:var(--dv-text);border-radius:50%;animation:dv-spin .8s linear infinite}
@keyframes dv-spin{to{transform:rotate(360deg)}}
dor-video .dv-frame{position:absolute;inset:0}
dor-video .dv-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
dor-video .dv.is-live .dv-poster,dor-video .dv.is-live .dv-shade,dor-video .dv.is-live .dv-play{display:none}
dor-video .dv-bar{display:none;align-items:center;gap:12px;height:48px;padding:0 12px;background:var(--dv-raised);border-top:1px solid var(--dv-line);font-size:13px;line-height:1;font-variant-numeric:tabular-nums;color:var(--dv-dim)}
dor-video .dv.is-live .dv-bar{display:flex}
dor-video .dv-btn{box-sizing:border-box;width:32px;height:32px;padding:0;margin:0;border:0;background:transparent;display:grid;place-items:center;border-radius:4px;color:var(--dv-dim);cursor:pointer;transition:color .15s,background .15s}
dor-video .dv-btn:hover{color:var(--dv-text);background:rgba(242,242,242,.06)}
dor-video .dv-btn svg{width:18px;height:18px}
dor-video .dv-time{min-width:34px;text-align:center}
dor-video .dv-track{position:relative;flex:1;height:24px;cursor:pointer;touch-action:none;outline:none}
dor-video .dv-rail{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--dv-line);border-radius:2px;transition:height .15s,margin-top .15s}
dor-video .dv-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--dv-accent-text);border-radius:2px}
dor-video .dv-knob{position:absolute;top:50%;left:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--dv-text);opacity:0;transition:opacity .15s}
dor-video .dv-track:hover .dv-rail,dor-video .dv-track.is-drag .dv-rail,dor-video .dv-track:focus-visible .dv-rail{height:4px;margin-top:-2px}
dor-video .dv-track:hover .dv-knob,dor-video .dv-track.is-drag .dv-knob,dor-video .dv-track:focus-visible .dv-knob{opacity:1}
dor-video :focus-visible{outline:2px solid var(--dv-accent-text);outline-offset:2px}
dor-video .dv:fullscreen{border:0;border-radius:0;display:flex;flex-direction:column;background:#000}
dor-video .dv:fullscreen .dv-stage{flex:1;aspect-ratio:auto}
.dv-note{margin:10px 0 0;font-family:'DOR Sans',system-ui,sans-serif;font-size:13px;color:#8C8C8C}
.dv-note a{color:#5B9BC0;text-decoration:none}
.dv-note a:hover{text-decoration:underline}
@media (max-width:640px){dor-video .dv-bar{gap:6px;padding:0 6px}dor-video .dv-dur{display:none}dor-video .dv-play{width:60px;height:60px;margin:-30px 0 0 -30px}}
@media (prefers-reduced-motion:reduce){dor-video *{transition:none!important}}
