.player-toolbar{display:flex;align-items:center;gap:6px;min-width:0}
.player-control-scroll{display:flex;align-items:center;gap:6px;min-width:0;flex:1;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.player-control-scroll>button{flex-shrink:0;white-space:nowrap;min-height:44px}
.player-fixed-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}
.player-control-icon{width:22px;height:22px;display:block;flex-shrink:0}
.player-panel-button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px}
.player-panel-button[aria-expanded=true],.player-panel-button[data-active=true]{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}
.player-panels{position:fixed;z-index:2147483647;max-width:calc(100vw - 24px);overflow:auto;overscroll-behavior:contain;background:#fff;color:#1f2937;border:1px solid #d1d5db;border-radius:10px;padding:16px;box-shadow:0 8px 32px #0f172a40}
.player-panels .hidden{display:none!important}
.player-panel-heading{font-size:16px;font-weight:700;margin:0 0 10px}
.player-loop-status{font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums;margin:8px 0 12px;overflow-wrap:anywhere}
.player-loop-status.error{color:#b91c1c}
.player-loop-actions{display:flex;align-items:center;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
.player-loop-actions>button{white-space:nowrap;flex-shrink:0;min-height:46px}
.player-loop-adjust{margin-top:14px;border-top:1px solid #e5e7eb;padding-top:8px}
.player-loop-adjust>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-weight:600}
.player-loop-adjust>summary:before{content:'▸';color:#64748b}
.player-loop-adjust[open]>summary:before{content:'▾'}
.player-timeline{position:relative;flex:1;min-width:0;padding:0}
.player-timeline[data-loop-selection=true]{padding-bottom:24px}
.player-timeline input[type=range]{display:block;width:100%;height:20px;margin:0}
.player-loop-range{position:absolute;top:24px;left:8px;right:8px;height:16px;pointer-events:none}
.player-loop-fill{position:absolute;top:6px;height:4px;border-radius:3px;background:#3b82f6}
.player-loop-range[data-active=false] .player-loop-fill{background:#94a3b8}
.player-loop-marker{position:absolute;top:-4px;transform:translateX(-50%);width:24px;height:24px;border:1px solid #2563eb;border-radius:4px;background:#fff;color:#1d4ed8;font-size:11px;font-weight:700;line-height:22px;text-align:center;padding:0;cursor:ew-resize;touch-action:none;pointer-events:auto}
.player-loop-marker:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}
.player-loop-marker:after{content:'';position:absolute;inset:-10px}
#ap-app .ap-transport.player-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin:14px 0}
#ap-app .player-control-scroll>button{min-width:46px;padding:8px 10px;font-size:14px}
#ap-app .player-control-scroll #ap-play{min-width:80px}
.vp-controls .player-control-scroll{gap:4px}
.vp-controls .player-panel-button{font-size:14px}
.vp-controls .player-panel-button[aria-expanded=true],.vp-controls .player-panel-button[data-active=true]{background:#1d4ed8;color:white}
.vp-stage:has(#vp-panels:not(.hidden)){z-index:2147483647}
.vp-timeline .player-timeline{align-self:center}
.vp-stage:has(.player-timeline[data-loop-selection=true]) #vp-captions{bottom:140px}
.vp-stage.controls-hidden:has(.player-timeline[data-loop-selection=true]) #vp-captions{bottom:24px}
@media(max-width:600px){.player-panels{padding:12px}.player-control-scroll{gap:4px}.player-loop-actions{gap:6px}}
@media(max-width:600px){.ap-position .player-timeline{flex-basis:100%}.vp-timeline .player-timeline{flex-basis:100%}.vp-controls .player-control-scroll{gap:2px}.vp-controls .player-panel-button{font-size:13px}}
@media(orientation:landscape) and (max-height:600px){.vp-stage:is(:fullscreen,.vp-fullscreen) .vp-timeline .player-timeline{flex-basis:auto}.vp-stage:is(:fullscreen,.vp-fullscreen):has(.player-timeline[data-loop-selection=true]) #vp-captions{bottom:122px}.vp-stage.controls-hidden:has(.player-timeline[data-loop-selection=true]) #vp-captions{bottom:18px}}
