/* PBi Mobile Player 0.8.1 — full-frame video, transient HUD */
.pbi-mp{--accent:#b8e36b;box-sizing:border-box;background:#050807;color:#eef5f0;font:16px/1.4 system-ui,-apple-system,sans-serif;width:100%;max-width:1100px;margin:auto;padding:12px}
.pbi-mp *{box-sizing:border-box}
.pbi-mp button{-webkit-tap-highlight-color:transparent;cursor:pointer}
.pbi-mp__eyebrow{font-size:11px;letter-spacing:.12em;color:var(--accent)}
.pbi-mp__header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pbi-mp__header h1{font-size:30px;margin:6px 0;color:inherit}
.pbi-mp__status,.pbi-mp__note,.pbi-mp__metrics{font-size:11px;color:#aabcb2}
.pbi-mp__video-area,.pbi-mp__stage{width:100%;min-width:0}
.pbi-mp__frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;isolation:isolate}
.pbi-mp__mount,.pbi-mp__mount>div,.pbi-mp__mount iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border:0!important;margin:0!important;padding:0!important;display:block!important}
.pbi-mp__overlay{position:absolute;inset:0;z-index:5;width:100%;border:0;background:linear-gradient(130deg,#17251e,#0b1110);color:var(--accent);font-size:clamp(18px,4vw,28px);font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px}
.pbi-mp__overlay[hidden],.pbi-mp__tap[hidden]{display:none!important}
.pbi-mp__tap{position:absolute;inset:0;z-index:2;width:100%;border:0;background:transparent;touch-action:manipulation}
.pbi-mp__hud{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:clamp(8px,2dvh,18px);padding:12px max(14px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));background:linear-gradient(to top,rgba(0,0,0,.72),transparent 47%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.pbi-mp--controls-visible .pbi-mp__hud{opacity:1;visibility:visible;pointer-events:auto}
.pbi-mp__controls{display:flex;justify-content:center;gap:clamp(10px,3vw,24px);width:100%}
.pbi-mp__controls button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:48px;padding:7px 12px;border:1px solid #547f60;border-radius:13px;background:rgba(20,51,36,.83);color:#d6f7c2;font:600 12px system-ui,-apple-system,sans-serif;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);touch-action:manipulation}
.pbi-mp__controls button:active{background:#315d44}
.pbi-mp__controls button:disabled{opacity:.4}
.pbi-mp__controls button svg{width:25px;height:25px;flex:none;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.pbi-mp__controls button[data-action=toggle] svg{fill:currentColor;stroke-width:1.5}
.pbi-mp__scrub-panel{display:flex;align-items:center;gap:10px;width:100%;max-width:900px;min-height:28px;touch-action:none}
.pbi-mp__scrub-panel span{font-size:12px;white-space:nowrap;color:#fff;font-variant-numeric:tabular-nums}
.pbi-mp__scrub{flex:1;min-width:0;width:100%;height:30px;margin:0;padding:0;appearance:none!important;-webkit-appearance:none!important;background:transparent!important;border:0!important;border-radius:0!important;outline:none!important;box-shadow:none!important;accent-color:#fff!important;touch-action:none!important;-webkit-tap-highlight-color:transparent!important}
.pbi-mp__scrub::-webkit-slider-runnable-track{height:3px;border:0;border-radius:4px;background:#5b916d!important;box-shadow:none!important}
.pbi-mp__scrub::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:18px;height:18px;margin-top:-7.5px;border:2px solid #e4f3e7;border-radius:50%;background:#fff!important;box-shadow:0 0 0 3px rgba(0,0,0,.4)!important}
.pbi-mp__scrub::-moz-range-track{height:3px;border:0;border-radius:4px;background:#5b916d}
.pbi-mp__scrub::-moz-range-thumb{width:18px;height:18px;border:2px solid #e4f3e7;border-radius:50%;background:#fff}
.pbi-mp__chapters-toggle,.pbi-mp__chapters button{background:#14241b;border:1px solid #3b5448;color:#d6f7c2;border-radius:8px;padding:10px;font:inherit}
.pbi-mp__chapters-toggle{width:100%;display:flex;justify-content:space-between;margin-top:10px}
.pbi-mp__chapters[hidden]{display:none!important}
.pbi-mp__chapters button{width:100%;display:flex;justify-content:space-between}
.pbi-mp button:focus-visible{outline:2px solid #b8e36b;outline-offset:2px}
@media(orientation:landscape) and (max-height:600px){
 html:has(.pbi-mp),body:has(.pbi-mp){margin:0!important;padding:0!important;overflow:hidden!important;background:#000!important}
 .pbi-mp{position:fixed!important;inset:0!important;z-index:999999!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
 .pbi-mp__eyebrow,.pbi-mp__header,.pbi-mp__chapters-toggle,.pbi-mp__chapters,.pbi-mp__note,.pbi-mp__metrics{display:none!important}
 .pbi-mp__stage,.pbi-mp__video-area{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-width:0!important}
 .pbi-mp__frame{width:min(100dvw,calc(100dvh * 16 / 9))!important;max-height:100dvh!important;aspect-ratio:16/9!important;flex:none!important}
 .pbi-mp__hud{gap:clamp(6px,2dvh,12px);padding:8px max(18px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))}
 .pbi-mp__controls button{width:clamp(46px,11dvh,56px);height:clamp(46px,11dvh,56px);min-width:0;min-height:0;padding:0}
 .pbi-mp__controls button span{display:none}
 .pbi-mp__scrub-panel span{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.pbi-mp__hud{transition:none}}

/* v0.8.1: intentional compact, floating, icon-only controls */
.pbi-mp{overflow-x:clip}
.pbi-mp__overlay[hidden]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.pbi-mp__overlay{background:#101b15!important;color:#d6f7c2!important}
.pbi-mp__hud{justify-content:flex-end;gap:8px;padding:12px 12px 10px;background:linear-gradient(to top,rgba(0,0,0,.50),transparent 45%)}
.pbi-mp__controls{position:relative;width:100%;height:44px;display:block}
.pbi-mp__controls button{position:absolute;top:0;display:grid;place-items:center;width:42px;height:42px;min-width:42px;min-height:42px;padding:0!important;border-radius:50%;border:1px solid rgba(187,222,195,.42)!important;background:rgba(8,25,18,.65)!important;color:#e6f7e8!important;box-shadow:0 2px 12px rgba(0,0,0,.20);font-size:0!important;line-height:0!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.pbi-mp__controls button span{display:none!important}
.pbi-mp__controls button svg{width:23px;height:23px;display:block}
.pbi-mp__controls button[data-action=toggle]{left:0}
.pbi-mp__controls button[data-action=prev]{left:50px}
.pbi-mp__controls button[data-action=next]{right:0}
.pbi-mp__controls button:active{background:rgba(50,85,62,.85)!important}
.pbi-mp__scrub-panel{min-height:28px;max-width:none;gap:9px}
.pbi-mp__scrub,.pbi-mp__scrub:active,.pbi-mp__scrub:focus{color:#fff!important;accent-color:#fff!important;background:transparent!important}
.pbi-mp__scrub::-webkit-slider-runnable-track{background:#77a584!important}
.pbi-mp__scrub::-webkit-slider-thumb{background:#fff!important;border-color:#fff!important}
.pbi-mp__chapters-toggle{margin-top:24px;padding:15px 17px;border-radius:13px;background:#101a15;border:1px solid #31483b;color:#e4f0e7;font-size:11px;font-weight:650;letter-spacing:.13em;align-items:center;min-height:52px;box-shadow:0 4px 20px rgba(0,0,0,.13)}
.pbi-mp__section-chevron{font-size:23px;line-height:1;letter-spacing:0;color:#b8e36b}
.pbi-mp__chapters{margin-top:7px;display:grid;gap:6px}
.pbi-mp__chapters button{border-radius:10px;padding:13px 16px;font-size:13px;background:#101a15;border-color:#31483b}
@media(orientation:portrait){
 .pbi-mp{padding:clamp(12px,4vw,20px)}
 .pbi-mp__header h1{font-size:clamp(23px,6vw,30px)}
 .pbi-mp__hud{padding:9px 10px 7px;gap:5px}
 .pbi-mp__controls{height:38px}
 .pbi-mp__controls button{width:36px;height:36px;min-width:36px;min-height:36px}
 .pbi-mp__controls button svg{width:20px;height:20px}
 .pbi-mp__controls button[data-action=prev]{left:44px}
 .pbi-mp__scrub-panel span{font-size:10px}
 .pbi-mp__chapters-toggle{margin-top:26px}
}
@media(orientation:landscape) and (max-height:600px){
 .pbi-mp__hud{padding:6px max(12px,env(safe-area-inset-right,0px)) 6px max(12px,env(safe-area-inset-left,0px));gap:4px}
 .pbi-mp__controls{height:42px}
 .pbi-mp__controls button{width:40px;height:40px;min-width:40px;min-height:40px}
 .pbi-mp__controls button[data-action=prev]{left:48px}
}

/* 0.8.2: native range appearance is suppressed across Safari/iOS;
   pointer gestures are handled explicitly in JS. */
.pbi-mp__scrub{touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;cursor:pointer!important}
.pbi-mp__scrub-panel{touch-action:none!important}
.pbi-mp__scrub:focus,.pbi-mp__scrub:active{outline:none!important;box-shadow:none!important}
.pbi-mp__portrait-dock{display:none}
@media(orientation:portrait){
 html:has(.pbi-mp),body:has(.pbi-mp){background:#050807!important;min-height:100%!important}
 .pbi-mp{min-height:100dvh;background:#050807!important;padding-bottom:max(30px,env(safe-area-inset-bottom))}
 .pbi-mp__portrait-dock{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:clamp(30px,7dvh,74px) 0 12px 0;padding-left:4px}
 .pbi-mp__portrait-dock button{width:49px;height:49px;display:grid;place-items:center;padding:0;border:1px solid rgba(187,222,195,.42);border-radius:50%;background:#12251b;color:#e6f7e8;box-shadow:0 4px 18px rgba(0,0,0,.28);touch-action:manipulation}
 .pbi-mp__portrait-dock button:disabled{opacity:.35}
 .pbi-mp__portrait-dock svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
 .pbi-mp__portrait-dock button[data-action=toggle] svg:has(path[d^="m8"]){fill:currentColor;stroke-width:1.5}
 .pbi-mp__chapters-toggle{margin-top:22px}
}

/* v0.8.3: gesture isolation and responsive control positions */
.pbi-mp__scrub-panel,.pbi-mp__scrub{touch-action:none!important;overscroll-behavior:contain!important;-webkit-user-select:none!important;user-select:none!important}
.pbi-mp__hud{overscroll-behavior:contain}
.pbi-mp__controls button[data-action=prev]{left:0!important}
.pbi-mp__controls button[data-action=toggle]{left:50%!important;transform:translateX(-50%)}
.pbi-mp__controls button[data-action=next]{right:0!important}
@media(orientation:portrait){
 .pbi-mp__hud .pbi-mp__controls{display:none!important}
 .pbi-mp__hud{background:linear-gradient(to top,rgba(0,0,0,.40),transparent 40%);padding:8px 10px}
 .pbi-mp__portrait-dock{margin-top:clamp(30px,7dvh,74px)}
}

/* 0.8.4 — shield Vimeo's internal touch UI and isolate timeline drag */
.pbi-mp__mount,.pbi-mp__mount iframe{pointer-events:none!important}
.pbi-mp__tap{touch-action:none!important;-webkit-tap-highlight-color:transparent!important}
.pbi-mp__scrub-panel{position:relative;z-index:10;min-height:48px!important;padding:8px 0;touch-action:none!important;overscroll-behavior:none!important;user-select:none!important;-webkit-user-select:none!important}
.pbi-mp__scrub{pointer-events:none!important}
.pbi-mp__hud{touch-action:none!important}
.pbi-mp__controls button,.pbi-mp__portrait-dock button{color:#baff69!important;border-color:rgba(186,255,105,.80)!important;box-shadow:0 0 0 1px rgba(186,255,105,.14),0 0 13px rgba(151,247,87,.18)!important}
.pbi-mp__controls button svg,.pbi-mp__portrait-dock button svg{filter:drop-shadow(0 0 3px rgba(186,255,105,.30))}
.pbi-mp__controls button:active,.pbi-mp__portrait-dock button:active{background:rgba(30,73,43,.94)!important}

/* v0.8.5 — minimal triangle navigation, soft glass controls */
.pbi-mp__controls button,.pbi-mp__portrait-dock button{
 color:#d6f5cc!important;
 border:1px solid rgba(218,247,222,.15)!important;
 background:linear-gradient(155deg,rgba(40,66,49,.55),rgba(8,22,16,.48))!important;
 box-shadow:0 2px 9px rgba(0,0,0,.17)!important;
}
.pbi-mp__controls button svg,.pbi-mp__portrait-dock button svg{filter:none!important}
.pbi-mp__controls button[data-action=prev] svg,.pbi-mp__controls button[data-action=next] svg,
.pbi-mp__portrait-dock button[data-action=prev] svg,.pbi-mp__portrait-dock button[data-action=next] svg{
 width:19px;height:19px;fill:currentColor!important;stroke:none!important;stroke-width:0!important;
}
.pbi-mp__controls button:active,.pbi-mp__portrait-dock button:active{background:rgba(53,87,63,.7)!important}

/* v0.8.6: permanent transparent Vimeo touch shield; only actual controls
   intercept touches above it. Empty HUD space passes through to shield. */
.pbi-mp__mount,.pbi-mp__mount iframe{pointer-events:none!important}
.pbi-mp__tap{z-index:2!important;touch-action:none!important;pointer-events:auto!important;opacity:0!important;-webkit-tap-highlight-color:transparent!important}
.pbi-mp__hud{z-index:3!important;pointer-events:none!important}
.pbi-mp--controls-visible .pbi-mp__hud{pointer-events:none!important}
.pbi-mp--controls-visible .pbi-mp__controls button,
.pbi-mp--controls-visible .pbi-mp__scrub-panel{pointer-events:auto!important}
.pbi-mp__overlay{z-index:5!important}
