/* Portfolio player only. No external font, thumbnail, tracking or layout dependency. */
.pwm-video { min-width: 0; max-width: 100%; }
.pwm-video-stage { position: relative; width: 100%; aspect-ratio: 16 / 9; min-height: 200px; background: #0d100c; border: 1px solid #333b2e; overflow: hidden; display: grid; place-items: center; }
.pwm-video-stage iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pwm-video-load, .pwm-video-unload { font: inherit; color: #d6ff43; background: #151b11; border: 1px solid #667c36; border-radius: .25rem; padding: .85rem 1rem; cursor: pointer; max-width: 100%; white-space: normal; }
.pwm-video-load { display: inline-flex; gap: .7rem; align-items: center; justify-content: center; min-height: 48px; }
.pwm-video-load:focus-visible, .pwm-video-unload:focus-visible, .pwm-video-fallback a:focus-visible { outline: 3px solid #d6ff43; outline-offset: 3px; }
.pwm-video-notice, .pwm-video-status, .pwm-video-fallback { color: #b8bcb2; font-size: .85rem; line-height: 1.6; overflow-wrap: anywhere; }
.pwm-video-fallback a { text-decoration: underline; text-underline-offset: .2em; }
.pwm-video-status:empty { display: none; }
.pwm-video [hidden] { display: none !important; }
/* At a narrow card width, retain YouTube's documented minimum 200px player height.
   At all other widths the player is 16:9. Vertical originals are letterboxed by YouTube. */
@media (prefers-reduced-motion: reduce) { .pwm-video * { animation: none !important; transition: none !important; } }

/* Theater extension: same iframe and parent, no playback URL reload. */
.pwm-video-theater-play,.pwm-video-close{font:inherit;color:#d6ff43;background:#151b11;border:1px solid #667c36;border-radius:.25rem;padding:.65rem .9rem;cursor:pointer;min-height:44px}
.pwm-video-theater-play{margin:.5rem .7rem .5rem 0}
.pwm-video-theater-play:focus-visible,.pwm-video-close:focus-visible{outline:3px solid #d6ff43;outline-offset:3px}
.pwm-video-stage.pwm-video-has-player{display:block}
.pwm-video-shell{position:relative;inset:auto;display:block;box-sizing:border-box;margin:0;padding:0;width:100%;max-width:none;height:auto;max-height:none;border:0;background:#080b07;color:#f2f4ed;overflow:visible}
.pwm-video-shell:not([open]){display:none}
.pwm-video-canvas{position:relative;width:100%;aspect-ratio:16/9;min-height:200px;background:#000}
.pwm-video-theater-head{display:none}
.pwm-video-shell.pwm-video-is-theater{position:fixed;margin:0;padding:0;overflow:hidden;border-radius:8px;outline:1px solid #48523a;box-shadow:0 18px 80px #0009;animation:pwm-cinema-enter 180ms ease-out}
.pwm-video-is-theater::backdrop{background:rgb(0 0 0 / 88%)}
.pwm-video-is-theater .pwm-video-theater-head{height:56px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px}
.pwm-video-theater-head h2{font:inherit;font-size:.95rem;line-height:1.2;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pwm-video-close{flex:0 0 auto}
.pwm-video-is-theater .pwm-video-canvas{aspect-ratio:auto;min-height:0}
.pwm-video-safe-probe{position:fixed;visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
@keyframes pwm-cinema-enter{from{opacity:.65;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.pwm-video-shell.pwm-video-is-theater{animation:none}}

/* V1.2 direct Play above optional first-party preview. */
.pwm-video-load{position:relative;z-index:2;border-radius:999px;background:rgb(10 15 8 / 92%);box-shadow:0 4px 24px #0008;font-weight:600}
.pwm-video-hover{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.pwm-video-stage{background-size:contain;background-position:center;background-repeat:no-repeat}

.pwm-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
