@hopeplayer/core 1.0.13 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/HopePlayerElement.d.ts.map +1 -1
  2. package/dist/chunks/{index-n-1IIClr.js → index-BTBAxNjr.js} +2 -2
  3. package/dist/chunks/{index-n-1IIClr.js.map → index-BTBAxNjr.js.map} +1 -1
  4. package/dist/chunks/{index-BgJJr55r.js → index-BeJNpAyx.js} +121 -106
  5. package/dist/chunks/index-BeJNpAyx.js.map +1 -0
  6. package/dist/chunks/{index-9NzklChR.js → index-C2c71cGP.js} +2 -2
  7. package/dist/chunks/{index-9NzklChR.js.map → index-C2c71cGP.js.map} +1 -1
  8. package/dist/chunks/{index-048h1-5X.js → index-DcVUXkXo.js} +2 -2
  9. package/dist/chunks/{index-048h1-5X.js.map → index-DcVUXkXo.js.map} +1 -1
  10. package/dist/chunks/{index-CP1Y6U0c.js → index-DtqNHU7Y.js} +2 -2
  11. package/dist/chunks/{index-CP1Y6U0c.js.map → index-DtqNHU7Y.js.map} +1 -1
  12. package/dist/chunks/{index-BO0tjMR6.js → index-Dy0Th0is.js} +2 -2
  13. package/dist/chunks/{index-BO0tjMR6.js.map → index-Dy0Th0is.js.map} +1 -1
  14. package/dist/chunks/{index-01P9jpUY.js → index-Dz0E1YPE.js} +336 -302
  15. package/dist/chunks/index-Dz0E1YPE.js.map +1 -0
  16. package/dist/controls/ControlBar.d.ts +13 -0
  17. package/dist/controls/ControlBar.d.ts.map +1 -1
  18. package/dist/controls/SettingsMenu.d.ts +1 -0
  19. package/dist/controls/SettingsMenu.d.ts.map +1 -1
  20. package/dist/hope-player.js +1 -1
  21. package/dist/plugins/audio/AudioStage.d.ts +9 -0
  22. package/dist/plugins/audio/AudioStage.d.ts.map +1 -1
  23. package/dist/types/index.d.ts +5 -0
  24. package/dist/types/index.d.ts.map +1 -1
  25. package/package.json +1 -1
  26. package/dist/chunks/index-01P9jpUY.js.map +0 -1
  27. package/dist/chunks/index-BgJJr55r.js.map +0 -1
@@ -1,22 +1,22 @@
1
- var ve = Object.defineProperty;
2
- var ye = (n, t, e) => t in n ? ve(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
- var s = (n, t, e) => ye(n, typeof t != "symbol" ? t + "" : t, e);
4
- const ke = '/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--hp-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--hp-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--hp-color-black:#000;--hp-color-white:#fff;--hp-spacing:.25rem;--hp-container-xs:20rem;--hp-text-xs:.75rem;--hp-text-xs--line-height:calc(1 / .75);--hp-text-sm:.875rem;--hp-text-sm--line-height:calc(1.25 / .875);--hp-text-base:1rem;--hp-text-base--line-height: 1.5 ;--hp-text-lg:1.125rem;--hp-text-lg--line-height:calc(1.75 / 1.125);--hp-text-xl:1.25rem;--hp-text-xl--line-height:calc(1.75 / 1.25);--hp-text-2xl:1.5rem;--hp-text-2xl--line-height:calc(2 / 1.5);--hp-font-weight-medium:500;--hp-font-weight-semibold:600;--hp-radius-lg:.5rem;--hp-animate-spin:spin 1s linear infinite;--hp-aspect-video:16 / 9;--hp-default-transition-duration:.15s;--hp-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--hp-default-font-family:var(--hp-font-sans);--hp-default-mono-font-family:var(--hp-font-mono);--hp-color-accent:#fff;--hp-color-on-accent:#0a0a0a;--hp-color-surface:#0a0a0a;--hp-color-surface-elev:#1a1a1a;--hp-color-on-surface:#fff;--hp-color-on-surface-muted:#a3a3a3}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--hp-default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--hp-default-font-feature-settings,normal);font-variation-settings:var(--hp-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--hp-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--hp-default-mono-font-feature-settings,normal);font-variation-settings:var(--hp-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.hp\\:pointer-events-auto{pointer-events:auto}.hp\\:pointer-events-none{pointer-events:none}.hp\\:absolute{position:absolute}.hp\\:relative{position:relative}.hp\\:sticky{position:sticky}.hp\\:inset-0{top:0;right:0;bottom:0;left:0}.hp\\:inset-x-0{inset-inline:0}.hp\\:inset-y-0{inset-block:0}.hp\\:top-0{top:0}.hp\\:top-1{top:var(--hp-spacing)}.hp\\:top-1\\/2{top:50%}.hp\\:right-0{right:0}.hp\\:right-1{right:var(--hp-spacing)}.hp\\:right-2{right:calc(var(--hp-spacing) * 2)}.hp\\:bottom-0{bottom:0}.hp\\:bottom-full{bottom:100%}.hp\\:left-1\\/2{left:50%}.hp\\:z-10{z-index:10}.hp\\:z-20{z-index:20}.hp\\:z-30{z-index:30}.hp\\:z-40{z-index:40}.hp\\:m-0{margin:0}.hp\\:my-1{margin-block:var(--hp-spacing)}.hp\\:mt-0\\.5{margin-top:calc(var(--hp-spacing) * .5)}.hp\\:mt-1{margin-top:var(--hp-spacing)}.hp\\:mt-2{margin-top:calc(var(--hp-spacing) * 2)}.hp\\:mt-8{margin-top:calc(var(--hp-spacing) * 8)}.hp\\:mb-1{margin-bottom:var(--hp-spacing)}.hp\\:mb-2{margin-bottom:calc(var(--hp-spacing) * 2)}.hp\\:mb-16{margin-bottom:calc(var(--hp-spacing) * 16)}.hp\\:ml-1{margin-left:var(--hp-spacing)}.hp\\:block{display:block}.hp\\:flex{display:flex}.hp\\:grid{display:grid}.hp\\:hidden{display:none}.hp\\:inline-block{display:inline-block}.hp\\:aspect-\\[9\\/16\\]{aspect-ratio:9/16}.hp\\:aspect-video{aspect-ratio:var(--hp-aspect-video)}.hp\\:h-0\\.5{height:calc(var(--hp-spacing) * .5)}.hp\\:h-1{height:var(--hp-spacing)}.hp\\:h-1\\/3{height:33.3333%}.hp\\:h-3{height:calc(var(--hp-spacing) * 3)}.hp\\:h-6{height:calc(var(--hp-spacing) * 6)}.hp\\:h-7{height:calc(var(--hp-spacing) * 7)}.hp\\:h-8{height:calc(var(--hp-spacing) * 8)}.hp\\:h-9{height:calc(var(--hp-spacing) * 9)}.hp\\:h-10{height:calc(var(--hp-spacing) * 10)}.hp\\:h-16{height:calc(var(--hp-spacing) * 16)}.hp\\:h-20{height:calc(var(--hp-spacing) * 20)}.hp\\:h-\\[var\\(--hp-ctrl-btn-size\\)\\]{height:var(--hp-ctrl-btn-size)}.hp\\:h-\\[var\\(--hp-seek-hit-h\\)\\]{height:var(--hp-seek-hit-h)}.hp\\:h-\\[var\\(--hp-seek-track-h\\)\\]{height:var(--hp-seek-track-h)}.hp\\:h-full{height:100%}.hp\\:max-h-64{max-height:calc(var(--hp-spacing) * 64)}.hp\\:max-h-80{max-height:calc(var(--hp-spacing) * 80)}.hp\\:w-0{width:0}.hp\\:w-0\\.5{width:calc(var(--hp-spacing) * .5)}.hp\\:w-1{width:var(--hp-spacing)}.hp\\:w-1\\.5{width:calc(var(--hp-spacing) * 1.5)}.hp\\:w-3{width:calc(var(--hp-spacing) * 3)}.hp\\:w-6{width:calc(var(--hp-spacing) * 6)}.hp\\:w-7{width:calc(var(--hp-spacing) * 7)}.hp\\:w-8{width:calc(var(--hp-spacing) * 8)}.hp\\:w-9{width:calc(var(--hp-spacing) * 9)}.hp\\:w-10{width:calc(var(--hp-spacing) * 10)}.hp\\:w-14{width:calc(var(--hp-spacing) * 14)}.hp\\:w-16{width:calc(var(--hp-spacing) * 16)}.hp\\:w-48{width:calc(var(--hp-spacing) * 48)}.hp\\:w-72{width:calc(var(--hp-spacing) * 72)}.hp\\:w-\\[var\\(--hp-ctrl-btn-size\\)\\]{width:var(--hp-ctrl-btn-size)}.hp\\:w-full{width:100%}.hp\\:max-w-\\[50\\%\\]{max-width:50%}.hp\\:max-w-\\[80\\%\\]{max-width:80%}.hp\\:max-w-\\[85\\%\\]{max-width:85%}.hp\\:max-w-full{max-width:100%}.hp\\:max-w-xs{max-width:var(--hp-container-xs)}.hp\\:min-w-0{min-width:0}.hp\\:flex-1{flex:1}.hp\\:flex-shrink-0,.hp\\:shrink-0{flex-shrink:0}.hp\\:animate-spin{animation:var(--hp-animate-spin)}.hp\\:cursor-pointer{cursor:pointer}.hp\\:touch-none{touch-action:none}.hp\\:list-none{list-style-type:none}.hp\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.hp\\:flex-col{flex-direction:column}.hp\\:flex-wrap{flex-wrap:wrap}.hp\\:items-center{align-items:center}.hp\\:items-end{align-items:flex-end}.hp\\:justify-between{justify-content:space-between}.hp\\:justify-center{justify-content:center}.hp\\:gap-0\\.5{gap:calc(var(--hp-spacing) * .5)}.hp\\:gap-1{gap:var(--hp-spacing)}.hp\\:gap-1\\.5{gap:calc(var(--hp-spacing) * 1.5)}.hp\\:gap-2{gap:calc(var(--hp-spacing) * 2)}.hp\\:gap-3{gap:calc(var(--hp-spacing) * 3)}.hp\\:self-end{align-self:flex-end}.hp\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hp\\:overflow-hidden{overflow:hidden}.hp\\:overflow-y-auto{overflow-y:auto}.hp\\:rounded{border-radius:.25rem}.hp\\:rounded-full{border-radius:3.40282e38px}.hp\\:rounded-lg{border-radius:var(--hp-radius-lg)}.hp\\:border{border-style:var(--tw-border-style);border-width:1px}.hp\\:border-0{border-style:var(--tw-border-style);border-width:0}.hp\\:border-2{border-style:var(--tw-border-style);border-width:2px}.hp\\:border-\\[3px\\]{border-style:var(--tw-border-style);border-width:3px}.hp\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.hp\\:border-on-surface\\/10{border-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:border-on-surface\\/10{border-color:color-mix(in oklab,var(--hp-color-on-surface) 10%,transparent)}}.hp\\:border-on-surface\\/20{border-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:border-on-surface\\/20{border-color:color-mix(in oklab,var(--hp-color-on-surface) 20%,transparent)}}.hp\\:border-on-surface\\/30{border-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:border-on-surface\\/30{border-color:color-mix(in oklab,var(--hp-color-on-surface) 30%,transparent)}}.hp\\:border-t-accent{border-top-color:var(--hp-color-accent)}.hp\\:bg-accent,.hp\\:bg-accent\\/15{background-color:var(--hp-color-accent)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-accent\\/15{background-color:color-mix(in oklab,var(--hp-color-accent) 15%,transparent)}}.hp\\:bg-black,.hp\\:bg-black\\/30{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/30{background-color:color-mix(in oklab,var(--hp-color-black) 30%,transparent)}}.hp\\:bg-black\\/40{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/40{background-color:color-mix(in oklab,var(--hp-color-black) 40%,transparent)}}.hp\\:bg-black\\/60{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/60{background-color:color-mix(in oklab,var(--hp-color-black) 60%,transparent)}}.hp\\:bg-black\\/70{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/70{background-color:color-mix(in oklab,var(--hp-color-black) 70%,transparent)}}.hp\\:bg-black\\/85{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/85{background-color:color-mix(in oklab,var(--hp-color-black) 85%,transparent)}}.hp\\:bg-on-surface,.hp\\:bg-on-surface\\/20{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-on-surface\\/20{background-color:color-mix(in oklab,var(--hp-color-on-surface) 20%,transparent)}}.hp\\:bg-on-surface\\/25{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-on-surface\\/25{background-color:color-mix(in oklab,var(--hp-color-on-surface) 25%,transparent)}}.hp\\:bg-on-surface\\/40{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-on-surface\\/40{background-color:color-mix(in oklab,var(--hp-color-on-surface) 40%,transparent)}}.hp\\:bg-surface{background-color:var(--hp-color-surface)}.hp\\:bg-surface-elev{background-color:var(--hp-color-surface-elev)}.hp\\:bg-transparent{background-color:#0000}.hp\\:bg-white,.hp\\:bg-white\\/15{background-color:var(--hp-color-white)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-white\\/15{background-color:color-mix(in oklab,var(--hp-color-white) 15%,transparent)}}.hp\\:bg-white\\/30{background-color:var(--hp-color-white)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-white\\/30{background-color:color-mix(in oklab,var(--hp-color-white) 30%,transparent)}}.hp\\:bg-white\\/40{background-color:var(--hp-color-white)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-white\\/40{background-color:color-mix(in oklab,var(--hp-color-white) 40%,transparent)}}.hp\\:bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.hp\\:from-black\\/80{--tw-gradient-from:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:from-black\\/80{--tw-gradient-from:color-mix(in oklab, var(--hp-color-black) 80%, transparent)}}.hp\\:from-black\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hp\\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hp\\:bg-cover{background-size:cover}.hp\\:bg-center{background-position:50%}.hp\\:object-cover{object-fit:cover}.hp\\:p-0{padding:0}.hp\\:p-1\\.5{padding:calc(var(--hp-spacing) * 1.5)}.hp\\:p-2{padding:calc(var(--hp-spacing) * 2)}.hp\\:p-3{padding:calc(var(--hp-spacing) * 3)}.hp\\:p-4{padding:calc(var(--hp-spacing) * 4)}.hp\\:px-1{padding-inline:var(--hp-spacing)}.hp\\:px-1\\.5{padding-inline:calc(var(--hp-spacing) * 1.5)}.hp\\:px-2{padding-inline:calc(var(--hp-spacing) * 2)}.hp\\:px-3{padding-inline:calc(var(--hp-spacing) * 3)}.hp\\:px-4{padding-inline:calc(var(--hp-spacing) * 4)}.hp\\:py-1{padding-block:var(--hp-spacing)}.hp\\:py-1\\.5{padding-block:calc(var(--hp-spacing) * 1.5)}.hp\\:py-2{padding-block:calc(var(--hp-spacing) * 2)}.hp\\:pt-6{padding-top:calc(var(--hp-spacing) * 6)}.hp\\:pb-2{padding-bottom:calc(var(--hp-spacing) * 2)}.hp\\:text-center{text-align:center}.hp\\:text-left{text-align:left}.hp\\:font-mono{font-family:var(--hp-font-mono)}.hp\\:text-2xl{font-size:var(--hp-text-2xl);line-height:var(--tw-leading,var(--hp-text-2xl--line-height))}.hp\\:text-base{font-size:var(--hp-text-base);line-height:var(--tw-leading,var(--hp-text-base--line-height))}.hp\\:text-lg{font-size:var(--hp-text-lg);line-height:var(--tw-leading,var(--hp-text-lg--line-height))}.hp\\:text-sm{font-size:var(--hp-text-sm);line-height:var(--tw-leading,var(--hp-text-sm--line-height))}.hp\\:text-xl{font-size:var(--hp-text-xl);line-height:var(--tw-leading,var(--hp-text-xl--line-height))}.hp\\:text-xs{font-size:var(--hp-text-xs);line-height:var(--tw-leading,var(--hp-text-xs--line-height))}.hp\\:text-\\[length\\:var\\(--hp-ctrl-icon-size\\)\\]{font-size:var(--hp-ctrl-icon-size)}.hp\\:leading-none{--tw-leading:1;line-height:1}.hp\\:font-medium{--tw-font-weight:var(--hp-font-weight-medium);font-weight:var(--hp-font-weight-medium)}.hp\\:font-semibold{--tw-font-weight:var(--hp-font-weight-semibold);font-weight:var(--hp-font-weight-semibold)}.hp\\:whitespace-nowrap{white-space:nowrap}.hp\\:text-accent{color:var(--hp-color-accent)}.hp\\:text-on-accent{color:var(--hp-color-on-accent)}.hp\\:text-on-surface{color:var(--hp-color-on-surface)}.hp\\:text-on-surface-muted{color:var(--hp-color-on-surface-muted)}.hp\\:text-white{color:var(--hp-color-white)}.hp\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.hp\\:no-underline{text-decoration-line:none}.hp\\:underline{text-decoration-line:underline}.hp\\:opacity-0{opacity:0}.hp\\:opacity-60{opacity:.6}.hp\\:opacity-70{opacity:.7}.hp\\:opacity-80{opacity:.8}.hp\\:opacity-90{opacity:.9}.hp\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hp\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hp\\:drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hp\\:transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--hp-default-transition-timing-function));transition-duration:var(--tw-duration,var(--hp-default-transition-duration))}.hp\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--hp-default-transition-timing-function));transition-duration:var(--tw-duration,var(--hp-default-transition-duration))}.hp\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--hp-default-transition-timing-function));transition-duration:var(--tw-duration,var(--hp-default-transition-duration))}.hp\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.hp\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.hp\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.hp\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.hp\\:will-change-\\[opacity\\]{will-change:opacity}.hp\\:select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.hp\\:group-hover\\:h-\\[var\\(--hp-seek-track-h-hover\\)\\]:is(:where(.hp\\:group):hover *){height:var(--hp-seek-track-h-hover)}.hp\\:hover\\:bg-on-surface\\/5:hover{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:hover\\:bg-on-surface\\/5:hover{background-color:color-mix(in oklab,var(--hp-color-on-surface) 5%,transparent)}}.hp\\:hover\\:bg-on-surface\\/10:hover{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:hover\\:bg-on-surface\\/10:hover{background-color:color-mix(in oklab,var(--hp-color-on-surface) 10%,transparent)}}.hp\\:hover\\:opacity-80:hover{opacity:.8}}.hp\\:focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hp\\:focus-visible\\:ring-accent:focus-visible{--tw-ring-color:var(--hp-color-accent)}.hp\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.hp\\:data-\\[active\\=true\\]\\:bg-accent\\/15[data-active=true]{background-color:var(--hp-color-accent)}@supports (color:color-mix(in lab,red,red)){.hp\\:data-\\[active\\=true\\]\\:bg-accent\\/15[data-active=true]{background-color:color-mix(in oklab,var(--hp-color-accent) 15%,transparent)}}.hp\\:data-\\[active\\=true\\]\\:text-on-surface[data-active=true]{color:var(--hp-color-on-surface)}}.hp-icon{font-variant:normal;text-transform:none;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:hope-icons;font-style:normal;font-weight:400;line-height:1}.hp-icon-check:before{content:""}.hp-icon-chevron-left:before{content:""}.hp-icon-close:before{content:""}.hp-icon-fullscreen-enter:before{content:""}.hp-icon-fullscreen-exit:before{content:""}.hp-icon-grid:before{content:""}.hp-icon-loop:before{content:""}.hp-icon-pause:before{content:""}.hp-icon-pip:before{content:""}.hp-icon-play:before{content:""}.hp-icon-settings:before{content:""}.hp-icon-skip-back:before{content:""}.hp-icon-skip-forward:before{content:""}.hp-icon-volume-high:before{content:""}.hp-icon-volume-low:before{content:""}.hp-icon-volume-muted:before{content:""}.hp-icon-warning:before{content:""}:host{--hp-radius:8px;--hp-chip-bg:#ffffff14;--hp-chip-bg-hover:#ffffff2e;--hp-chip-bg-active:#ffffff42;--hp-chip-border:#ffffff29;--hp-chip-border-hover:#ffffff4d;--hp-chip-blur:14px;--hp-chip-shadow:0 4px 18px #00000047, inset 0 1px 0 #ffffff12;--hp-chip-radius:10px;--hp-chip-text:var(--hp-color-on-surface,#fff);--hp-chrome-scrim:linear-gradient(to top, #00000080 0%, #0000003d 50%, #0000 100%);--hp-chrome-scrim-height:min(150px, 45%);--hp-chip-backdrop-brightness:.78;--hp-ctrl-shadow:drop-shadow(0 1px 1.5px #0000008c);--hp-panel-bg:#ffffffb8;--hp-panel-blur:26px;--hp-panel-border:#0f11171a;--hp-panel-text:#15171c;--hp-panel-text-muted:#5b6270;--hp-panel-text-shadow:none;--hp-ctrl-btn-size:32px;--hp-ctrl-icon-size:16px;--hp-seek-hit-h:16px;--hp-seek-track-h:4px;--hp-seek-track-h-hover:6px;--hp-seek-thumb-size:12px;--hp-tooltip-bg:#ffffffe6;--hp-tooltip-text:#15171c;--hp-tooltip-key-bg:#0f11171a;--hp-tooltip-key-text:#15171c;--hp-caption-font-size:16px;--hp-caption-bg:#000000bf;--hp-caption-text:#fff;--hp-caption-radius:4px;background:var(--hp-color-surface,#0a0a0a);width:100%;color:var(--hp-color-on-surface,#fff);border-radius:var(--hp-radius);font-family:system-ui,-apple-system,sans-serif;line-height:1;display:block}.hp-chip{background:var(--hp-chip-bg);border:1px solid var(--hp-chip-border);border-radius:var(--hp-chip-radius);-webkit-backdrop-filter:blur(var(--hp-chip-blur)) saturate(160%);box-shadow:var(--hp-chip-shadow);color:var(--hp-chip-text);transition:background-color .16s,border-color .16s,box-shadow .16s,transform .12s}.hp-chip:hover{background:var(--hp-chip-bg-hover);border-color:var(--hp-chip-border-hover)}button.hp-chip:active{background:var(--hp-chip-bg-active);transform:scale(.94)}.hp-chip:focus-visible{outline:2px solid var(--hp-color-accent,#fff);outline-offset:2px}.hp-chip-panel,.hp-chip-panel:hover{background:var(--hp-panel-bg);border-color:var(--hp-panel-border);-webkit-backdrop-filter:blur(var(--hp-panel-blur)) saturate(160%);text-shadow:var(--hp-panel-text-shadow,none)}.hp-chip-panel{--hp-color-on-surface:var(--hp-panel-text);--hp-color-on-surface-muted:var(--hp-panel-text-muted);color:var(--hp-panel-text)}.hp-tooltip{background:var(--hp-tooltip-bg);color:var(--hp-tooltip-text);border-radius:calc(var(--hp-radius) * .75);-webkit-backdrop-filter:blur(12px)saturate(160%);font-weight:500;box-shadow:0 4px 14px #00000059}.hp-tooltip-key{background:var(--hp-tooltip-key-bg);min-width:16px;height:16px;color:var(--hp-tooltip-key-text);text-transform:uppercase;border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;display:inline-flex}.hp-group{background:var(--hp-chip-bg);border:1px solid var(--hp-chip-border);-webkit-backdrop-filter:blur(var(--hp-chip-blur)) saturate(160%) brightness(var(--hp-chip-backdrop-brightness,1));box-shadow:var(--hp-chip-shadow);border-radius:9999px}.hp-group-left{position:relative}.hp-loading-ring{border-radius:inherit;pointer-events:none;opacity:0;filter:drop-shadow(0 0 3px var(--hp-color-accent,#fff));transition:opacity .22s;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px}@supports (color:color-mix(in lab,red,red)){.hp-loading-ring{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--hp-color-accent,#fff) 70%,transparent))}}.hp-loading-ring-mask{border-radius:inherit;-webkit-mask-composite:xor;padding:2px;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.hp-loading-ring-mask>span{aspect-ratio:1;background:conic-gradient(from 0deg,transparent 0deg 150deg,var(--hp-color-accent,#fff) 260deg,var(--hp-color-accent,#fff) 340deg,transparent 360deg);width:max(100%,160px);position:absolute;top:50%;left:50%;translate:-50% -50%}@supports (color:color-mix(in lab,red,red)){.hp-loading-ring-mask>span{background:conic-gradient(from 0deg,transparent 0deg 150deg,color-mix(in srgb,var(--hp-color-accent,#fff) 30%,transparent) 260deg,var(--hp-color-accent,#fff) 340deg,transparent 360deg)}}.hp-loading-ring-mask>span{animation:1.1s linear infinite paused hp-loading-ring-spin}.hp-group-left[data-loading]>.hp-loading-ring{opacity:1}.hp-group-left[data-loading]>.hp-loading-ring .hp-loading-ring-mask>span{animation-play-state:running}@keyframes hp-loading-ring-spin{to{rotate:360deg}}@media(prefers-reduced-motion:reduce){.hp-loading-ring-mask>span{background:var(--hp-color-accent,#fff);animation:none}.hp-group-left[data-loading]>.hp-loading-ring{animation:1.6s ease-in-out infinite hp-loading-ring-pulse}}@keyframes hp-loading-ring-pulse{50%{opacity:.35}}.hp-center-play>.hp-chip{-webkit-backdrop-filter:blur(var(--hp-chip-blur)) saturate(160%) brightness(var(--hp-chip-backdrop-brightness,1))}.hp-group .hp-icon,.hp-group [part=time-display],.hp-group .hp-live-badge,.hp-group [part=live-clock],.hp-group .hp-skip-num,.hp-center-play .hp-icon{filter:var(--hp-ctrl-shadow,none)}.hp-chrome:before{content:"";height:var(--hp-chrome-scrim-height);background:var(--hp-chrome-scrim);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.video-area[data-compact]>.hp-chrome:after{content:"";background:var(--hp-chrome-scrim);opacity:.7;pointer-events:none;height:min(90px,30%);position:absolute;top:0;left:0;right:0;transform:scaleY(-1)}.hp-group button.hp-chip{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border-color:#0000}.hp-group button.hp-chip:hover{background:var(--hp-chip-bg-hover)}.hp-group button.hp-chip:active{background:var(--hp-chip-bg-active)}:host([data-theme=glass-dark]),:host([data-theme=neo-dark]),:host([data-theme=mono]){--hp-panel-bg:#0a0a0e8c;--hp-panel-border:#ffffff1a;--hp-panel-text:#fff;--hp-panel-text-muted:#a3a3a3;--hp-panel-text-shadow:0 1px 3px #000000a6;--hp-tooltip-bg:#0a0a0aeb;--hp-tooltip-text:#fff;--hp-tooltip-key-bg:#ffffff2e;--hp-tooltip-key-text:#fff}:host([data-theme=glass-dark]){--hp-chip-bg:#0a0a0e73;--hp-chip-bg-hover:#0a0a0e9e;--hp-chip-bg-active:#0a0a0ebf;--hp-chip-border:#ffffff14;--hp-chip-border-hover:#ffffff29;--hp-chip-shadow:0 4px 18px #0006, inset 0 1px 0 #ffffff0a;--hp-panel-bg:#08080cb8;--hp-chip-backdrop-brightness:1}:host([data-theme=neo-dark]){--hp-chip-bg:#24242a;--hp-chip-bg-hover:#2a2a31;--hp-chip-bg-active:#1e1e23;--hp-chip-border:transparent;--hp-chip-border-hover:transparent;--hp-chip-blur:0px;--hp-chip-shadow:5px 5px 10px #00000080, -4px -4px 9px #ffffff09;--hp-chip-radius:12px;--hp-color-surface:#1b1b20;--hp-panel-bg:#1e1e23;--hp-panel-text-shadow:none;--hp-chrome-scrim:none;--hp-chip-backdrop-brightness:1;--hp-ctrl-shadow:none}:host([data-theme=neo-dark]) button.hp-chip:active{box-shadow:inset 3px 3px 6px #00000080,inset -2px -2px 5px #ffffff08}:host([data-theme=mono]){--hp-chip-bg:#ffffff0a;--hp-chip-bg-hover:#ffffff1a;--hp-chip-border:#ffffff14;--hp-chip-border-hover:#ffffff24;--hp-chip-blur:0px;--hp-chip-shadow:none;--hp-panel-bg:#0a0a0aeb;--hp-panel-text-shadow:none}@media(pointer:coarse){:host{--hp-ctrl-btn-size:40px;--hp-ctrl-icon-size:18px;--hp-seek-hit-h:22px;--hp-seek-track-h:5px;--hp-seek-track-h-hover:7px;--hp-seek-thumb-size:14px;--hp-caption-font-size:19px}}:host(:fullscreen),:host(:-webkit-full-screen){--hp-ctrl-btn-size:44px;--hp-ctrl-icon-size:20px;--hp-seek-hit-h:26px;--hp-seek-track-h:6px;--hp-seek-track-h-hover:8px;--hp-seek-thumb-size:18px;--hp-caption-font-size:22px}:host(:fullscreen) [part=control-bar],:host(:-webkit-full-screen) [part=control-bar]{padding:28px 20px 18px}.video-area{width:100%;aspect-ratio:var(--hp-aspect-ratio,16 / 9);border-radius:var(--hp-radius);background:var(--hp-color-surface,#0a0a0a);position:relative;overflow:hidden}.video-area[data-compact]{--hp-caption-font-size:13px}.video-area[data-story]{aspect-ratio:9/16;max-width:49.5vh;max-height:88vh;margin:0 auto}:host(:fullscreen),:host(:-webkit-full-screen){background:#000;border-radius:0}:host(:fullscreen) .hp-root,:host(:-webkit-full-screen) .hp-root{height:100%}:host(:fullscreen) .video-area,:host(:-webkit-full-screen) .video-area{aspect-ratio:auto;background:#000;border-radius:0;width:100%;height:100%}:host(:fullscreen) .video-area[data-story],:host(:-webkit-full-screen) .video-area[data-story]{aspect-ratio:9/16;width:auto;max-width:100%;height:100%;max-height:none;margin:0 auto}.media-layer{position:absolute;top:0;right:0;bottom:0;left:0}.media-layer video{object-fit:contain;background:#000;width:100%;height:100%}.hp-center-x{transform:translate(-50%)}.hp-center-y{transform:translateY(-50%)}.hp-chip-panel[data-drop]{margin-top:8px;margin-bottom:0;top:100%;bottom:auto}.hp-top-bar{pointer-events:none;display:flex;position:absolute;top:8px;right:8px}.hp-top-bar>*{pointer-events:auto}.hp-story-list-btn{top:calc(8px + var(--hp-ctrl-btn-size) + 18px);right:12px}:host([data-cursor-hidden]),:host([data-cursor-hidden]) *{cursor:none!important}.hp-unmute-badge{z-index:25;background:var(--hp-tooltip-bg);color:var(--hp-tooltip-text);-webkit-backdrop-filter:blur(12px)saturate(160%);font:inherit;cursor:pointer;border:0;border-radius:9999px;align-items:center;gap:6px;padding:6px 12px 6px 10px;font-size:13px;font-weight:600;display:none;position:absolute;top:10px;left:10px;box-shadow:0 4px 14px #00000059}@media(hover:none)and (pointer:coarse){.hp-volume{display:none!important}.hp-unmute-badge[data-visible]{display:inline-flex}}.hp-error-screen{z-index:30;background:var(--hp-color-surface);justify-content:center;align-items:center;padding:12px;display:none;position:absolute;top:0;right:0;bottom:0;left:0}@supports (color:color-mix(in lab,red,red)){.hp-error-screen{background:color-mix(in srgb,var(--hp-color-surface) 94%,transparent)}}.hp-error-screen{-webkit-backdrop-filter:blur(16px)saturate(140%);color:var(--hp-color-on-surface);text-align:center;container-type:size}.hp-error-screen[data-visible]{animation:.22s hp-error-in;display:flex}@keyframes hp-error-in{0%{opacity:0}}.hp-error-card{flex-direction:column;align-items:center;gap:10px;max-width:340px;display:flex}.hp-error-icon{border:1px solid var(--hp-color-on-surface);border-radius:9999px;place-items:center;width:48px;height:48px;display:grid}@supports (color:color-mix(in lab,red,red)){.hp-error-icon{border:1px solid color-mix(in srgb,var(--hp-color-on-surface) 18%,transparent)}}.hp-error-icon{background:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-error-icon{background:color-mix(in srgb,var(--hp-color-on-surface) 8%,transparent)}}.hp-error-icon{margin-bottom:2px;font-size:22px}.hp-error-message{margin:0;font-size:14px;font-weight:600;line-height:1.45}.hp-error-code{color:var(--hp-color-on-surface-muted);font-variant-numeric:tabular-nums;margin:-4px 0 0;font-size:12px}.hp-error-retry{border:1px solid var(--hp-chip-border);background:var(--hp-chip-bg);color:var(--hp-color-on-surface);font:inherit;cursor:pointer;border-radius:9999px;align-items:center;gap:6px;margin-top:6px;padding:7px 14px 7px 12px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.hp-error-retry:hover{background:var(--hp-chip-bg-hover);border-color:var(--hp-chip-border-hover)}.hp-error-retry:focus-visible{outline:2px solid var(--hp-color-accent);outline-offset:2px}@container (max-height:240px){.hp-error-card{gap:6px}.hp-error-icon{width:36px;height:36px;margin-bottom:0;font-size:16px}.hp-error-message{font-size:13px}.hp-error-code{margin-top:-2px;font-size:11px}.hp-error-retry{margin-top:2px;padding:5px 12px 5px 10px;font-size:12px}}.hp-context-menu,.hp-stats,.hp-debug{border:1px solid var(--hp-panel-border);background:var(--hp-panel-bg);-webkit-backdrop-filter:blur(var(--hp-panel-blur)) saturate(160%);color:var(--hp-panel-text);text-shadow:var(--hp-panel-text-shadow,none);border-radius:10px;position:absolute;box-shadow:0 8px 28px #00000059}.hp-context-menu{z-index:40;min-width:200px;padding:4px;font-size:13px;display:none}.hp-context-menu[data-open]{animation:.12s hp-context-menu-in;display:block}@keyframes hp-context-menu-in{0%{opacity:0;transform:scale(.97)}}.hp-context-menu-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:8px 10px;display:flex}.hp-context-menu-item[data-info]{cursor:default;font-weight:600}button.hp-context-menu-item:hover,button.hp-context-menu-item:focus-visible{background:var(--hp-panel-text)}@supports (color:color-mix(in lab,red,red)){button.hp-context-menu-item:hover,button.hp-context-menu-item:focus-visible{background:color-mix(in srgb,var(--hp-panel-text) 10%,transparent)}}button.hp-context-menu-item:hover,button.hp-context-menu-item:focus-visible{outline:none}.hp-context-menu-item+.hp-context-menu-item{margin-top:2px}.hp-context-menu-meta{color:var(--hp-panel-text-muted);font-variant-numeric:tabular-nums;font-weight:500}.hp-stats{z-index:28;width:min(360px,100% - 20px);max-height:calc(100% - 20px);padding:8px 12px 10px;font-size:11.5px;top:10px;left:10px;overflow:auto}.hp-stats-header{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.hp-stats-close{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9999px;padding:4px;display:inline-flex}.hp-stats-close:hover{background:var(--hp-panel-text)}@supports (color:color-mix(in lab,red,red)){.hp-stats-close:hover{background:color-mix(in srgb,var(--hp-panel-text) 12%,transparent)}}.hp-stats-body{grid-template-columns:auto 1fr;gap:3px 12px;margin:0;display:grid}.hp-stats-body dt{color:var(--hp-panel-text-muted);white-space:nowrap}.hp-stats-body dd{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.hp-seek-fb{z-index:8;border:1px solid var(--hp-chip-border);background:var(--hp-chip-bg);-webkit-backdrop-filter:blur(var(--hp-chip-blur)) saturate(160%);box-shadow:var(--hp-chip-shadow);color:var(--hp-chip-text);pointer-events:none;opacity:0;border-radius:9999px;align-items:center;gap:10px;padding:12px 20px 12px 16px;transition:opacity .18s,translate .22s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:50%}.hp-seek-fb[data-side=forward]{right:7%;translate:14px -50%}.hp-seek-fb[data-side=back]{flex-direction:row-reverse;padding:12px 16px 12px 20px;left:7%;translate:-14px -50%}.hp-seek-fb[data-visible]{opacity:1;translate:0 -50%}.hp-seek-fb-chevrons{display:flex}.hp-seek-fb-chevrons svg{fill:currentColor;opacity:.25;width:16px;height:16px;margin:0 -3px;animation:.9s ease-in-out infinite hp-seek-fb-chevron}.hp-seek-fb[data-side=back] .hp-seek-fb-chevrons{transform:scaleX(-1)}.hp-seek-fb-chevrons svg:nth-child(2){animation-delay:.15s}.hp-seek-fb-chevrons svg:nth-child(3){animation-delay:.3s}@keyframes hp-seek-fb-chevron{0%,to{opacity:.25}40%{opacity:1}}.hp-seek-fb-value{white-space:nowrap;align-items:baseline;gap:3px;display:flex}.hp-seek-fb-num{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1;display:inline-block}.hp-seek-fb-unit{opacity:.75;font-size:12px;font-weight:600}.hp-seek-fb-bump{animation:.26s cubic-bezier(.2,.8,.2,1) hp-seek-fb-bump}@keyframes hp-seek-fb-bump{0%{transform:scale(1.25)}to{transform:scale(1)}}.video-area[data-compact] .hp-seek-fb{padding:8px 12px}.video-area[data-compact] .hp-seek-fb[data-side=forward]{right:4%}.video-area[data-compact] .hp-seek-fb[data-side=back]{padding:8px 12px;left:4%}.video-area[data-compact] .hp-seek-fb-chevrons{display:none}.video-area[data-compact] .hp-seek-fb-num{font-size:16px}.hp-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media(prefers-reduced-motion:reduce){.hp-seek-fb,.hp-seek-fb-chevrons svg,.hp-seek-fb-bump{transition:none;animation:none}.hp-seek-fb-chevrons svg{opacity:.8}}.hp-skip-btn{position:relative}.hp-skip-btn>.hp-icon{font-size:calc(var(--hp-ctrl-icon-size) * 1.45)}.hp-skip-num{padding-top:calc(var(--hp-ctrl-icon-size) * .14);font-size:calc(var(--hp-ctrl-icon-size) * .56);letter-spacing:-.02em;font-variant-numeric:tabular-nums;pointer-events:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.hp-skip-num[data-long]{font-size:calc(var(--hp-ctrl-icon-size) * .42)}.hp-skip-btn:disabled{opacity:.4;cursor:default}.hp-center-play>.hp-chip{z-index:7;position:relative}.video-area[data-center-play-shifted] .hp-center-play>.hp-chip{width:var(--hp-center-play-size);height:var(--hp-center-play-size);translate:var(--hp-center-play-shift-x,0px) var(--hp-center-play-shift)}.video-area[data-pause-ad-ready]>:is(.media-layer,.hp-chrome,.hp-center-play,.hp-caption-layer,.hp-error-screen,.hp-mini-progress){right:var(--hp-pause-ad-w,0px);transition:right .38s cubic-bezier(.2,.8,.2,1),opacity .2s}.video-area[data-pause-ad] .media-layer video{object-fit:cover}.hp-pause-ad{z-index:25;width:var(--hp-pause-ad-panel-w,332px);box-sizing:border-box;background:var(--hp-color-surface,#0a0a0a);color:var(--hp-color-on-surface,#fff);visibility:hidden;flex-direction:column;justify-content:center;gap:10px;padding:12px 16px;transition:transform .38s cubic-bezier(.2,.8,.2,1),visibility 0s linear .38s;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.hp-pause-ad[data-open]{visibility:visible;transition:transform .38s cubic-bezier(.2,.8,.2,1);transform:none}.hp-pause-ad-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.hp-pause-ad-label{color:var(--hp-color-on-surface-muted,#ffffffb3);font-size:13px;font-weight:600}.hp-pause-ad-close{width:28px;height:28px;color:var(--hp-color-on-surface,#fff);cursor:pointer;background:0 0;border:0;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:background-color .15s;display:inline-flex}.hp-pause-ad-close:hover{background:var(--hp-chip-bg-hover)}.hp-pause-ad-body{border-radius:8px;justify-content:center;display:flex;overflow:hidden}.hp-pause-ad-resume{border:1px solid var(--hp-chip-border);background:var(--hp-chip-bg);color:var(--hp-color-on-surface,#fff);font:inherit;cursor:pointer;border-radius:9999px;align-self:stretch;padding:9px 14px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s}.hp-pause-ad-resume:hover{background:var(--hp-chip-bg-hover);border-color:var(--hp-chip-border-hover)}.hp-pause-ad-close:focus-visible,.hp-pause-ad-resume:focus-visible{outline:2px solid var(--hp-color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.video-area[data-pause-ad-ready]>:is(.media-layer,.hp-chrome,.hp-center-play,.hp-caption-layer,.hp-error-screen,.hp-mini-progress),.hp-pause-ad,.hp-pause-ad[data-open]{transition:none}}.hp-seek-thumb{width:var(--hp-seek-thumb-size);height:var(--hp-seek-thumb-size);background:var(--hp-color-accent);will-change:translate,scale;pointer-events:none;z-index:2;border-radius:9999px;transition:scale .15s;position:absolute;left:0;scale:.5}.hp-seekbar:hover .hp-seek-thumb,.hp-seekbar:active .hp-seek-thumb,.hp-seekbar:focus-visible .hp-seek-thumb{scale:1}.hp-seekbar[data-no-duration] .hp-seek-thumb{display:none}.hp-seek-hover-dot{width:var(--hp-seek-track-h-hover);height:var(--hp-seek-track-h-hover);background:var(--hp-color-on-surface);opacity:0;pointer-events:none;z-index:1;border-radius:9999px;transition:opacity .12s;position:absolute;top:50%;left:0;box-shadow:0 0 0 1px #00000073}.hp-seek-hover-dot[data-visible]{opacity:.9}.hp-mini-progress{z-index:6;pointer-events:none;background:var(--hp-color-on-surface);height:1px;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.hp-mini-progress{background:color-mix(in srgb,var(--hp-color-on-surface) 25%,transparent)}}.hp-mini-progress{opacity:0;transition:opacity .2s}.hp-mini-progress[data-visible]:not([data-disabled]){opacity:1}.hp-mini-progress-fill{transform-origin:0;will-change:transform;position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleX(0)}.hp-mini-progress-buffered{background:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-mini-progress-buffered{background:color-mix(in srgb,var(--hp-color-on-surface) 40%,transparent)}}.hp-mini-progress-played{background:var(--hp-color-accent)}.hp-seek-time{border-radius:calc(var(--hp-radius) * .75);background:var(--hp-tooltip-bg);color:var(--hp-tooltip-text);-webkit-backdrop-filter:blur(12px)saturate(160%);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;visibility:hidden;z-index:20;padding:3px 7px;font-size:12px;font-weight:500;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 4px 14px #00000059}.hp-seek-time[data-visible]{visibility:visible}.hp-sprite-tooltip{pointer-events:none;visibility:hidden;z-index:20;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0}.hp-sprite-tooltip[data-visible]{visibility:visible}.hp-sprite-image{border-radius:calc(var(--hp-radius) * .75);border:2px solid var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-sprite-image{border:2px solid color-mix(in srgb,var(--hp-color-on-surface) 85%,transparent)}}.hp-sprite-image{background-color:#000;background-repeat:no-repeat;box-shadow:0 4px 14px #00000059}.hp-sprite-time{background:var(--hp-tooltip-bg);color:var(--hp-tooltip-text);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:12px}.hp-live-badge{height:var(--hp-ctrl-btn-size);color:var(--hp-color-on-surface);font:inherit;letter-spacing:.04em;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9999px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.hp-live-badge:hover{background:var(--hp-chip-bg-hover)}.hp-live-badge:focus-visible{outline:2px solid var(--hp-color-accent);outline-offset:2px}.hp-live-dot{background:var(--hp-live-color,red);border-radius:50%;width:8px;height:8px;transition:background-color .16s}.hp-live-badge[data-behind]{color:var(--hp-color-on-surface-muted)}.hp-live-badge[data-behind] .hp-live-dot{background:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-live-badge[data-behind] .hp-live-dot{background:color-mix(in srgb,var(--hp-color-on-surface) 45%,transparent)}}.hp-chapters{pointer-events:none;inset-inline:0;align-items:center;gap:2px;display:flex;position:absolute;top:0;bottom:0}.hp-chapter{min-width:1px;height:var(--hp-seek-track-h);background:var(--hp-color-on-surface);border-radius:1px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.hp-chapter{background:color-mix(in srgb,var(--hp-color-on-surface) 25%,transparent)}}.hp-chapter{transition:height .15s}.hp-seekbar:hover .hp-chapter{height:var(--hp-seek-track-h-hover)}.hp-seekbar .hp-chapter[data-hover]{height:calc(var(--hp-seek-track-h-hover) * 1.6)}.hp-chapter-fill{transform-origin:0;will-change:transform;position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleX(0)}.hp-chapter-buffered{background:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-chapter-buffered{background:color-mix(in srgb,var(--hp-color-on-surface) 40%,transparent)}}.hp-chapter-played{background:var(--hp-color-accent)}.hp-chapter-tooltip{background:var(--hp-tooltip-bg);max-width:240px;color:var(--hp-tooltip-text);border-radius:calc(var(--hp-radius) * .75);-webkit-backdrop-filter:blur(12px)saturate(160%);text-align:center;pointer-events:none;white-space:nowrap;visibility:hidden;z-index:40;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;font-size:12px;line-height:1.3;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 14px #00000059}.hp-chapter-tooltip[data-visible]{visibility:visible}.hp-chapter-tooltip-title{text-overflow:ellipsis;max-width:100%;font-weight:600;overflow:hidden}.hp-chapter-tooltip-time{opacity:.75;font-variant-numeric:tabular-nums}:host([data-sticky]){z-index:2147483000;border-radius:var(--hp-radius);box-shadow:0 8px 28px #00000073;width:min(360px,92vw)!important;aspect-ratio:var(--hp-aspect-ratio,16 / 9)!important;position:fixed!important}:host([data-sticky][data-sticky-corner=br]){inset:auto 16px 16px auto}:host([data-sticky][data-sticky-corner=bl]){inset:auto auto 16px 16px}:host([data-sticky][data-sticky-corner=tr]){inset:16px 16px auto auto}:host([data-sticky][data-sticky-corner=tl]){inset:16px auto auto 16px}.hp-caption-layer{z-index:5;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.hp-caption-bubble{background:var(--hp-caption-bg);width:max-content;max-width:86%;color:var(--hp-caption-text);border-radius:var(--hp-caption-radius);font-size:calc(var(--hp-caption-font-size) * var(--hp-caption-size-multiplier,1));text-align:center;white-space:pre-line;cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;padding:.3em .6em;line-height:1.4;transition:transform .24s cubic-bezier(.25,.8,.25,1);display:none;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hp-caption-bubble.hp-caption-visible{display:inline-block}.hp-caption-bubble.hp-caption-dragging,.hp-caption-bubble.hp-caption-no-transition{transition:none}.hp-caption-bubble.hp-caption-dragging{cursor:grabbing}[part=ad-layer][data-nonlinear]{top:auto;bottom:var(--hp-nonlinear-ad-offset,72px);height:var(--hp-nonlinear-ad-height,33%);pointer-events:none}[part=ad-layer][data-nonlinear] *{pointer-events:none}[part=ad-layer][data-nonlinear] :is(iframe,img,a,button){pointer-events:auto}.hp-debug{--hp-panel-text:#f1f1f4;--hp-panel-text-muted:#f1f1f49e;--hp-panel-border:#ffffff1f;text-shadow:none;z-index:30;background:#0e0e12f2;flex-direction:column;min-width:0;font-size:12px;line-height:1.45;display:flex;top:8px;right:8px;bottom:8px;left:8px;overflow:hidden}.hp-debug:focus{outline:none}.hp-debug-header{border-bottom:1px solid var(--hp-panel-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.hp-debug-title{white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:700;display:flex}.hp-debug-count{font-variant-numeric:tabular-nums;background:#f8717138;border-radius:9999px;padding:1px 7px;font-size:11px}.hp-debug-count:empty{display:none}.hp-debug-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.hp-debug-btn{border:1px solid var(--hp-panel-border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:9999px;padding:4px 10px;font-size:11.5px}.hp-debug-btn:hover:not(:disabled){background:var(--hp-panel-text)}@supports (color:color-mix(in lab,red,red)){.hp-debug-btn:hover:not(:disabled){background:color-mix(in srgb,var(--hp-panel-text) 12%,transparent)}}.hp-debug-btn:disabled{opacity:.45;cursor:default}.hp-debug-list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:6px 12px 10px;list-style:none;overflow:hidden auto}.hp-debug-row{border-left:2px solid var(--hp-panel-text);padding:8px 0 8px 10px}@supports (color:color-mix(in lab,red,red)){.hp-debug-row{border-left:2px solid color-mix(in srgb,var(--hp-panel-text) 25%,transparent)}}.hp-debug-row{min-width:0}.hp-debug-row+.hp-debug-row{margin-top:6px}.hp-debug-row[data-fatal]{border-left-color:#f87171}.hp-debug-row-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px;display:flex}.hp-debug-time{color:var(--hp-panel-text-muted);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hp-debug-source,.hp-debug-fatal{background:var(--hp-panel-text);border-radius:9999px;padding:1px 7px;font-size:10.5px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.hp-debug-source,.hp-debug-fatal{background:color-mix(in srgb,var(--hp-panel-text) 12%,transparent)}}.hp-debug-source[data-source=ads]{background:#f5c4513d}.hp-debug-source[data-source=stream],.hp-debug-source[data-source=media]{background:#60a5fa3d}.hp-debug-fatal{background:#f8717147}.hp-debug-message{overflow-wrap:anywhere;font-weight:600}.hp-debug-repeat{color:var(--hp-panel-text-muted);font-weight:500}.hp-debug-details{grid-template-columns:max-content minmax(0,1fr);gap:1px 10px;margin:4px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;display:grid}.hp-debug-details dt{color:var(--hp-panel-text-muted)}.hp-debug-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.hp-debug-empty{color:var(--hp-panel-text-muted);margin:auto;padding:16px}.hp-debug-empty[hidden]{display:none}.hp-ad-return{z-index:25;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0e0e12d1;border:1px solid #ffffff40;border-radius:999px;padding:10px 16px;font:600 14px/1.2 system-ui,-apple-system,sans-serif;animation:.2s ease-out hp-ad-return-in;position:absolute;bottom:64px;right:12px}@keyframes hp-ad-return-in{0%{opacity:0;transform:translateY(6px)}}:host([data-audio]) .hp-center-play{display:none}.hp-audio{z-index:1;text-align:left;pointer-events:none;color:#fff;background:radial-gradient(80% 90% at 20% 10%,var(--hp-color-accent,#e5484d),transparent 70%),linear-gradient(160deg,#1d1d24,#0c0c10);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;container-type:size}@supports (color:color-mix(in lab,red,red)){.hp-audio{background:radial-gradient(80% 90% at 20% 10%,color-mix(in srgb,var(--hp-color-accent,#e5484d) 38%,transparent),transparent 70%),linear-gradient(160deg,#1d1d24,#0c0c10)}}.hp-audio-backdrop{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%}.hp-audio-backdrop img{object-fit:cover;filter:blur(28px)saturate(1.3)brightness(.55);width:100%;height:100%;transform:scale(1.08)}.hp-audio:not([data-cover]) .hp-audio-backdrop,.hp-audio:not([data-cover]) .hp-audio-sleeve img{display:none}.hp-audio-meta{z-index:3;text-shadow:0 1px 6px #0009;line-height:1.25;display:none;position:absolute;top:12px;left:14px;right:64px}.hp-audio[data-meta] .hp-audio-meta{display:block}.hp-audio-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.hp-audio-artist{opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.hp-audio-area{inset:0 0 var(--hp-audio-bottom-space,66px) 0;justify-content:center;align-items:center;display:flex;position:absolute;container-type:size}.hp-audio[data-meta] .hp-audio-area{top:44px}.hp-audio-deck{--hp-deck-h:min(calc(var(--hp-vinyl-size,.78) * 100cqh), 62cqw);height:var(--hp-deck-h);align-items:center;display:flex;position:relative}.hp-audio[data-position=center] .hp-audio-deck,.hp-audio[data-position=none] .hp-audio-deck{--hp-deck-h:min(calc(var(--hp-vinyl-size,.78) * 100cqh), 90cqw)}.hp-audio[data-position=left] .hp-audio-deck{flex-direction:row-reverse}.hp-audio-sleeve{z-index:2;aspect-ratio:1;background:radial-gradient(70% 70% at 30% 25%,var(--hp-color-accent,#e5484d),transparent 75%),#26262d;border-radius:6px;flex:none;height:100%;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.hp-audio-sleeve{background:radial-gradient(70% 70% at 30% 25%,color-mix(in srgb,var(--hp-color-accent,#e5484d) 70%,#fff 0%),transparent 75%),#26262d}}.hp-audio-sleeve{box-shadow:0 18px 40px -12px #000000bf,0 0 0 1px #ffffff14}.hp-audio-sleeve img{object-fit:cover;width:100%;height:100%;display:block}.hp-audio-sleeve[hidden],.hp-vinyl[hidden],.hp-tonearm-holder[hidden]{display:none}.hp-vinyl{z-index:1;aspect-ratio:1;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 14px 26px #0009);border-radius:50%;outline:none;flex:none;height:96%;transition:margin .45s cubic-bezier(.2,.8,.2,1);position:relative}.hp-audio[data-position=right] .hp-vinyl{margin-left:calc(var(--hp-deck-h) * -.56)}.hp-audio[data-position=left] .hp-vinyl{margin-right:calc(var(--hp-deck-h) * -.56)}.hp-audio[data-position=right][data-playing] .hp-vinyl{margin-left:calc(var(--hp-deck-h) * -.46)}.hp-audio[data-position=left][data-playing] .hp-vinyl{margin-right:calc(var(--hp-deck-h) * -.46)}.hp-vinyl[data-scratch]:not([data-live]){cursor:grab}.hp-audio[data-scratching] .hp-vinyl{cursor:grabbing}.hp-vinyl:focus-visible{box-shadow:0 0 0 3px var(--hp-color-accent,#e5484d)}@supports (color:color-mix(in lab,red,red)){.hp-vinyl:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--hp-color-accent,#e5484d) 80%,transparent)}}.hp-vinyl-disc{will-change:transform;position:absolute;top:0;right:0;bottom:0;left:0}.hp-vinyl-disc svg,.hp-tonearm svg{width:100%;height:100%;display:block}.hp-vinyl-sheen{pointer-events:none;background:conic-gradient(from 200deg,#0000,#ffffff21 22deg,#0000 48deg,#0000 180deg,#ffffff17 205deg,#0000 232deg);border-radius:50%;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask:radial-gradient(circle,#0000 0 35%,#000 36% 99%,#0000 100%);mask:radial-gradient(circle,#0000 0 35%,#000 36% 99%,#0000 100%)}.hp-tonearm-holder{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.hp-audio[data-position=left] .hp-tonearm-holder{transform:scaleX(-1)}.hp-tonearm{transform-origin:70% 11%;filter:drop-shadow(0 6px 8px #00000080);width:46%;height:92%;transition:transform .6s cubic-bezier(.3,.7,.2,1);position:absolute;top:-6%;right:-14%;transform:rotate(-26deg)}.hp-audio[data-playing] .hp-tonearm{transform:rotate(0)}@media(prefers-reduced-motion:reduce){.hp-vinyl,.hp-tonearm{transition:none}}@container (max-height:230px){.hp-audio[data-meta] .hp-audio-meta{display:none}.hp-audio[data-meta] .hp-audio-area{top:6px}}[part=ad-layer][data-audio-ad]{background:0 0}[part=ad-layer][data-audio-ad] video{opacity:0}.hp-audio:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(#0000,#00000047 45%,#0000009e);height:min(140px,45%);position:absolute;bottom:0;left:0;right:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}';
5
- function V() {
1
+ var xe = Object.defineProperty;
2
+ var ke = (a, t, e) => t in a ? xe(a, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[t] = e;
3
+ var s = (a, t, e) => ke(a, typeof t != "symbol" ? t + "" : t, e);
4
+ const we = '/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--hp-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--hp-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--hp-color-black:#000;--hp-color-white:#fff;--hp-spacing:.25rem;--hp-container-xs:20rem;--hp-text-xs:.75rem;--hp-text-xs--line-height:calc(1 / .75);--hp-text-sm:.875rem;--hp-text-sm--line-height:calc(1.25 / .875);--hp-text-base:1rem;--hp-text-base--line-height: 1.5 ;--hp-text-lg:1.125rem;--hp-text-lg--line-height:calc(1.75 / 1.125);--hp-text-xl:1.25rem;--hp-text-xl--line-height:calc(1.75 / 1.25);--hp-text-2xl:1.5rem;--hp-text-2xl--line-height:calc(2 / 1.5);--hp-font-weight-medium:500;--hp-font-weight-semibold:600;--hp-radius-lg:.5rem;--hp-animate-spin:spin 1s linear infinite;--hp-aspect-video:16 / 9;--hp-default-transition-duration:.15s;--hp-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--hp-default-font-family:var(--hp-font-sans);--hp-default-mono-font-family:var(--hp-font-mono);--hp-color-accent:#fff;--hp-color-on-accent:#0a0a0a;--hp-color-surface:#0a0a0a;--hp-color-surface-elev:#1a1a1a;--hp-color-on-surface:#fff;--hp-color-on-surface-muted:#a3a3a3}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--hp-default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--hp-default-font-feature-settings,normal);font-variation-settings:var(--hp-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--hp-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--hp-default-mono-font-feature-settings,normal);font-variation-settings:var(--hp-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.hp\\:pointer-events-auto{pointer-events:auto}.hp\\:pointer-events-none{pointer-events:none}.hp\\:absolute{position:absolute}.hp\\:relative{position:relative}.hp\\:sticky{position:sticky}.hp\\:inset-0{top:0;right:0;bottom:0;left:0}.hp\\:inset-x-0{inset-inline:0}.hp\\:inset-y-0{inset-block:0}.hp\\:top-0{top:0}.hp\\:top-1{top:var(--hp-spacing)}.hp\\:top-1\\/2{top:50%}.hp\\:right-0{right:0}.hp\\:right-1{right:var(--hp-spacing)}.hp\\:right-2{right:calc(var(--hp-spacing) * 2)}.hp\\:bottom-0{bottom:0}.hp\\:bottom-full{bottom:100%}.hp\\:left-1\\/2{left:50%}.hp\\:z-10{z-index:10}.hp\\:z-20{z-index:20}.hp\\:z-30{z-index:30}.hp\\:z-40{z-index:40}.hp\\:m-0{margin:0}.hp\\:my-1{margin-block:var(--hp-spacing)}.hp\\:mt-0\\.5{margin-top:calc(var(--hp-spacing) * .5)}.hp\\:mt-1{margin-top:var(--hp-spacing)}.hp\\:mt-2{margin-top:calc(var(--hp-spacing) * 2)}.hp\\:mt-8{margin-top:calc(var(--hp-spacing) * 8)}.hp\\:mb-1{margin-bottom:var(--hp-spacing)}.hp\\:mb-2{margin-bottom:calc(var(--hp-spacing) * 2)}.hp\\:mb-16{margin-bottom:calc(var(--hp-spacing) * 16)}.hp\\:ml-1{margin-left:var(--hp-spacing)}.hp\\:block{display:block}.hp\\:flex{display:flex}.hp\\:grid{display:grid}.hp\\:hidden{display:none}.hp\\:inline-block{display:inline-block}.hp\\:aspect-\\[9\\/16\\]{aspect-ratio:9/16}.hp\\:aspect-video{aspect-ratio:var(--hp-aspect-video)}.hp\\:h-0\\.5{height:calc(var(--hp-spacing) * .5)}.hp\\:h-1{height:var(--hp-spacing)}.hp\\:h-1\\/3{height:33.3333%}.hp\\:h-3{height:calc(var(--hp-spacing) * 3)}.hp\\:h-6{height:calc(var(--hp-spacing) * 6)}.hp\\:h-7{height:calc(var(--hp-spacing) * 7)}.hp\\:h-8{height:calc(var(--hp-spacing) * 8)}.hp\\:h-9{height:calc(var(--hp-spacing) * 9)}.hp\\:h-10{height:calc(var(--hp-spacing) * 10)}.hp\\:h-16{height:calc(var(--hp-spacing) * 16)}.hp\\:h-20{height:calc(var(--hp-spacing) * 20)}.hp\\:h-\\[var\\(--hp-ctrl-btn-size\\)\\]{height:var(--hp-ctrl-btn-size)}.hp\\:h-\\[var\\(--hp-seek-hit-h\\)\\]{height:var(--hp-seek-hit-h)}.hp\\:h-\\[var\\(--hp-seek-track-h\\)\\]{height:var(--hp-seek-track-h)}.hp\\:h-full{height:100%}.hp\\:max-h-64{max-height:calc(var(--hp-spacing) * 64)}.hp\\:max-h-80{max-height:calc(var(--hp-spacing) * 80)}.hp\\:w-0{width:0}.hp\\:w-0\\.5{width:calc(var(--hp-spacing) * .5)}.hp\\:w-1{width:var(--hp-spacing)}.hp\\:w-1\\.5{width:calc(var(--hp-spacing) * 1.5)}.hp\\:w-3{width:calc(var(--hp-spacing) * 3)}.hp\\:w-6{width:calc(var(--hp-spacing) * 6)}.hp\\:w-7{width:calc(var(--hp-spacing) * 7)}.hp\\:w-8{width:calc(var(--hp-spacing) * 8)}.hp\\:w-9{width:calc(var(--hp-spacing) * 9)}.hp\\:w-10{width:calc(var(--hp-spacing) * 10)}.hp\\:w-14{width:calc(var(--hp-spacing) * 14)}.hp\\:w-16{width:calc(var(--hp-spacing) * 16)}.hp\\:w-48{width:calc(var(--hp-spacing) * 48)}.hp\\:w-72{width:calc(var(--hp-spacing) * 72)}.hp\\:w-\\[var\\(--hp-ctrl-btn-size\\)\\]{width:var(--hp-ctrl-btn-size)}.hp\\:w-full{width:100%}.hp\\:max-w-\\[50\\%\\]{max-width:50%}.hp\\:max-w-\\[80\\%\\]{max-width:80%}.hp\\:max-w-\\[85\\%\\]{max-width:85%}.hp\\:max-w-full{max-width:100%}.hp\\:max-w-xs{max-width:var(--hp-container-xs)}.hp\\:min-w-0{min-width:0}.hp\\:flex-1{flex:1}.hp\\:flex-shrink-0,.hp\\:shrink-0{flex-shrink:0}.hp\\:animate-spin{animation:var(--hp-animate-spin)}.hp\\:cursor-pointer{cursor:pointer}.hp\\:touch-none{touch-action:none}.hp\\:list-none{list-style-type:none}.hp\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.hp\\:flex-col{flex-direction:column}.hp\\:flex-wrap{flex-wrap:wrap}.hp\\:items-center{align-items:center}.hp\\:items-end{align-items:flex-end}.hp\\:justify-between{justify-content:space-between}.hp\\:justify-center{justify-content:center}.hp\\:gap-0\\.5{gap:calc(var(--hp-spacing) * .5)}.hp\\:gap-1{gap:var(--hp-spacing)}.hp\\:gap-1\\.5{gap:calc(var(--hp-spacing) * 1.5)}.hp\\:gap-2{gap:calc(var(--hp-spacing) * 2)}.hp\\:gap-3{gap:calc(var(--hp-spacing) * 3)}.hp\\:self-end{align-self:flex-end}.hp\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hp\\:overflow-hidden{overflow:hidden}.hp\\:overflow-y-auto{overflow-y:auto}.hp\\:rounded{border-radius:.25rem}.hp\\:rounded-full{border-radius:3.40282e38px}.hp\\:rounded-lg{border-radius:var(--hp-radius-lg)}.hp\\:border{border-style:var(--tw-border-style);border-width:1px}.hp\\:border-0{border-style:var(--tw-border-style);border-width:0}.hp\\:border-2{border-style:var(--tw-border-style);border-width:2px}.hp\\:border-\\[3px\\]{border-style:var(--tw-border-style);border-width:3px}.hp\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.hp\\:border-on-surface\\/10{border-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:border-on-surface\\/10{border-color:color-mix(in oklab,var(--hp-color-on-surface) 10%,transparent)}}.hp\\:border-on-surface\\/20{border-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:border-on-surface\\/20{border-color:color-mix(in oklab,var(--hp-color-on-surface) 20%,transparent)}}.hp\\:border-on-surface\\/30{border-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:border-on-surface\\/30{border-color:color-mix(in oklab,var(--hp-color-on-surface) 30%,transparent)}}.hp\\:border-t-accent{border-top-color:var(--hp-color-accent)}.hp\\:bg-accent,.hp\\:bg-accent\\/15{background-color:var(--hp-color-accent)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-accent\\/15{background-color:color-mix(in oklab,var(--hp-color-accent) 15%,transparent)}}.hp\\:bg-black,.hp\\:bg-black\\/30{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/30{background-color:color-mix(in oklab,var(--hp-color-black) 30%,transparent)}}.hp\\:bg-black\\/40{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/40{background-color:color-mix(in oklab,var(--hp-color-black) 40%,transparent)}}.hp\\:bg-black\\/60{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/60{background-color:color-mix(in oklab,var(--hp-color-black) 60%,transparent)}}.hp\\:bg-black\\/70{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/70{background-color:color-mix(in oklab,var(--hp-color-black) 70%,transparent)}}.hp\\:bg-black\\/85{background-color:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-black\\/85{background-color:color-mix(in oklab,var(--hp-color-black) 85%,transparent)}}.hp\\:bg-on-surface,.hp\\:bg-on-surface\\/20{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-on-surface\\/20{background-color:color-mix(in oklab,var(--hp-color-on-surface) 20%,transparent)}}.hp\\:bg-on-surface\\/25{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-on-surface\\/25{background-color:color-mix(in oklab,var(--hp-color-on-surface) 25%,transparent)}}.hp\\:bg-on-surface\\/40{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-on-surface\\/40{background-color:color-mix(in oklab,var(--hp-color-on-surface) 40%,transparent)}}.hp\\:bg-surface{background-color:var(--hp-color-surface)}.hp\\:bg-surface-elev{background-color:var(--hp-color-surface-elev)}.hp\\:bg-transparent{background-color:#0000}.hp\\:bg-white,.hp\\:bg-white\\/15{background-color:var(--hp-color-white)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-white\\/15{background-color:color-mix(in oklab,var(--hp-color-white) 15%,transparent)}}.hp\\:bg-white\\/30{background-color:var(--hp-color-white)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-white\\/30{background-color:color-mix(in oklab,var(--hp-color-white) 30%,transparent)}}.hp\\:bg-white\\/40{background-color:var(--hp-color-white)}@supports (color:color-mix(in lab,red,red)){.hp\\:bg-white\\/40{background-color:color-mix(in oklab,var(--hp-color-white) 40%,transparent)}}.hp\\:bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.hp\\:from-black\\/80{--tw-gradient-from:var(--hp-color-black)}@supports (color:color-mix(in lab,red,red)){.hp\\:from-black\\/80{--tw-gradient-from:color-mix(in oklab, var(--hp-color-black) 80%, transparent)}}.hp\\:from-black\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hp\\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hp\\:bg-cover{background-size:cover}.hp\\:bg-center{background-position:50%}.hp\\:object-cover{object-fit:cover}.hp\\:p-0{padding:0}.hp\\:p-1\\.5{padding:calc(var(--hp-spacing) * 1.5)}.hp\\:p-2{padding:calc(var(--hp-spacing) * 2)}.hp\\:p-3{padding:calc(var(--hp-spacing) * 3)}.hp\\:p-4{padding:calc(var(--hp-spacing) * 4)}.hp\\:px-1{padding-inline:var(--hp-spacing)}.hp\\:px-1\\.5{padding-inline:calc(var(--hp-spacing) * 1.5)}.hp\\:px-2{padding-inline:calc(var(--hp-spacing) * 2)}.hp\\:px-3{padding-inline:calc(var(--hp-spacing) * 3)}.hp\\:px-4{padding-inline:calc(var(--hp-spacing) * 4)}.hp\\:py-1{padding-block:var(--hp-spacing)}.hp\\:py-1\\.5{padding-block:calc(var(--hp-spacing) * 1.5)}.hp\\:py-2{padding-block:calc(var(--hp-spacing) * 2)}.hp\\:pt-6{padding-top:calc(var(--hp-spacing) * 6)}.hp\\:pb-2{padding-bottom:calc(var(--hp-spacing) * 2)}.hp\\:text-center{text-align:center}.hp\\:text-left{text-align:left}.hp\\:font-mono{font-family:var(--hp-font-mono)}.hp\\:text-2xl{font-size:var(--hp-text-2xl);line-height:var(--tw-leading,var(--hp-text-2xl--line-height))}.hp\\:text-base{font-size:var(--hp-text-base);line-height:var(--tw-leading,var(--hp-text-base--line-height))}.hp\\:text-lg{font-size:var(--hp-text-lg);line-height:var(--tw-leading,var(--hp-text-lg--line-height))}.hp\\:text-sm{font-size:var(--hp-text-sm);line-height:var(--tw-leading,var(--hp-text-sm--line-height))}.hp\\:text-xl{font-size:var(--hp-text-xl);line-height:var(--tw-leading,var(--hp-text-xl--line-height))}.hp\\:text-xs{font-size:var(--hp-text-xs);line-height:var(--tw-leading,var(--hp-text-xs--line-height))}.hp\\:text-\\[length\\:var\\(--hp-ctrl-icon-size\\)\\]{font-size:var(--hp-ctrl-icon-size)}.hp\\:leading-none{--tw-leading:1;line-height:1}.hp\\:font-medium{--tw-font-weight:var(--hp-font-weight-medium);font-weight:var(--hp-font-weight-medium)}.hp\\:font-semibold{--tw-font-weight:var(--hp-font-weight-semibold);font-weight:var(--hp-font-weight-semibold)}.hp\\:whitespace-nowrap{white-space:nowrap}.hp\\:text-accent{color:var(--hp-color-accent)}.hp\\:text-on-accent{color:var(--hp-color-on-accent)}.hp\\:text-on-surface{color:var(--hp-color-on-surface)}.hp\\:text-on-surface-muted{color:var(--hp-color-on-surface-muted)}.hp\\:text-white{color:var(--hp-color-white)}.hp\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.hp\\:no-underline{text-decoration-line:none}.hp\\:underline{text-decoration-line:underline}.hp\\:opacity-0{opacity:0}.hp\\:opacity-60{opacity:.6}.hp\\:opacity-70{opacity:.7}.hp\\:opacity-80{opacity:.8}.hp\\:opacity-90{opacity:.9}.hp\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hp\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hp\\:drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hp\\:transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--hp-default-transition-timing-function));transition-duration:var(--tw-duration,var(--hp-default-transition-duration))}.hp\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--hp-default-transition-timing-function));transition-duration:var(--tw-duration,var(--hp-default-transition-duration))}.hp\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--hp-default-transition-timing-function));transition-duration:var(--tw-duration,var(--hp-default-transition-duration))}.hp\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.hp\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.hp\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.hp\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.hp\\:will-change-\\[opacity\\]{will-change:opacity}.hp\\:select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.hp\\:group-hover\\:h-\\[var\\(--hp-seek-track-h-hover\\)\\]:is(:where(.hp\\:group):hover *){height:var(--hp-seek-track-h-hover)}.hp\\:hover\\:bg-on-surface\\/5:hover{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:hover\\:bg-on-surface\\/5:hover{background-color:color-mix(in oklab,var(--hp-color-on-surface) 5%,transparent)}}.hp\\:hover\\:bg-on-surface\\/10:hover{background-color:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp\\:hover\\:bg-on-surface\\/10:hover{background-color:color-mix(in oklab,var(--hp-color-on-surface) 10%,transparent)}}.hp\\:hover\\:opacity-80:hover{opacity:.8}}.hp\\:focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hp\\:focus-visible\\:ring-accent:focus-visible{--tw-ring-color:var(--hp-color-accent)}.hp\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.hp\\:data-\\[active\\=true\\]\\:bg-accent\\/15[data-active=true]{background-color:var(--hp-color-accent)}@supports (color:color-mix(in lab,red,red)){.hp\\:data-\\[active\\=true\\]\\:bg-accent\\/15[data-active=true]{background-color:color-mix(in oklab,var(--hp-color-accent) 15%,transparent)}}.hp\\:data-\\[active\\=true\\]\\:text-on-surface[data-active=true]{color:var(--hp-color-on-surface)}}.hp-icon{font-variant:normal;text-transform:none;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:hope-icons;font-style:normal;font-weight:400;line-height:1}.hp-icon-check:before{content:""}.hp-icon-chevron-left:before{content:""}.hp-icon-close:before{content:""}.hp-icon-fullscreen-enter:before{content:""}.hp-icon-fullscreen-exit:before{content:""}.hp-icon-grid:before{content:""}.hp-icon-loop:before{content:""}.hp-icon-pause:before{content:""}.hp-icon-pip:before{content:""}.hp-icon-play:before{content:""}.hp-icon-settings:before{content:""}.hp-icon-skip-back:before{content:""}.hp-icon-skip-forward:before{content:""}.hp-icon-volume-high:before{content:""}.hp-icon-volume-low:before{content:""}.hp-icon-volume-muted:before{content:""}.hp-icon-warning:before{content:""}:host{--hp-radius:8px;--hp-chip-bg:#ffffff14;--hp-chip-bg-hover:#ffffff2e;--hp-chip-bg-active:#ffffff42;--hp-chip-border:#ffffff29;--hp-chip-border-hover:#ffffff4d;--hp-chip-blur:14px;--hp-chip-shadow:0 4px 18px #00000047, inset 0 1px 0 #ffffff12;--hp-chip-radius:10px;--hp-chip-text:var(--hp-color-on-surface,#fff);--hp-chrome-scrim:linear-gradient(to top, #00000080 0%, #0000003d 50%, #0000 100%);--hp-chrome-scrim-height:min(150px, 45%);--hp-chip-backdrop-brightness:.78;--hp-ctrl-shadow:drop-shadow(0 1px 1.5px #0000008c);--hp-panel-bg:#ffffffb8;--hp-panel-blur:26px;--hp-panel-border:#0f11171a;--hp-panel-text:#15171c;--hp-panel-text-muted:#5b6270;--hp-panel-text-shadow:none;--hp-ctrl-btn-size:32px;--hp-ctrl-icon-size:16px;--hp-seek-hit-h:16px;--hp-seek-track-h:4px;--hp-seek-track-h-hover:6px;--hp-seek-thumb-size:12px;--hp-tooltip-bg:#ffffffe6;--hp-tooltip-text:#15171c;--hp-tooltip-key-bg:#0f11171a;--hp-tooltip-key-text:#15171c;--hp-caption-font-size:16px;--hp-caption-bg:#000000bf;--hp-caption-text:#fff;--hp-caption-radius:4px;background:var(--hp-color-surface,#0a0a0a);width:100%;color:var(--hp-color-on-surface,#fff);border-radius:var(--hp-radius);font-family:system-ui,-apple-system,sans-serif;line-height:1;display:block}.hp-chip{background:var(--hp-chip-bg);border:1px solid var(--hp-chip-border);border-radius:var(--hp-chip-radius);-webkit-backdrop-filter:blur(var(--hp-chip-blur)) saturate(160%);box-shadow:var(--hp-chip-shadow);color:var(--hp-chip-text);transition:background-color .16s,border-color .16s,box-shadow .16s,transform .12s}.hp-chip:hover{background:var(--hp-chip-bg-hover);border-color:var(--hp-chip-border-hover)}button.hp-chip:active{background:var(--hp-chip-bg-active);transform:scale(.94)}.hp-chip:focus-visible{outline:2px solid var(--hp-color-accent,#fff);outline-offset:2px}.hp-chip-panel,.hp-chip-panel:hover{background:var(--hp-panel-bg);border-color:var(--hp-panel-border);-webkit-backdrop-filter:blur(var(--hp-panel-blur)) saturate(160%);text-shadow:var(--hp-panel-text-shadow,none)}.hp-chip-panel{--hp-color-on-surface:var(--hp-panel-text);--hp-color-on-surface-muted:var(--hp-panel-text-muted);color:var(--hp-panel-text)}.hp-tooltip{background:var(--hp-tooltip-bg);color:var(--hp-tooltip-text);border-radius:calc(var(--hp-radius) * .75);-webkit-backdrop-filter:blur(12px)saturate(160%);font-weight:500;box-shadow:0 4px 14px #00000059}.hp-tooltip-key{background:var(--hp-tooltip-key-bg);min-width:16px;height:16px;color:var(--hp-tooltip-key-text);text-transform:uppercase;border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;display:inline-flex}.hp-group{background:var(--hp-chip-bg);border:1px solid var(--hp-chip-border);-webkit-backdrop-filter:blur(var(--hp-chip-blur)) saturate(160%) brightness(var(--hp-chip-backdrop-brightness,1));box-shadow:var(--hp-chip-shadow);border-radius:9999px}.hp-group-left{position:relative}.hp-loading-ring{border-radius:inherit;pointer-events:none;opacity:0;filter:drop-shadow(0 0 3px var(--hp-color-accent,#fff));transition:opacity .22s;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px}@supports (color:color-mix(in lab,red,red)){.hp-loading-ring{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--hp-color-accent,#fff) 70%,transparent))}}.hp-loading-ring-mask{border-radius:inherit;-webkit-mask-composite:xor;padding:2px;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.hp-loading-ring-mask>span{aspect-ratio:1;background:conic-gradient(from 0deg,transparent 0deg 150deg,var(--hp-color-accent,#fff) 260deg,var(--hp-color-accent,#fff) 340deg,transparent 360deg);width:max(100%,160px);position:absolute;top:50%;left:50%;translate:-50% -50%}@supports (color:color-mix(in lab,red,red)){.hp-loading-ring-mask>span{background:conic-gradient(from 0deg,transparent 0deg 150deg,color-mix(in srgb,var(--hp-color-accent,#fff) 30%,transparent) 260deg,var(--hp-color-accent,#fff) 340deg,transparent 360deg)}}.hp-loading-ring-mask>span{animation:1.1s linear infinite paused hp-loading-ring-spin}.hp-group-left[data-loading]>.hp-loading-ring{opacity:1}.hp-group-left[data-loading]>.hp-loading-ring .hp-loading-ring-mask>span{animation-play-state:running}@keyframes hp-loading-ring-spin{to{rotate:360deg}}@media(prefers-reduced-motion:reduce){.hp-loading-ring-mask>span{background:var(--hp-color-accent,#fff);animation:none}.hp-group-left[data-loading]>.hp-loading-ring{animation:1.6s ease-in-out infinite hp-loading-ring-pulse}}@keyframes hp-loading-ring-pulse{50%{opacity:.35}}.hp-center-play>.hp-chip{-webkit-backdrop-filter:blur(var(--hp-chip-blur)) saturate(160%) brightness(var(--hp-chip-backdrop-brightness,1))}.hp-group .hp-icon,.hp-group [part=time-display],.hp-group .hp-live-badge,.hp-group [part=live-clock],.hp-group .hp-skip-num,.hp-center-play .hp-icon{filter:var(--hp-ctrl-shadow,none)}.hp-chrome:before{content:"";height:var(--hp-chrome-scrim-height);background:var(--hp-chrome-scrim);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.video-area[data-compact]>.hp-chrome:after{content:"";background:var(--hp-chrome-scrim);opacity:.7;pointer-events:none;height:min(90px,30%);position:absolute;top:0;left:0;right:0;transform:scaleY(-1)}.hp-group button.hp-chip{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border-color:#0000}.hp-group button.hp-chip:hover{background:var(--hp-chip-bg-hover)}.hp-group button.hp-chip:active{background:var(--hp-chip-bg-active)}:host([data-theme=glass-dark]),:host([data-theme=neo-dark]),:host([data-theme=mono]){--hp-panel-bg:#0a0a0e8c;--hp-panel-border:#ffffff1a;--hp-panel-text:#fff;--hp-panel-text-muted:#a3a3a3;--hp-panel-text-shadow:0 1px 3px #000000a6;--hp-tooltip-bg:#0a0a0aeb;--hp-tooltip-text:#fff;--hp-tooltip-key-bg:#ffffff2e;--hp-tooltip-key-text:#fff}:host([data-theme=glass-dark]){--hp-chip-bg:#0a0a0e73;--hp-chip-bg-hover:#0a0a0e9e;--hp-chip-bg-active:#0a0a0ebf;--hp-chip-border:#ffffff14;--hp-chip-border-hover:#ffffff29;--hp-chip-shadow:0 4px 18px #0006, inset 0 1px 0 #ffffff0a;--hp-panel-bg:#08080cb8;--hp-chip-backdrop-brightness:1}:host([data-theme=neo-dark]){--hp-chip-bg:#24242a;--hp-chip-bg-hover:#2a2a31;--hp-chip-bg-active:#1e1e23;--hp-chip-border:transparent;--hp-chip-border-hover:transparent;--hp-chip-blur:0px;--hp-chip-shadow:5px 5px 10px #00000080, -4px -4px 9px #ffffff09;--hp-chip-radius:12px;--hp-color-surface:#1b1b20;--hp-panel-bg:#1e1e23;--hp-panel-text-shadow:none;--hp-chrome-scrim:none;--hp-chip-backdrop-brightness:1;--hp-ctrl-shadow:none}:host([data-theme=neo-dark]) button.hp-chip:active{box-shadow:inset 3px 3px 6px #00000080,inset -2px -2px 5px #ffffff08}:host([data-theme=mono]){--hp-chip-bg:#ffffff0a;--hp-chip-bg-hover:#ffffff1a;--hp-chip-border:#ffffff14;--hp-chip-border-hover:#ffffff24;--hp-chip-blur:0px;--hp-chip-shadow:none;--hp-panel-bg:#0a0a0aeb;--hp-panel-text-shadow:none}@media(pointer:coarse){:host{--hp-ctrl-btn-size:40px;--hp-ctrl-icon-size:18px;--hp-seek-hit-h:22px;--hp-seek-track-h:5px;--hp-seek-track-h-hover:7px;--hp-seek-thumb-size:14px;--hp-caption-font-size:19px}}:host(:fullscreen),:host(:-webkit-full-screen){--hp-ctrl-btn-size:44px;--hp-ctrl-icon-size:20px;--hp-seek-hit-h:26px;--hp-seek-track-h:6px;--hp-seek-track-h-hover:8px;--hp-seek-thumb-size:18px;--hp-caption-font-size:22px}:host(:fullscreen) [part=control-bar],:host(:-webkit-full-screen) [part=control-bar]{padding:28px 20px 18px}.video-area{width:100%;aspect-ratio:var(--hp-aspect-ratio,16 / 9);border-radius:var(--hp-radius);background:var(--hp-color-surface,#0a0a0a);position:relative;overflow:hidden}.video-area[data-compact]{--hp-caption-font-size:13px}.video-area[data-story]{aspect-ratio:9/16;max-width:49.5vh;max-height:88vh;margin:0 auto}:host(:fullscreen),:host(:-webkit-full-screen){background:#000;border-radius:0}:host(:fullscreen) .hp-root,:host(:-webkit-full-screen) .hp-root{height:100%}:host(:fullscreen) .video-area,:host(:-webkit-full-screen) .video-area{aspect-ratio:auto;background:#000;border-radius:0;width:100%;height:100%}:host(:fullscreen) .video-area[data-story],:host(:-webkit-full-screen) .video-area[data-story]{aspect-ratio:9/16;width:auto;max-width:100%;height:100%;max-height:none;margin:0 auto}.media-layer{position:absolute;top:0;right:0;bottom:0;left:0}.media-layer video{object-fit:contain;background:#000;width:100%;height:100%}.hp-center-x{transform:translate(-50%)}.hp-center-y{transform:translateY(-50%)}.hp-chip-panel[data-drop]{margin-top:8px;margin-bottom:0;top:100%;bottom:auto}.hp-top-bar{pointer-events:none;display:flex;position:absolute;top:8px;right:8px}.hp-top-bar>*{pointer-events:auto}.hp-story-list-btn{top:calc(8px + var(--hp-ctrl-btn-size) + 18px);right:12px}:host([data-cursor-hidden]),:host([data-cursor-hidden]) *{cursor:none!important}.hp-unmute-badge{z-index:25;background:var(--hp-tooltip-bg);color:var(--hp-tooltip-text);-webkit-backdrop-filter:blur(12px)saturate(160%);font:inherit;cursor:pointer;border:0;border-radius:9999px;align-items:center;gap:6px;padding:6px 12px 6px 10px;font-size:13px;font-weight:600;display:none;position:absolute;top:10px;left:10px;box-shadow:0 4px 14px #00000059}@media(hover:none)and (pointer:coarse){.hp-volume{display:none!important}.hp-unmute-badge[data-visible]{display:inline-flex}}.hp-error-screen{z-index:30;background:var(--hp-color-surface);justify-content:center;align-items:center;padding:12px;display:none;position:absolute;top:0;right:0;bottom:0;left:0}@supports (color:color-mix(in lab,red,red)){.hp-error-screen{background:color-mix(in srgb,var(--hp-color-surface) 94%,transparent)}}.hp-error-screen{-webkit-backdrop-filter:blur(16px)saturate(140%);color:var(--hp-color-on-surface);text-align:center;container-type:size}.hp-error-screen[data-visible]{animation:.22s hp-error-in;display:flex}@keyframes hp-error-in{0%{opacity:0}}.hp-error-card{flex-direction:column;align-items:center;gap:10px;max-width:340px;display:flex}.hp-error-icon{border:1px solid var(--hp-color-on-surface);border-radius:9999px;place-items:center;width:48px;height:48px;display:grid}@supports (color:color-mix(in lab,red,red)){.hp-error-icon{border:1px solid color-mix(in srgb,var(--hp-color-on-surface) 18%,transparent)}}.hp-error-icon{background:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-error-icon{background:color-mix(in srgb,var(--hp-color-on-surface) 8%,transparent)}}.hp-error-icon{margin-bottom:2px;font-size:22px}.hp-error-message{margin:0;font-size:14px;font-weight:600;line-height:1.45}.hp-error-code{color:var(--hp-color-on-surface-muted);font-variant-numeric:tabular-nums;margin:-4px 0 0;font-size:12px}.hp-error-retry{border:1px solid var(--hp-chip-border);background:var(--hp-chip-bg);color:var(--hp-color-on-surface);font:inherit;cursor:pointer;border-radius:9999px;align-items:center;gap:6px;margin-top:6px;padding:7px 14px 7px 12px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.hp-error-retry:hover{background:var(--hp-chip-bg-hover);border-color:var(--hp-chip-border-hover)}.hp-error-retry:focus-visible{outline:2px solid var(--hp-color-accent);outline-offset:2px}@container (max-height:240px){.hp-error-card{gap:6px}.hp-error-icon{width:36px;height:36px;margin-bottom:0;font-size:16px}.hp-error-message{font-size:13px}.hp-error-code{margin-top:-2px;font-size:11px}.hp-error-retry{margin-top:2px;padding:5px 12px 5px 10px;font-size:12px}}.hp-context-menu,.hp-stats,.hp-debug{border:1px solid var(--hp-panel-border);background:var(--hp-panel-bg);-webkit-backdrop-filter:blur(var(--hp-panel-blur)) saturate(160%);color:var(--hp-panel-text);text-shadow:var(--hp-panel-text-shadow,none);border-radius:10px;position:absolute;box-shadow:0 8px 28px #00000059}.hp-context-menu{z-index:40;min-width:200px;padding:4px;font-size:13px;display:none}.hp-context-menu[data-open]{animation:.12s hp-context-menu-in;display:block}@keyframes hp-context-menu-in{0%{opacity:0;transform:scale(.97)}}.hp-context-menu-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:8px 10px;display:flex}.hp-context-menu-item[data-info]{cursor:default;font-weight:600}button.hp-context-menu-item:hover,button.hp-context-menu-item:focus-visible{background:var(--hp-panel-text)}@supports (color:color-mix(in lab,red,red)){button.hp-context-menu-item:hover,button.hp-context-menu-item:focus-visible{background:color-mix(in srgb,var(--hp-panel-text) 10%,transparent)}}button.hp-context-menu-item:hover,button.hp-context-menu-item:focus-visible{outline:none}.hp-context-menu-item+.hp-context-menu-item{margin-top:2px}.hp-context-menu-meta{color:var(--hp-panel-text-muted);font-variant-numeric:tabular-nums;font-weight:500}.hp-stats{z-index:28;width:min(360px,100% - 20px);max-height:calc(100% - 20px);padding:8px 12px 10px;font-size:11.5px;top:10px;left:10px;overflow:auto}.hp-stats-header{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.hp-stats-close{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9999px;padding:4px;display:inline-flex}.hp-stats-close:hover{background:var(--hp-panel-text)}@supports (color:color-mix(in lab,red,red)){.hp-stats-close:hover{background:color-mix(in srgb,var(--hp-panel-text) 12%,transparent)}}.hp-stats-body{grid-template-columns:auto 1fr;gap:3px 12px;margin:0;display:grid}.hp-stats-body dt{color:var(--hp-panel-text-muted);white-space:nowrap}.hp-stats-body dd{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.hp-seek-fb{z-index:8;border:1px solid var(--hp-chip-border);background:var(--hp-chip-bg);-webkit-backdrop-filter:blur(var(--hp-chip-blur)) saturate(160%);box-shadow:var(--hp-chip-shadow);color:var(--hp-chip-text);pointer-events:none;opacity:0;border-radius:9999px;align-items:center;gap:10px;padding:12px 20px 12px 16px;transition:opacity .18s,translate .22s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:50%}.hp-seek-fb[data-side=forward]{right:7%;translate:14px -50%}.hp-seek-fb[data-side=back]{flex-direction:row-reverse;padding:12px 16px 12px 20px;left:7%;translate:-14px -50%}.hp-seek-fb[data-visible]{opacity:1;translate:0 -50%}.hp-seek-fb-chevrons{display:flex}.hp-seek-fb-chevrons svg{fill:currentColor;opacity:.25;width:16px;height:16px;margin:0 -3px;animation:.9s ease-in-out infinite hp-seek-fb-chevron}.hp-seek-fb[data-side=back] .hp-seek-fb-chevrons{transform:scaleX(-1)}.hp-seek-fb-chevrons svg:nth-child(2){animation-delay:.15s}.hp-seek-fb-chevrons svg:nth-child(3){animation-delay:.3s}@keyframes hp-seek-fb-chevron{0%,to{opacity:.25}40%{opacity:1}}.hp-seek-fb-value{white-space:nowrap;align-items:baseline;gap:3px;display:flex}.hp-seek-fb-num{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1;display:inline-block}.hp-seek-fb-unit{opacity:.75;font-size:12px;font-weight:600}.hp-seek-fb-bump{animation:.26s cubic-bezier(.2,.8,.2,1) hp-seek-fb-bump}@keyframes hp-seek-fb-bump{0%{transform:scale(1.25)}to{transform:scale(1)}}.video-area[data-compact] .hp-seek-fb{padding:8px 12px}.video-area[data-compact] .hp-seek-fb[data-side=forward]{right:4%}.video-area[data-compact] .hp-seek-fb[data-side=back]{padding:8px 12px;left:4%}.video-area[data-compact] .hp-seek-fb-chevrons{display:none}.video-area[data-compact] .hp-seek-fb-num{font-size:16px}.hp-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media(prefers-reduced-motion:reduce){.hp-seek-fb,.hp-seek-fb-chevrons svg,.hp-seek-fb-bump{transition:none;animation:none}.hp-seek-fb-chevrons svg{opacity:.8}}.hp-skip-btn{position:relative}.hp-skip-btn>.hp-icon{font-size:calc(var(--hp-ctrl-icon-size) * 1.45)}.hp-skip-num{padding-top:calc(var(--hp-ctrl-icon-size) * .14);font-size:calc(var(--hp-ctrl-icon-size) * .56);letter-spacing:-.02em;font-variant-numeric:tabular-nums;pointer-events:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.hp-skip-num[data-long]{font-size:calc(var(--hp-ctrl-icon-size) * .42)}.hp-skip-btn:disabled{opacity:.4;cursor:default}.hp-center-play>.hp-chip{z-index:7;position:relative}.video-area[data-center-play-shifted] .hp-center-play>.hp-chip{width:var(--hp-center-play-size);height:var(--hp-center-play-size);translate:var(--hp-center-play-shift-x,0px) var(--hp-center-play-shift)}.video-area[data-pause-ad-ready]>:is(.media-layer,.hp-chrome,.hp-center-play,.hp-caption-layer,.hp-error-screen,.hp-mini-progress){right:var(--hp-pause-ad-w,0px);transition:right .38s cubic-bezier(.2,.8,.2,1),opacity .2s}.video-area[data-pause-ad] .media-layer video{object-fit:cover}.hp-pause-ad{z-index:25;width:var(--hp-pause-ad-panel-w,332px);box-sizing:border-box;background:var(--hp-color-surface,#0a0a0a);color:var(--hp-color-on-surface,#fff);visibility:hidden;flex-direction:column;justify-content:center;gap:10px;padding:12px 16px;transition:transform .38s cubic-bezier(.2,.8,.2,1),visibility 0s linear .38s;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.hp-pause-ad[data-open]{visibility:visible;transition:transform .38s cubic-bezier(.2,.8,.2,1);transform:none}.hp-pause-ad-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.hp-pause-ad-label{color:var(--hp-color-on-surface-muted,#ffffffb3);font-size:13px;font-weight:600}.hp-pause-ad-close{width:28px;height:28px;color:var(--hp-color-on-surface,#fff);cursor:pointer;background:0 0;border:0;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:background-color .15s;display:inline-flex}.hp-pause-ad-close:hover{background:var(--hp-chip-bg-hover)}.hp-pause-ad-body{border-radius:8px;justify-content:center;display:flex;overflow:hidden}.hp-pause-ad-resume{border:1px solid var(--hp-chip-border);background:var(--hp-chip-bg);color:var(--hp-color-on-surface,#fff);font:inherit;cursor:pointer;border-radius:9999px;align-self:stretch;padding:9px 14px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s}.hp-pause-ad-resume:hover{background:var(--hp-chip-bg-hover);border-color:var(--hp-chip-border-hover)}.hp-pause-ad-close:focus-visible,.hp-pause-ad-resume:focus-visible{outline:2px solid var(--hp-color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.video-area[data-pause-ad-ready]>:is(.media-layer,.hp-chrome,.hp-center-play,.hp-caption-layer,.hp-error-screen,.hp-mini-progress),.hp-pause-ad,.hp-pause-ad[data-open]{transition:none}}.hp-seek-thumb{width:var(--hp-seek-thumb-size);height:var(--hp-seek-thumb-size);background:var(--hp-color-accent);will-change:translate,scale;pointer-events:none;z-index:2;border-radius:9999px;transition:scale .15s;position:absolute;left:0;scale:.5}.hp-seekbar:hover .hp-seek-thumb,.hp-seekbar:active .hp-seek-thumb,.hp-seekbar:focus-visible .hp-seek-thumb{scale:1}.hp-seekbar[data-no-duration] .hp-seek-thumb{display:none}.hp-seek-hover-dot{width:var(--hp-seek-track-h-hover);height:var(--hp-seek-track-h-hover);background:var(--hp-color-on-surface);opacity:0;pointer-events:none;z-index:1;border-radius:9999px;transition:opacity .12s;position:absolute;top:50%;left:0;box-shadow:0 0 0 1px #00000073}.hp-seek-hover-dot[data-visible]{opacity:.9}.hp-mini-progress{z-index:6;pointer-events:none;background:var(--hp-color-on-surface);height:1px;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.hp-mini-progress{background:color-mix(in srgb,var(--hp-color-on-surface) 25%,transparent)}}.hp-mini-progress{opacity:0;transition:opacity .2s}.hp-mini-progress[data-visible]:not([data-disabled]){opacity:1}.hp-mini-progress-fill{transform-origin:0;will-change:transform;position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleX(0)}.hp-mini-progress-buffered{background:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-mini-progress-buffered{background:color-mix(in srgb,var(--hp-color-on-surface) 40%,transparent)}}.hp-mini-progress-played{background:var(--hp-color-accent)}.hp-seek-time{border-radius:calc(var(--hp-radius) * .75);background:var(--hp-tooltip-bg);color:var(--hp-tooltip-text);-webkit-backdrop-filter:blur(12px)saturate(160%);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;visibility:hidden;z-index:20;padding:3px 7px;font-size:12px;font-weight:500;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 4px 14px #00000059}.hp-seek-time[data-visible]{visibility:visible}.hp-sprite-tooltip{pointer-events:none;visibility:hidden;z-index:20;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0}.hp-sprite-tooltip[data-visible]{visibility:visible}.hp-sprite-image{border-radius:calc(var(--hp-radius) * .75);border:2px solid var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-sprite-image{border:2px solid color-mix(in srgb,var(--hp-color-on-surface) 85%,transparent)}}.hp-sprite-image{background-color:#000;background-repeat:no-repeat;box-shadow:0 4px 14px #00000059}.hp-sprite-time{background:var(--hp-tooltip-bg);color:var(--hp-tooltip-text);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:12px}.hp-live-badge{height:var(--hp-ctrl-btn-size);color:var(--hp-color-on-surface);font:inherit;letter-spacing:.04em;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9999px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.hp-live-badge:hover{background:var(--hp-chip-bg-hover)}.hp-live-badge:focus-visible{outline:2px solid var(--hp-color-accent);outline-offset:2px}.hp-live-dot{background:var(--hp-live-color,red);border-radius:50%;width:8px;height:8px;transition:background-color .16s}.hp-live-badge[data-behind]{color:var(--hp-color-on-surface-muted)}.hp-live-badge[data-behind] .hp-live-dot{background:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-live-badge[data-behind] .hp-live-dot{background:color-mix(in srgb,var(--hp-color-on-surface) 45%,transparent)}}.hp-chapters{pointer-events:none;inset-inline:0;align-items:center;gap:2px;display:flex;position:absolute;top:0;bottom:0}.hp-chapter{min-width:1px;height:var(--hp-seek-track-h);background:var(--hp-color-on-surface);border-radius:1px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.hp-chapter{background:color-mix(in srgb,var(--hp-color-on-surface) 25%,transparent)}}.hp-chapter{transition:height .15s}.hp-seekbar:hover .hp-chapter{height:var(--hp-seek-track-h-hover)}.hp-seekbar .hp-chapter[data-hover]{height:calc(var(--hp-seek-track-h-hover) * 1.6)}.hp-chapter-fill{transform-origin:0;will-change:transform;position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleX(0)}.hp-chapter-buffered{background:var(--hp-color-on-surface)}@supports (color:color-mix(in lab,red,red)){.hp-chapter-buffered{background:color-mix(in srgb,var(--hp-color-on-surface) 40%,transparent)}}.hp-chapter-played{background:var(--hp-color-accent)}.hp-chapter-tooltip{background:var(--hp-tooltip-bg);max-width:240px;color:var(--hp-tooltip-text);border-radius:calc(var(--hp-radius) * .75);-webkit-backdrop-filter:blur(12px)saturate(160%);text-align:center;pointer-events:none;white-space:nowrap;visibility:hidden;z-index:40;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;font-size:12px;line-height:1.3;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 14px #00000059}.hp-chapter-tooltip[data-visible]{visibility:visible}.hp-chapter-tooltip-title{text-overflow:ellipsis;max-width:100%;font-weight:600;overflow:hidden}.hp-chapter-tooltip-time{opacity:.75;font-variant-numeric:tabular-nums}:host([data-sticky]){z-index:2147483000;border-radius:var(--hp-radius);box-shadow:0 8px 28px #00000073;width:min(360px,92vw)!important;aspect-ratio:var(--hp-aspect-ratio,16 / 9)!important;position:fixed!important}:host([data-sticky][data-sticky-corner=br]){inset:auto 16px 16px auto}:host([data-sticky][data-sticky-corner=bl]){inset:auto auto 16px 16px}:host([data-sticky][data-sticky-corner=tr]){inset:16px 16px auto auto}:host([data-sticky][data-sticky-corner=tl]){inset:16px auto auto 16px}.hp-caption-layer{z-index:5;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.hp-caption-bubble{background:var(--hp-caption-bg);width:max-content;max-width:86%;color:var(--hp-caption-text);border-radius:var(--hp-caption-radius);font-size:calc(var(--hp-caption-font-size) * var(--hp-caption-size-multiplier,1));text-align:center;white-space:pre-line;cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;padding:.3em .6em;line-height:1.4;transition:transform .24s cubic-bezier(.25,.8,.25,1);display:none;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hp-caption-bubble.hp-caption-visible{display:inline-block}.hp-caption-bubble.hp-caption-dragging,.hp-caption-bubble.hp-caption-no-transition{transition:none}.hp-caption-bubble.hp-caption-dragging{cursor:grabbing}[part=ad-layer][data-nonlinear]{top:auto;bottom:var(--hp-nonlinear-ad-offset,72px);height:var(--hp-nonlinear-ad-height,33%);pointer-events:none}[part=ad-layer][data-nonlinear] *{pointer-events:none}[part=ad-layer][data-nonlinear] :is(iframe,img,a,button){pointer-events:auto}.hp-debug{--hp-panel-text:#f1f1f4;--hp-panel-text-muted:#f1f1f49e;--hp-panel-border:#ffffff1f;text-shadow:none;z-index:30;background:#0e0e12f2;flex-direction:column;min-width:0;font-size:12px;line-height:1.45;display:flex;top:8px;right:8px;bottom:8px;left:8px;overflow:hidden}.hp-debug:focus{outline:none}.hp-debug-header{border-bottom:1px solid var(--hp-panel-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.hp-debug-title{white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:700;display:flex}.hp-debug-count{font-variant-numeric:tabular-nums;background:#f8717138;border-radius:9999px;padding:1px 7px;font-size:11px}.hp-debug-count:empty{display:none}.hp-debug-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.hp-debug-btn{border:1px solid var(--hp-panel-border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:9999px;padding:4px 10px;font-size:11.5px}.hp-debug-btn:hover:not(:disabled){background:var(--hp-panel-text)}@supports (color:color-mix(in lab,red,red)){.hp-debug-btn:hover:not(:disabled){background:color-mix(in srgb,var(--hp-panel-text) 12%,transparent)}}.hp-debug-btn:disabled{opacity:.45;cursor:default}.hp-debug-list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:6px 12px 10px;list-style:none;overflow:hidden auto}.hp-debug-row{border-left:2px solid var(--hp-panel-text);padding:8px 0 8px 10px}@supports (color:color-mix(in lab,red,red)){.hp-debug-row{border-left:2px solid color-mix(in srgb,var(--hp-panel-text) 25%,transparent)}}.hp-debug-row{min-width:0}.hp-debug-row+.hp-debug-row{margin-top:6px}.hp-debug-row[data-fatal]{border-left-color:#f87171}.hp-debug-row-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px;display:flex}.hp-debug-time{color:var(--hp-panel-text-muted);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hp-debug-source,.hp-debug-fatal{background:var(--hp-panel-text);border-radius:9999px;padding:1px 7px;font-size:10.5px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.hp-debug-source,.hp-debug-fatal{background:color-mix(in srgb,var(--hp-panel-text) 12%,transparent)}}.hp-debug-source[data-source=ads]{background:#f5c4513d}.hp-debug-source[data-source=stream],.hp-debug-source[data-source=media]{background:#60a5fa3d}.hp-debug-fatal{background:#f8717147}.hp-debug-message{overflow-wrap:anywhere;font-weight:600}.hp-debug-repeat{color:var(--hp-panel-text-muted);font-weight:500}.hp-debug-details{grid-template-columns:max-content minmax(0,1fr);gap:1px 10px;margin:4px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;display:grid}.hp-debug-details dt{color:var(--hp-panel-text-muted)}.hp-debug-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.hp-debug-empty{color:var(--hp-panel-text-muted);margin:auto;padding:16px}.hp-debug-empty[hidden]{display:none}.hp-ad-return{z-index:25;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0e0e12d1;border:1px solid #ffffff40;border-radius:999px;padding:10px 16px;font:600 14px/1.2 system-ui,-apple-system,sans-serif;animation:.2s ease-out hp-ad-return-in;position:absolute;bottom:64px;right:12px}@keyframes hp-ad-return-in{0%{opacity:0;transform:translateY(6px)}}:host([data-audio]) .hp-center-play{display:none}.hp-audio{z-index:1;text-align:left;pointer-events:none;color:#fff;background:linear-gradient(160deg,#2a1f2b,#0c0c10);background:radial-gradient(80% 90% at 20% 10%,var(--hp-color-accent,#e5484d),transparent 70%),linear-gradient(160deg,#1d1d24,#0c0c10);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.hp-audio{background:radial-gradient(80% 90% at 20% 10%,color-mix(in srgb,var(--hp-color-accent,#e5484d) 38%,transparent),transparent 70%),linear-gradient(160deg,#1d1d24,#0c0c10)}}.hp-audio-backdrop{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%}.hp-audio-backdrop img{object-fit:cover;filter:blur(28px)saturate(1.3)brightness(.55);width:100%;height:100%;transform:scale(1.08)}.hp-audio:not([data-cover]) .hp-audio-backdrop,.hp-audio:not([data-cover]) .hp-audio-sleeve img{display:none}.hp-audio-meta{z-index:3;text-shadow:0 1px 6px #0009;line-height:1.25;display:none;position:absolute;top:12px;left:14px;right:64px}.hp-audio[data-meta] .hp-audio-meta{display:block}.hp-audio-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.hp-audio-artist{opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.hp-audio-area{inset:0 0 var(--hp-audio-bottom-space,66px) 0;justify-content:center;align-items:center;display:flex;position:absolute}.hp-audio[data-meta] .hp-audio-area{top:44px}.hp-audio-deck{height:var(--hp-deck-h,0px);flex:none;align-items:center;display:flex;position:relative}.hp-audio[data-position=left] .hp-audio-deck{flex-direction:row-reverse}.hp-audio-sleeve{z-index:2;width:var(--hp-deck-h,0px);height:var(--hp-deck-h,0px);background:radial-gradient(70% 70% at 30% 25%,#e5484d,#0000 75%),#26262d;background:radial-gradient(70% 70% at 30% 25%,var(--hp-color-accent,#e5484d),transparent 75%),#26262d;border-radius:6px;flex:none;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.hp-audio-sleeve{background:radial-gradient(70% 70% at 30% 25%,color-mix(in srgb,var(--hp-color-accent,#e5484d) 70%,#fff 0%),transparent 75%),#26262d}}.hp-audio-sleeve{box-shadow:0 18px 40px -12px #000000bf,0 0 0 1px #ffffff14}.hp-audio-sleeve img{object-fit:cover;width:100%;height:100%;display:block}.hp-audio-sleeve[hidden],.hp-vinyl[hidden],.hp-tonearm-holder[hidden]{display:none}.hp-vinyl{z-index:1;width:calc(var(--hp-deck-h,0px) * .96);height:calc(var(--hp-deck-h,0px) * .96);pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 14px 26px #0009);border-radius:50%;outline:none;flex:none;transition:margin .45s cubic-bezier(.2,.8,.2,1);position:relative}.hp-audio[data-position=right] .hp-vinyl{margin-left:calc(var(--hp-deck-h) * -.56)}.hp-audio[data-position=left] .hp-vinyl{margin-right:calc(var(--hp-deck-h) * -.56)}.hp-audio[data-position=right][data-playing] .hp-vinyl{margin-left:calc(var(--hp-deck-h) * -.46)}.hp-audio[data-position=left][data-playing] .hp-vinyl{margin-right:calc(var(--hp-deck-h) * -.46)}.hp-audio:not([data-laid-out]) .hp-vinyl{transition:none}.hp-vinyl[data-scratch]:not([data-live]){cursor:grab}.hp-audio[data-scratching] .hp-vinyl{cursor:grabbing}.hp-vinyl:focus-visible{box-shadow:0 0 0 3px #ffffffb3;box-shadow:0 0 0 3px var(--hp-color-accent,#e5484d)}@supports (color:color-mix(in lab,red,red)){.hp-vinyl:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--hp-color-accent,#e5484d) 80%,transparent)}}.hp-vinyl-disc{will-change:transform;position:absolute;top:0;right:0;bottom:0;left:0}.hp-vinyl-disc svg,.hp-tonearm svg{width:100%;height:100%;display:block}.hp-vinyl-sheen{pointer-events:none;background:conic-gradient(from 200deg,#0000,#ffffff21 22deg,#0000 48deg,#0000 180deg,#ffffff17 205deg,#0000 232deg);border-radius:50%;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask:radial-gradient(circle,#0000 0 35%,#000 36% 99%,#0000 100%);mask:radial-gradient(circle,#0000 0 35%,#000 36% 99%,#0000 100%)}.hp-tonearm-holder{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.hp-audio[data-position=left] .hp-tonearm-holder{transform:scaleX(-1)}.hp-tonearm{transform-origin:70% 11%;filter:drop-shadow(0 6px 8px #00000080);width:46%;height:92%;transition:transform .6s cubic-bezier(.3,.7,.2,1);position:absolute;top:-6%;right:-14%;transform:rotate(-26deg)}.hp-audio[data-playing] .hp-tonearm{transform:rotate(0)}@media(prefers-reduced-motion:reduce){.hp-vinyl,.hp-tonearm{transition:none}}.hp-audio[data-short][data-meta] .hp-audio-meta{display:none}.hp-audio[data-short][data-meta] .hp-audio-area{top:6px}[part=ad-layer][data-audio-ad]{background:0 0}[part=ad-layer][data-audio-ad] video{opacity:0}.hp-audio:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(#0000,#00000047 45%,#0000009e);height:min(140px,45%);position:absolute;bottom:0;left:0;right:0}:host([data-audio-compact]) .video-area{aspect-ratio:auto;height:var(--hp-audio-bar-height,84px);overflow:visible}:host([data-audio-compact]) .hp-audio{border-radius:var(--hp-radius);background:linear-gradient(120deg,#24242c,#141418);background:linear-gradient(120deg,var(--hp-color-accent,#e5484d),transparent 60%),var(--hp-color-surface,#141418)}@supports (color:color-mix(in lab,red,red)){:host([data-audio-compact]) .hp-audio{background:linear-gradient(120deg,color-mix(in srgb,var(--hp-color-accent,#e5484d) 16%,transparent),transparent 60%),var(--hp-color-surface,#141418)}}:host([data-audio-compact]) .hp-audio>*,:host([data-audio-compact]) .hp-audio:after,:host([data-audio-compact]) .hp-caption-layer,:host([data-audio-compact]) .hp-loading-spinner,:host([data-audio-compact]) .hp-chrome:before,:host([data-audio-compact]) .hp-chrome:after{display:none}.hp-bar-meta{min-width:0;color:var(--hp-color-on-surface,#fff);pointer-events:none;align-items:center;gap:10px;padding:0 6px;display:flex}.hp-bar-meta[data-empty] .hp-bar-text{display:none}.hp-bar-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.hp-bar-title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.hp-bar-sub{opacity:.72;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.hp-bar-sub:empty{display:none}.hp-bar-eq{flex:none;align-items:flex-end;gap:2px;width:14px;height:14px;display:inline-flex}.hp-bar-eq i{background:var(--hp-color-accent,#fff);border-radius:1px;flex:1;height:30%;transition:height .2s}.hp-bar-meta[data-playing] .hp-bar-eq i{animation:.9s ease-in-out infinite alternate hp-bar-eq}.hp-bar-meta[data-playing] .hp-bar-eq i:nth-child(2){animation-duration:.7s;animation-delay:-.3s}.hp-bar-meta[data-playing] .hp-bar-eq i:nth-child(3){animation-duration:1.1s;animation-delay:-.6s}@keyframes hp-bar-eq{0%{height:25%}to{height:100%}}@media(prefers-reduced-motion:reduce){.hp-bar-meta[data-playing] .hp-bar-eq i{height:70%;animation:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}';
5
+ function G() {
6
6
  if (typeof navigator > "u") return !1;
7
- const n = navigator.userAgent, t = /iP(hone|od|ad)/.test(n) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, e = /^((?!chrome|chromium|android|crios|fxios|edg|opr).)*safari/i.test(n);
7
+ const a = navigator.userAgent, t = /iP(hone|od|ad)/.test(a) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, e = /^((?!chrome|chromium|android|crios|fxios|edg|opr).)*safari/i.test(a);
8
8
  return t || e;
9
9
  }
10
- function G() {
11
- const n = window;
12
- return typeof n.MediaSource < "u" || typeof n.ManagedMediaSource < "u";
10
+ function W() {
11
+ const a = window;
12
+ return typeof a.MediaSource < "u" || typeof a.ManagedMediaSource < "u";
13
13
  }
14
- function xe(n, t) {
14
+ function Ee(a, t) {
15
15
  var i;
16
16
  const e = (i = t == null ? void 0 : t.split(";")[0]) == null ? void 0 : i.trim().toLowerCase();
17
- return e === "application/vnd.apple.mpegurl" || e === "application/x-mpegurl" || /\.m3u8(?:$|[?#])/i.test(n) ? "hls" : e === "video/mp4" || /\.mp4(?:$|[?#])/i.test(n) ? "mp4" : "unknown";
17
+ return e === "application/vnd.apple.mpegurl" || e === "application/x-mpegurl" || /\.m3u8(?:$|[?#])/i.test(a) ? "hls" : e === "video/mp4" || /\.mp4(?:$|[?#])/i.test(a) ? "mp4" : "unknown";
18
18
  }
19
- class we {
19
+ class Ce {
20
20
  constructor(t, e) {
21
21
  s(this, "hls", null);
22
22
  s(this, "video");
@@ -41,7 +41,7 @@ class we {
41
41
  }
42
42
  async load(t, e) {
43
43
  this.last = { src: t, type: e }, this.destroy(), this.video.pause();
44
- const i = xe(t, e);
44
+ const i = Ee(t, e);
45
45
  if (this.callbacks.onLevelsChanged([], -1), this.callbacks.onAudioTracksChanged([], -1), this.streamTextTracks.clear(), this.callbacks.onTextTracksFound([]), i !== "hls") {
46
46
  this.engineInfo = { engine: "native" }, this.video.src = t;
47
47
  return;
@@ -51,8 +51,8 @@ class we {
51
51
  this.loadNativeHls(t, "option");
52
52
  return;
53
53
  }
54
- if (r !== "hls.js" && o && (V() || !G())) {
55
- this.loadNativeHls(t, V() ? "apple-native" : "no-mse");
54
+ if (r !== "hls.js" && o && (G() || !W())) {
55
+ this.loadNativeHls(t, G() ? "apple-native" : "no-mse");
56
56
  return;
57
57
  }
58
58
  await this.attachHlsJs(t);
@@ -77,10 +77,10 @@ class we {
77
77
  * İlk metadata'dan önce kod 4 gelirse ve MSE varsa hls.js'e geç.
78
78
  */
79
79
  probeNativeHls(t) {
80
- if (!G() || this.engineInfo.reason === "hlsjs-failed" || this.engineInfo.reason === "option") return;
80
+ if (!W() || this.engineInfo.reason === "hlsjs-failed" || this.engineInfo.reason === "option") return;
81
81
  const e = () => r(), i = () => {
82
- var a, l;
83
- const o = ((a = this.video.error) == null ? void 0 : a.code) === 4;
82
+ var n, l;
83
+ const o = ((n = this.video.error) == null ? void 0 : n.code) === 4;
84
84
  r(), o && ((l = this.nativeAudioCleanup) == null || l.call(this), this.attachHlsJs(t));
85
85
  }, r = () => {
86
86
  this.video.removeEventListener("loadedmetadata", e), this.video.removeEventListener("error", i), this.nativeHlsProbe = null;
@@ -113,7 +113,7 @@ class we {
113
113
  this.hls = i, this.engineInfo = { engine: "hls.js" };
114
114
  let r = !1, o = !1;
115
115
  i.on(e.Events.ERROR, (u, c) => {
116
- var h, p, m, b, v, y;
116
+ var h, p, m, g, v, y;
117
117
  if (this.hls === i) {
118
118
  const f = c;
119
119
  (y = (v = this.callbacks).onStreamError) == null || y.call(v, {
@@ -122,12 +122,12 @@ class we {
122
122
  fatal: !!c.fatal,
123
123
  url: f.url ?? ((h = f.frag) == null ? void 0 : h.url) ?? ((p = f.context) == null ? void 0 : p.url),
124
124
  httpStatus: (m = f.response) == null ? void 0 : m.code,
125
- reason: f.reason ?? ((b = f.error) == null ? void 0 : b.message)
125
+ reason: f.reason ?? ((g = f.error) == null ? void 0 : g.message)
126
126
  });
127
127
  }
128
128
  if (!c.fatal || this.hls !== i) return;
129
- const g = [e.ErrorDetails.MANIFEST_LOAD_ERROR, e.ErrorDetails.MANIFEST_LOAD_TIMEOUT].includes(c.details);
130
- if (!r && g && this.video.canPlayType("application/vnd.apple.mpegurl") !== "") {
129
+ const b = [e.ErrorDetails.MANIFEST_LOAD_ERROR, e.ErrorDetails.MANIFEST_LOAD_TIMEOUT].includes(c.details);
130
+ if (!r && b && this.video.canPlayType("application/vnd.apple.mpegurl") !== "") {
131
131
  i.destroy(), this.hls = null, this.loadNativeHls(t, "hlsjs-failed");
132
132
  return;
133
133
  }
@@ -137,31 +137,31 @@ class we {
137
137
  }
138
138
  i.stopLoad(), this.callbacks.onFatalError(c.type === e.ErrorTypes.NETWORK_ERROR ? "network" : "media");
139
139
  });
140
- const a = () => i.levels.map((u, c) => ({ index: c, height: u.height, bitrate: u.bitrate }));
140
+ const n = () => i.levels.map((u, c) => ({ index: c, height: u.height, bitrate: u.bitrate }));
141
141
  i.on(e.Events.MANIFEST_PARSED, () => {
142
- r = !0, this.callbacks.onLevelsChanged(a(), i.currentLevel);
142
+ r = !0, this.callbacks.onLevelsChanged(n(), i.currentLevel);
143
143
  }), i.on(e.Events.LEVEL_SWITCHED, (u, c) => {
144
- this.callbacks.onLevelsChanged(a(), i.autoLevelEnabled ? -1 : c.level);
144
+ this.callbacks.onLevelsChanged(n(), i.autoLevelEnabled ? -1 : c.level);
145
145
  });
146
146
  const l = () => i.audioTracks.map((u, c) => ({ index: c, label: u.name || u.lang || `${c + 1}`, lang: u.lang ?? "" }));
147
147
  i.on(e.Events.AUDIO_TRACKS_UPDATED, () => this.callbacks.onAudioTracksChanged(l(), i.audioTrack)), i.on(e.Events.AUDIO_TRACK_SWITCHED, (u, c) => this.callbacks.onAudioTracksChanged(l(), c.id)), i.on(e.Events.NON_NATIVE_TEXT_TRACKS_FOUND, (u, c) => {
148
- var g;
148
+ var b;
149
149
  for (const h of c.tracks) {
150
- const p = h.subtitleTrack, m = p ? `sub:${p.id}` : `cc:${h._id ?? h.label}`, b = h.kind === "captions" ? "captions" : "subtitles";
151
- this.streamTextTracks.set(m, { id: m, kind: b, label: h.label, lang: (p == null ? void 0 : p.lang) ?? ((g = h.closedCaptions) == null ? void 0 : g.lang) ?? "" });
150
+ const p = h.subtitleTrack, m = p ? `sub:${p.id}` : `cc:${h._id ?? h.label}`, g = h.kind === "captions" ? "captions" : "subtitles";
151
+ this.streamTextTracks.set(m, { id: m, kind: g, label: h.label, lang: (p == null ? void 0 : p.lang) ?? ((b = h.closedCaptions) == null ? void 0 : b.lang) ?? "" });
152
152
  }
153
153
  this.callbacks.onTextTracksFound([...this.streamTextTracks.values()]);
154
154
  }), i.on(e.Events.CUES_PARSED, (u, c) => {
155
- const g = c.type === "subtitles" && c.subtitleTrack ? `sub:${c.subtitleTrack.id}` : `cc:${c.track}`;
156
- this.callbacks.onCues(g, c.cues);
155
+ const b = c.type === "subtitles" && c.subtitleTrack ? `sub:${c.subtitleTrack.id}` : `cc:${c.track}`;
156
+ this.callbacks.onCues(b, c.cues);
157
157
  }), i.attachMedia(this.video), i.loadSource(t);
158
158
  }
159
159
  buildHlsConfig() {
160
160
  const t = this.hlsOptions.config ?? {}, e = { enableWorker: !0, renderTextTracksNatively: !1, liveDurationInfinity: !0, ...t };
161
161
  if (this.hlsOptions.withCredentials) {
162
162
  const { xhrSetup: i, fetchSetup: r } = t;
163
- e.xhrSetup = (o, a, l) => (o.withCredentials = !0, i == null ? void 0 : i(o, a, l)), e.fetchSetup = (o, a) => {
164
- const l = { ...a, credentials: "include" };
163
+ e.xhrSetup = (o, n, l) => (o.withCredentials = !0, i == null ? void 0 : i(o, n, l)), e.fetchSetup = (o, n) => {
164
+ const l = { ...n, credentials: "include" };
165
165
  return r ? r(o, l) : new Request(o.url, l);
166
166
  };
167
167
  }
@@ -199,13 +199,13 @@ class we {
199
199
  (t = this.nativeHlsProbe) == null || t.call(this), (e = this.nativeAudioCleanup) == null || e.call(this), this.hls && (this.hls.destroy(), this.hls = null);
200
200
  }
201
201
  }
202
- function w(n) {
203
- if (!Number.isFinite(n) || n < 0) return "0:00";
204
- const t = Math.floor(n), e = Math.floor(t / 3600), i = Math.floor(t % 3600 / 60), r = t % 60, o = e > 0 ? String(i).padStart(2, "0") : String(i), a = String(r).padStart(2, "0");
205
- return e > 0 ? `${e}:${o}:${a}` : `${o}:${a}`;
202
+ function w(a) {
203
+ if (!Number.isFinite(a) || a < 0) return "0:00";
204
+ const t = Math.floor(a), e = Math.floor(t / 3600), i = Math.floor(t % 3600 / 60), r = t % 60, o = e > 0 ? String(i).padStart(2, "0") : String(i), n = String(r).padStart(2, "0");
205
+ return e > 0 ? `${e}:${o}:${n}` : `${o}:${n}`;
206
206
  }
207
- const Ee = 10, Ce = 1;
208
- class Te {
207
+ const Te = 10, Se = 1;
208
+ class Ae {
209
209
  constructor(t, e) {
210
210
  s(this, "el");
211
211
  s(this, "trackEl");
@@ -235,8 +235,8 @@ class Te {
235
235
  }
236
236
  const r = e.start + i * (e.end - e.start);
237
237
  this.hoverTimeEl.textContent = e.live ? `-${w(e.end - r)}` : w(r), this.hoverTimeEl.setAttribute("data-visible", "");
238
- const o = this.hoverTimeEl.offsetWidth, a = Math.min(Math.max(this.layoutXAtClientX(t.clientX) - o / 2, 0), Math.max(this.trackWidth - o, 0));
239
- this.hoverTimeEl.style.transform = `translateX(${a}px)`;
238
+ const o = this.hoverTimeEl.offsetWidth, n = Math.min(Math.max(this.layoutXAtClientX(t.clientX) - o / 2, 0), Math.max(this.trackWidth - o, 0));
239
+ this.hoverTimeEl.style.transform = `translateX(${n}px)`;
240
240
  });
241
241
  s(this, "onHoverLeave", () => {
242
242
  this.hoverTimeEl.removeAttribute("data-visible"), this.hoverDotEl.removeAttribute("data-visible");
@@ -280,14 +280,14 @@ class Te {
280
280
  let o = 0;
281
281
  for (let l = 0; l < this.video.buffered.length; l++)
282
282
  this.video.buffered.start(l) <= this.video.currentTime && (o = Math.max(o, this.video.buffered.end(l)));
283
- const a = i(o);
283
+ const n = i(o);
284
284
  if (this.chapters.length)
285
285
  for (const l of this.chapters) {
286
286
  const d = l.end - l.start, u = (c) => d > 0 ? Math.min(1, Math.max(0, (c - l.start) / d)) : 0;
287
- l.playedEl.style.transform = `scaleX(${u(r)})`, l.bufferedEl.style.transform = `scaleX(${u(a)})`;
287
+ l.playedEl.style.transform = `scaleX(${u(r)})`, l.bufferedEl.style.transform = `scaleX(${u(n)})`;
288
288
  }
289
289
  else
290
- this.playedEl.style.transform = `scaleX(${r})`, this.bufferedEl.style.transform = `scaleX(${a})`;
290
+ this.playedEl.style.transform = `scaleX(${r})`, this.bufferedEl.style.transform = `scaleX(${n})`;
291
291
  this.el.setAttribute("aria-valuemin", String(Math.floor(t.start))), this.el.setAttribute("aria-valuemax", String(Math.floor(t.end))), this.el.setAttribute("aria-valuenow", String(Math.floor(this.video.currentTime)));
292
292
  });
293
293
  this.video = t, this.labels = e, this.el = document.createElement("div"), this.el.setAttribute("part", "seek-bar"), this.el.className = "hp-seekbar hp:relative hp:h-[var(--hp-seek-hit-h)] hp:flex hp:items-center hp:cursor-pointer hp:group hp:touch-none", this.el.setAttribute("role", "slider"), this.el.setAttribute("tabindex", "0"), this.el.setAttribute("aria-label", e.seekBar), this.el.setAttribute("aria-valuemin", "0");
@@ -307,7 +307,7 @@ class Te {
307
307
  const { seekable: e } = this.video;
308
308
  if (!e.length) return null;
309
309
  const i = e.start(0), r = e.end(e.length - 1);
310
- return r - i >= Ee ? { start: i, end: r, live: !0 } : null;
310
+ return r - i >= Te ? { start: i, end: r, live: !0 } : null;
311
311
  }
312
312
  /** Kendi zamanını gösteren plugin'ler (sprite/segments) varsayılan hover zamanını gizler — keyed set. */
313
313
  suppressHoverTime(t, e) {
@@ -321,8 +321,8 @@ class Te {
321
321
  const e = this.layoutXAtClientX(t);
322
322
  if (!this.chapters.length) return this.trackWidth > 0 ? Math.min(1, Math.max(0, e / this.trackWidth)) : 0;
323
323
  for (let i = 0; i < this.chapters.length; i++) {
324
- const r = this.chapters[i], o = this.chapters[i + 1], a = o ? o.left : 1 / 0;
325
- if (e < a || !o) {
324
+ const r = this.chapters[i], o = this.chapters[i + 1], n = o ? o.left : 1 / 0;
325
+ if (e < n || !o) {
326
326
  const l = r.width > 0 ? Math.min(1, Math.max(0, (e - r.left) / r.width)) : 0;
327
327
  return r.start + l * (r.end - r.start);
328
328
  }
@@ -344,8 +344,8 @@ class Te {
344
344
  r.className = "hp-chapter", r.setAttribute("part", "segment-band"), r.style.flex = `${Math.max(i.end - i.start, 0)} 1 0px`;
345
345
  const o = document.createElement("div");
346
346
  o.className = "hp-chapter-fill hp-chapter-buffered";
347
- const a = document.createElement("div");
348
- return a.className = "hp-chapter-fill hp-chapter-played", i.color && (a.style.background = i.color), r.append(o, a), e.appendChild(r), { ...i, el: r, bufferedEl: o, playedEl: a, left: 0, width: 0 };
347
+ const n = document.createElement("div");
348
+ return n.className = "hp-chapter-fill hp-chapter-played", i.color && (n.style.background = i.color), r.append(o, n), e.appendChild(r), { ...i, el: r, bufferedEl: o, playedEl: n, left: 0, width: 0 };
349
349
  }), this.trackEl.style.display = "none", this.trackEl.after(e), this.chaptersEl = e, this.measureChapters(), this.render(), this.chapters.map((i) => i.el);
350
350
  }
351
351
  clearChapters() {
@@ -377,7 +377,7 @@ class Te {
377
377
  const e = this.timeline();
378
378
  if (!e) return;
379
379
  const i = e.start + t * (e.end - e.start);
380
- this.video.currentTime = e.live ? Math.min(i, e.end - Ce) : i, this.render();
380
+ this.video.currentTime = e.live ? Math.min(i, e.end - Se) : i, this.render();
381
381
  }
382
382
  /** 0–1 arası oranda, seek bar üzerine ince bir işaret çizgisi ekler (ör. loop A/B noktaları). */
383
383
  addMarker(t, e = "") {
@@ -395,15 +395,15 @@ class Te {
395
395
  this.rafId !== null && cancelAnimationFrame(this.rafId), this.resizeObserver.disconnect(), this.el.removeEventListener("pointermove", this.onHoverMove), this.el.removeEventListener("pointerleave", this.onHoverLeave), this.video.removeEventListener("play", this.startLoop), this.video.removeEventListener("pause", this.stopLoop), this.video.removeEventListener("ended", this.stopLoop), this.video.removeEventListener("timeupdate", this.render), this.video.removeEventListener("progress", this.render), this.video.removeEventListener("loadedmetadata", this.render), this.clearMarkers(), (t = this.chaptersEl) == null || t.remove();
396
396
  }
397
397
  }
398
- function E(n, t = "") {
398
+ function E(a, t = "") {
399
399
  const e = document.createElement("i");
400
- return e.className = `hp-icon hp-icon-${n}${t ? ` ${t}` : ""}`, e.setAttribute("aria-hidden", "true"), e;
400
+ return e.className = `hp-icon hp-icon-${a}${t ? ` ${t}` : ""}`, e.setAttribute("aria-hidden", "true"), e;
401
401
  }
402
- function L(n, t) {
403
- n.className = n.className.replace(/hp-icon-[\w-]+/, `hp-icon-${t}`);
402
+ function P(a, t) {
403
+ a.className = a.className.replace(/hp-icon-[\w-]+/, `hp-icon-${t}`);
404
404
  }
405
- const M = 0.05, Se = 150;
406
- class Ae {
405
+ const R = 0.05, Le = 150;
406
+ class Pe {
407
407
  constructor(t, e, i) {
408
408
  s(this, "el");
409
409
  /** Dokunmatikte ses butonu gizli; sessiz oynarken görünen "Sesi aç" rozeti (chrome dışında monte edilir, otomatik gizlenmez). */
@@ -424,15 +424,15 @@ class Ae {
424
424
  s(this, "scheduleHide", () => {
425
425
  this.hideTimer && clearTimeout(this.hideTimer), this.hideTimer = setTimeout(() => {
426
426
  this.hideTimer = null, this.slider.style.opacity = "0", this.slider.style.pointerEvents = "none";
427
- }, Se);
427
+ }, Le);
428
428
  });
429
429
  s(this, "onWheel", (t) => {
430
430
  if (t.preventDefault(), this.adHooks.isAdActive()) {
431
431
  const r = this.adHooks.getVolume();
432
- this.adHooks.setVolume(Math.min(1, Math.max(0, r + (t.deltaY < 0 ? M : -M)))), this.render();
432
+ this.adHooks.setVolume(Math.min(1, Math.max(0, r + (t.deltaY < 0 ? R : -R)))), this.render();
433
433
  return;
434
434
  }
435
- const e = this.video.muted ? 0 : this.video.volume, i = Math.min(1, Math.max(0, e + (t.deltaY < 0 ? M : -M)));
435
+ const e = this.video.muted ? 0 : this.video.volume, i = Math.min(1, Math.max(0, e + (t.deltaY < 0 ? R : -R)));
436
436
  this.video.volume = i, this.video.muted = i === 0;
437
437
  });
438
438
  s(this, "onToggleMute", () => {
@@ -470,7 +470,7 @@ class Ae {
470
470
  const e = t === 0 ? this.labels.unmute : this.labels.mute;
471
471
  this.button.setAttribute("aria-label", e);
472
472
  const i = this.adHooks.isAdActive() || !this.video.paused;
473
- this.unmuteBadge.toggleAttribute("data-visible", t === 0 && i), this.unmuteText.textContent = this.labels.unmute, t === 0 ? L(this.iconEl, "volume-muted") : t < 0.5 ? L(this.iconEl, "volume-low") : L(this.iconEl, "volume-high");
473
+ this.unmuteBadge.toggleAttribute("data-visible", t === 0 && i), this.unmuteText.textContent = this.labels.unmute, t === 0 ? P(this.iconEl, "volume-muted") : t < 0.5 ? P(this.iconEl, "volume-low") : P(this.iconEl, "volume-high");
474
474
  });
475
475
  this.video = t, this.labels = e, this.adHooks = i, this.el = document.createElement("div"), this.el.className = "hp-volume hp:relative hp:flex hp:items-center", this.unmuteBadge = document.createElement("button"), this.unmuteBadge.type = "button", this.unmuteBadge.className = "hp-unmute-badge", this.unmuteBadge.setAttribute("part", "unmute-badge"), this.unmuteBadge.appendChild(E("volume-muted", "hp:text-base")), this.unmuteText = document.createElement("span"), this.unmuteText.textContent = e.unmute, this.unmuteBadge.appendChild(this.unmuteText), this.unmuteBadge.addEventListener("pointerdown", (o) => o.stopPropagation()), this.unmuteBadge.addEventListener("click", (o) => {
476
476
  o.stopPropagation(), this.unmute();
@@ -506,7 +506,7 @@ class Ae {
506
506
  this.hideTimer && clearTimeout(this.hideTimer), this.el.removeEventListener("mouseenter", this.openNow), this.el.removeEventListener("mouseleave", this.scheduleHide), this.el.removeEventListener("focusin", this.openNow), this.el.removeEventListener("focusout", this.scheduleHide), this.el.removeEventListener("wheel", this.onWheel), this.video.removeEventListener("volumechange", this.render), this.video.removeEventListener("play", this.render), this.video.removeEventListener("pause", this.render), this.unmuteBadge.remove();
507
507
  }
508
508
  }
509
- const Le = 8, R = 8, Pe = 100, q = 256;
509
+ const O = 8, C = 8, X = 100, B = 256;
510
510
  class Me {
511
511
  constructor(t, e, i) {
512
512
  s(this, "el");
@@ -532,17 +532,22 @@ class Me {
532
532
  * yükseklik player içinde kalan alanla sınırlı — küçük player'da menü dışarı taşmaz, kendi içinde kayar.
533
533
  */
534
534
  s(this, "fitToPlayer", () => {
535
+ var d;
535
536
  if (!this.open) return;
536
537
  const t = this.el.closest(".video-area");
537
538
  if (!t) return;
539
+ if ((d = this.el.getRootNode().host) != null && d.hasAttribute("data-audio-compact")) {
540
+ this.fitToViewport();
541
+ return;
542
+ }
538
543
  const e = t.getBoundingClientRect(), i = this.button.getBoundingClientRect(), r = this.el.getBoundingClientRect(), o = !!this.el.closest(".hp-top-bar");
539
544
  this.panel.toggleAttribute("data-drop", o), Object.assign(this.panel.style, { top: "", bottom: "", marginTop: "", marginBottom: "" });
540
- const a = this.panel.scrollHeight, l = (o ? e.bottom - i.bottom : i.top - e.top) - Le - R;
541
- if (a <= l || l >= Pe) {
542
- this.panel.style.maxHeight = `${Math.min(q, l)}px`;
545
+ const n = this.panel.scrollHeight, l = (o ? e.bottom - i.bottom : i.top - e.top) - O - C;
546
+ if (n <= l || l >= X) {
547
+ this.panel.style.maxHeight = `${Math.min(B, l)}px`;
543
548
  return;
544
549
  }
545
- this.panel.style.maxHeight = `${Math.min(q, e.height - 2 * R)}px`, o ? Object.assign(this.panel.style, { top: `${e.top + R - r.top}px`, marginTop: "0" }) : Object.assign(this.panel.style, { bottom: `${r.bottom - (e.bottom - R)}px`, marginBottom: "0" });
550
+ this.panel.style.maxHeight = `${Math.min(B, e.height - 2 * C)}px`, o ? Object.assign(this.panel.style, { top: `${e.top + C - r.top}px`, marginTop: "0" }) : Object.assign(this.panel.style, { bottom: `${r.bottom - (e.bottom - C)}px`, marginBottom: "0" });
546
551
  });
547
552
  s(this, "onDocumentClick", (t) => {
548
553
  this.open && !t.composedPath().includes(this.el) && this.close();
@@ -593,6 +598,12 @@ class Me {
593
598
  get panelRect() {
594
599
  return this.open ? this.panel.getBoundingClientRect() : null;
595
600
  }
601
+ fitToViewport() {
602
+ const t = this.button.getBoundingClientRect();
603
+ Object.assign(this.panel.style, { top: "", bottom: "", marginTop: "", marginBottom: "" });
604
+ const e = this.panel.scrollHeight, i = t.top - O - C, r = window.innerHeight - t.bottom - O - C, o = i < Math.min(e, B) && r > i;
605
+ this.panel.toggleAttribute("data-drop", o), this.panel.style.maxHeight = `${Math.max(X, Math.min(B, o ? r : i))}px`;
606
+ }
596
607
  /** Düzen değişince (ör. kompakt ↔ normal) açık menüyü kapat — eski konumunda asılı kalmasın. */
597
608
  closeMenu() {
598
609
  this.open && this.close();
@@ -712,17 +723,17 @@ class Me {
712
723
  );
713
724
  const t = this.captionAppearance;
714
725
  if (!t) return;
715
- const e = (a) => a ? `<span class="hp:inline-block hp:w-3 hp:h-3 hp:rounded-full hp:border hp:border-on-surface/30" style="background:${a}"></span>` : "";
726
+ const e = (n) => n ? `<span class="hp:inline-block hp:w-3 hp:h-3 hp:rounded-full hp:border hp:border-on-surface/30" style="background:${n}"></span>` : "";
716
727
  this.panel.appendChild(
717
- this.row(t.sizeLabel, ((i = t.getSizeOptions().find((a) => a.active)) == null ? void 0 : i.label) ?? "", () => {
728
+ this.row(t.sizeLabel, ((i = t.getSizeOptions().find((n) => n.active)) == null ? void 0 : i.label) ?? "", () => {
718
729
  this.currentPanel = "captions-size", this.renderCaptionsSize();
719
730
  })
720
731
  ), this.panel.appendChild(
721
- this.row(t.bgColorLabel, e((r = t.getBgColorOptions().find((a) => a.active)) == null ? void 0 : r.value), () => {
732
+ this.row(t.bgColorLabel, e((r = t.getBgColorOptions().find((n) => n.active)) == null ? void 0 : r.value), () => {
722
733
  this.currentPanel = "captions-bg", this.renderCaptionColorPanel("bg");
723
734
  })
724
735
  ), this.panel.appendChild(
725
- this.row(t.textColorLabel, e((o = t.getTextColorOptions().find((a) => a.active)) == null ? void 0 : o.value), () => {
736
+ this.row(t.textColorLabel, e((o = t.getTextColorOptions().find((n) => n.active)) == null ? void 0 : o.value), () => {
726
737
  this.currentPanel = "captions-text", this.renderCaptionColorPanel("text");
727
738
  })
728
739
  ), this.panel.appendChild(
@@ -750,10 +761,10 @@ class Me {
750
761
  const r = document.createElement("div");
751
762
  r.className = "hp:flex hp:flex-wrap hp:gap-2 hp:px-3 hp:py-2";
752
763
  const o = t === "bg" ? e.getBgColorOptions() : e.getTextColorOptions();
753
- for (const a of o) {
764
+ for (const n of o) {
754
765
  const l = document.createElement("button");
755
- l.type = "button", l.setAttribute("aria-label", a.ariaLabel), l.className = "hp:w-7 hp:h-7 hp:rounded-full hp:cursor-pointer hp:flex-shrink-0 hp:border hp:border-on-surface/20", l.style.background = a.value, l.style.outline = a.active ? "2px solid currentColor" : "2px solid transparent", l.style.outlineOffset = "2px", l.addEventListener("click", () => {
756
- a.onSelect(), this.render();
766
+ l.type = "button", l.setAttribute("aria-label", n.ariaLabel), l.className = "hp:w-7 hp:h-7 hp:rounded-full hp:cursor-pointer hp:flex-shrink-0 hp:border hp:border-on-surface/20", l.style.background = n.value, l.style.outline = n.active ? "2px solid currentColor" : "2px solid transparent", l.style.outlineOffset = "2px", l.addEventListener("click", () => {
767
+ n.onSelect(), this.render();
757
768
  }), r.appendChild(l);
758
769
  }
759
770
  this.panel.appendChild(r);
@@ -766,27 +777,27 @@ class Me {
766
777
  document.removeEventListener("click", this.onDocumentClick, !0), this.panelObserver.disconnect();
767
778
  }
768
779
  }
769
- function le(n, t) {
770
- const e = n.seekable.length ? n.seekable.start(0) : 0, i = Number.isFinite(n.duration) ? n.duration : n.seekable.length ? n.seekable.end(n.seekable.length - 1) : n.currentTime;
771
- n.currentTime = Math.max(e, Math.min(i, n.currentTime + t));
780
+ function pe(a, t) {
781
+ const e = a.seekable.length ? a.seekable.start(0) : 0, i = Number.isFinite(a.duration) ? a.duration : a.seekable.length ? a.seekable.end(a.seekable.length - 1) : a.currentTime;
782
+ a.currentTime = Math.max(e, Math.min(i, a.currentTime + t));
772
783
  }
773
- const Re = 15, Be = 480, ze = 150, W = ["waiting", "seeking"], X = ["playing", "canplay", "canplaythrough", "seeked", "pause", "error", "emptied"];
774
- function $(n, t) {
775
- const { btn: e } = A("", `skip-${n}`);
784
+ const Re = 15, Be = 480, ze = 150, $ = ["waiting", "seeking"], U = ["playing", "canplay", "canplaythrough", "seeked", "pause", "error", "emptied"];
785
+ function j(a, t) {
786
+ const { btn: e } = L("", `skip-${a}`);
776
787
  e.classList.add("hp-skip-btn"), e.setAttribute("part", t);
777
788
  const i = document.createElement("span");
778
789
  return i.className = "hp-skip-num", i.setAttribute("aria-hidden", "true"), e.appendChild(i), e.style.display = "none", { btn: e, num: i };
779
790
  }
780
- function C(n, t) {
781
- n.setAttribute("aria-label", t);
791
+ function T(a, t) {
792
+ a.setAttribute("aria-label", t);
782
793
  }
783
- function A(n, t, e) {
794
+ function L(a, t, e) {
784
795
  const i = document.createElement("button");
785
- i.type = "button", C(i, n), e && (i.dataset.shortcut = e), i.className = "hp-chip hp:flex hp:items-center hp:justify-center hp:w-[var(--hp-ctrl-btn-size)] hp:h-[var(--hp-ctrl-btn-size)] hp:cursor-pointer hp:shrink-0";
796
+ i.type = "button", T(i, a), e && (i.dataset.shortcut = e), i.className = "hp-chip hp:flex hp:items-center hp:justify-center hp:w-[var(--hp-ctrl-btn-size)] hp:h-[var(--hp-ctrl-btn-size)] hp:cursor-pointer hp:shrink-0";
786
797
  const r = E(t, "hp:text-[length:var(--hp-ctrl-icon-size)]");
787
798
  return i.appendChild(r), { btn: i, icon: r };
788
799
  }
789
- class Ne {
800
+ class Ie {
790
801
  constructor(t, e, i, r) {
791
802
  s(this, "el");
792
803
  s(this, "seekBar");
@@ -822,6 +833,11 @@ class Ne {
822
833
  s(this, "rightGroup");
823
834
  s(this, "fullscreenSlot");
824
835
  s(this, "compact", !1);
836
+ /** İnce ses çubuğu (audio.layout: 'compact'): dar ekranda da tek satır — üst bar yok. */
837
+ s(this, "forceInline", !1);
838
+ /** İnce ses çubuğunda başlık / sanatçı (+ çalarken ekolayzır) — boşluk elemanının içinde. */
839
+ s(this, "barMetaEl", null);
840
+ s(this, "spacerEl");
825
841
  s(this, "resizeObserver");
826
842
  s(this, "liveBadge");
827
843
  s(this, "liveText");
@@ -836,19 +852,20 @@ class Ne {
836
852
  t.stopPropagation(), this.toggleTimeMode();
837
853
  });
838
854
  s(this, "renderPlayState", () => {
855
+ var e;
839
856
  const t = this.callbacks.isAdActive() ? this.callbacks.adIsPaused() : this.video.paused && !this.pendingPlay;
840
- L(this.playIcon, t ? "play" : "pause"), C(this.playButton, t ? this.labels.play : this.labels.pause);
857
+ P(this.playIcon, t ? "play" : "pause"), T(this.playButton, t ? this.labels.play : this.labels.pause), (e = this.barMetaEl) == null || e.toggleAttribute("data-playing", !t && !this.callbacks.isAdActive());
841
858
  });
842
859
  s(this, "renderTime", () => {
843
860
  var r, o;
844
861
  const t = this.video.duration === 1 / 0;
845
862
  if (this.timeLabel.style.display = this.adMode || t ? "none" : "", this.liveBadge.style.display = !this.adMode && t ? "" : "none", !t) {
846
- const a = this.video.duration, l = this.video.currentTime;
863
+ const n = this.video.duration, l = this.video.currentTime;
847
864
  if (this.showRemaining) {
848
- const d = Number.isFinite(a) ? Math.floor(a) : 0, u = Math.max(0, d - Math.floor(l));
849
- this.timeLabel.textContent = `-${w(u)} / ${w(a)}`;
865
+ const d = Number.isFinite(n) ? Math.floor(n) : 0, u = Math.max(0, d - Math.floor(l));
866
+ this.timeLabel.textContent = `-${w(u)} / ${w(n)}`;
850
867
  } else
851
- this.timeLabel.textContent = `${w(l)} / ${w(a)}`;
868
+ this.timeLabel.textContent = `${w(l)} / ${w(n)}`;
852
869
  return;
853
870
  }
854
871
  const e = ((o = (r = this.callbacks).liveSyncPosition) == null ? void 0 : o.call(r)) ?? this.liveEdge(), i = e !== null && e - this.video.currentTime > Re;
@@ -869,29 +886,29 @@ class Ne {
869
886
  e === null && t == null || (this.video.currentTime = t ?? Math.max(0, e - 1), this.video.paused && this.video.play().catch(() => {
870
887
  }), this.renderTime());
871
888
  });
872
- this.video = t, this.callbacks = i, this.labels = r, this.el = document.createElement("div"), this.el.setAttribute("part", "control-bar"), this.el.className = "hp:absolute hp:inset-x-0 hp:bottom-0 hp:flex hp:flex-col hp:gap-1 hp:px-3 hp:pb-2 hp:pt-6 hp:pointer-events-none hp:transition-opacity hp:duration-200", this.seekBar = new Te(t, r), this.seekBar.el.classList.add("hp:pointer-events-auto"), this.el.appendChild(this.seekBar.el);
889
+ this.video = t, this.callbacks = i, this.labels = r, this.el = document.createElement("div"), this.el.setAttribute("part", "control-bar"), this.el.className = "hp:absolute hp:inset-x-0 hp:bottom-0 hp:flex hp:flex-col hp:gap-1 hp:px-3 hp:pb-2 hp:pt-6 hp:pointer-events-none hp:transition-opacity hp:duration-200", this.seekBar = new Ae(t, r), this.seekBar.el.classList.add("hp:pointer-events-auto"), this.el.appendChild(this.seekBar.el);
873
890
  const o = document.createElement("div");
874
891
  o.className = "hp:flex hp:items-center hp:gap-2", this.el.appendChild(o), this.bottomRow = o;
875
- const a = document.createElement("div");
876
- a.className = "hp-group hp-group-left hp:flex hp:items-center hp:gap-1 hp:px-1.5 hp:py-1 hp:shrink-0 hp:pointer-events-auto", o.appendChild(a), this.leftGroup = a;
892
+ const n = document.createElement("div");
893
+ n.className = "hp-group hp-group-left hp:flex hp:items-center hp:gap-1 hp:px-1.5 hp:py-1 hp:shrink-0 hp:pointer-events-auto", o.appendChild(n), this.leftGroup = n;
877
894
  const l = document.createElement("span");
878
895
  l.className = "hp-loading-ring", l.setAttribute("aria-hidden", "true");
879
896
  const d = document.createElement("span");
880
- d.className = "hp-loading-ring-mask", d.appendChild(document.createElement("span")), l.appendChild(d), a.appendChild(l);
881
- const u = A(r.play, "play", "K");
882
- this.playButton = u.btn, this.playIcon = u.icon, this.playButton.setAttribute("part", "play-pause-button"), this.playButton.addEventListener("click", () => this.togglePlay()), a.appendChild(this.playButton), this.skipBack = $("back", "skip-back-button"), this.skipBack.btn.addEventListener("click", () => this.skip(-(this.skipSeconds.back ?? 0))), this.skipForward = $("forward", "skip-forward-button"), this.skipForward.btn.addEventListener("click", () => this.skip(this.skipSeconds.forward ?? 0)), a.append(this.skipBack.btn, this.skipForward.btn), this.volumePanel = new Ae(t, r, i.adVolume), a.appendChild(this.volumePanel.el), this.timeLabel = document.createElement("button"), this.timeLabel.type = "button", this.timeLabel.setAttribute("part", "time-display"), this.timeLabel.className = "hp:text-xs hp:text-on-surface hp:tabular-nums hp:whitespace-nowrap hp:px-1 hp:bg-transparent hp:border-0 hp:cursor-pointer hp:select-none hp:p-0 hp:hover:opacity-80 hp:transition-opacity hp:focus-visible:outline-none hp:focus-visible:ring-1 hp:focus-visible:ring-accent hp:rounded", this.timeLabel.textContent = "0:00 / 0:00", this.timeLabel.addEventListener("click", this.onTimeClick), a.appendChild(this.timeLabel), this.adInfoEl = document.createElement("span"), this.adInfoEl.setAttribute("part", "ad-countdown"), this.adInfoEl.className = "hp:text-xs hp:text-on-surface hp:tabular-nums hp:whitespace-nowrap hp:px-1 hp:select-none", this.adInfoEl.setAttribute("aria-live", "off"), this.adInfoEl.style.display = "none", this.liveBadge = document.createElement("button"), this.liveBadge.type = "button", this.liveBadge.className = "hp-live-badge", this.liveBadge.setAttribute("part", "live-badge"), this.liveBadge.setAttribute("aria-label", r.goToLive);
897
+ d.className = "hp-loading-ring-mask", d.appendChild(document.createElement("span")), l.appendChild(d), n.appendChild(l);
898
+ const u = L(r.play, "play", "K");
899
+ this.playButton = u.btn, this.playIcon = u.icon, this.playButton.setAttribute("part", "play-pause-button"), this.playButton.addEventListener("click", () => this.togglePlay()), n.appendChild(this.playButton), this.skipBack = j("back", "skip-back-button"), this.skipBack.btn.addEventListener("click", () => this.skip(-(this.skipSeconds.back ?? 0))), this.skipForward = j("forward", "skip-forward-button"), this.skipForward.btn.addEventListener("click", () => this.skip(this.skipSeconds.forward ?? 0)), n.append(this.skipBack.btn, this.skipForward.btn), this.volumePanel = new Pe(t, r, i.adVolume), n.appendChild(this.volumePanel.el), this.timeLabel = document.createElement("button"), this.timeLabel.type = "button", this.timeLabel.setAttribute("part", "time-display"), this.timeLabel.className = "hp:text-xs hp:text-on-surface hp:tabular-nums hp:whitespace-nowrap hp:px-1 hp:bg-transparent hp:border-0 hp:cursor-pointer hp:select-none hp:p-0 hp:hover:opacity-80 hp:transition-opacity hp:focus-visible:outline-none hp:focus-visible:ring-1 hp:focus-visible:ring-accent hp:rounded", this.timeLabel.textContent = "0:00 / 0:00", this.timeLabel.addEventListener("click", this.onTimeClick), n.appendChild(this.timeLabel), this.adInfoEl = document.createElement("span"), this.adInfoEl.setAttribute("part", "ad-countdown"), this.adInfoEl.className = "hp:text-xs hp:text-on-surface hp:tabular-nums hp:whitespace-nowrap hp:px-1 hp:select-none", this.adInfoEl.setAttribute("aria-live", "off"), this.adInfoEl.style.display = "none", this.liveBadge = document.createElement("button"), this.liveBadge.type = "button", this.liveBadge.className = "hp-live-badge", this.liveBadge.setAttribute("part", "live-badge"), this.liveBadge.setAttribute("aria-label", r.goToLive);
883
900
  const c = document.createElement("span");
884
- c.className = "hp-live-dot", this.liveText = document.createElement("span"), this.liveText.textContent = r.live, this.liveBadge.append(c, this.liveText), this.liveBadge.style.display = "none", this.liveBadge.addEventListener("click", this.goToLive), a.appendChild(this.liveBadge), a.appendChild(this.adInfoEl);
885
- const g = document.createElement("div");
886
- g.className = "hp:flex-1", o.appendChild(g);
901
+ c.className = "hp-live-dot", this.liveText = document.createElement("span"), this.liveText.textContent = r.live, this.liveBadge.append(c, this.liveText), this.liveBadge.style.display = "none", this.liveBadge.addEventListener("click", this.goToLive), n.appendChild(this.liveBadge), n.appendChild(this.adInfoEl);
902
+ const b = document.createElement("div");
903
+ b.className = "hp:flex-1 hp:min-w-0", o.appendChild(b), this.spacerEl = b;
887
904
  const h = document.createElement("div");
888
905
  h.className = "hp-group hp:flex hp:items-center hp:gap-1 hp:px-1.5 hp:py-1 hp:shrink-0 hp:pointer-events-auto", o.appendChild(h), this.rightGroup = h, this.settingsMenu = new Me(t, e, r), h.appendChild(this.settingsMenu.el), this.extraButtonAnchor = this.settingsMenu.el, this.row = h;
889
- const p = A(r.pip, "pip");
906
+ const p = L(r.pip, "pip");
890
907
  this.pipButton = p.btn, this.pipButton.addEventListener("click", () => this.togglePip()), document.pictureInPictureEnabled || (this.pipButton.style.display = "none"), h.appendChild(this.pipButton);
891
- const m = A(r.fullscreenEnter, "fullscreen-enter", "F");
908
+ const m = L(r.fullscreenEnter, "fullscreen-enter", "F");
892
909
  this.fullscreenButton = m.btn, this.fullscreenIcon = m.icon, this.fullscreenButton.addEventListener("click", () => this.toggleFullscreen()), h.appendChild(this.fullscreenButton), this.topEl = document.createElement("div"), this.topEl.className = "hp-top-bar", this.topEl.setAttribute("part", "top-bar"), this.fullscreenSlot = document.createElement("div"), this.fullscreenSlot.className = "hp-group hp:items-center hp:px-1.5 hp:py-1 hp:shrink-0 hp:pointer-events-auto", this.fullscreenSlot.style.display = "none", o.appendChild(this.fullscreenSlot), this.resizeObserver = new ResizeObserver(() => this.updateLayout()), this.resizeObserver.observe(this.el), t.addEventListener("play", this.renderPlayState), t.addEventListener("pause", this.renderPlayState), t.addEventListener("timeupdate", this.renderTime), t.addEventListener("loadedmetadata", this.renderTime), t.addEventListener("durationchange", this.renderTime), t.addEventListener("progress", this.renderTime), t.addEventListener("emptied", this.renderTime);
893
- for (const b of W) t.addEventListener(b, this.onLoadingStart);
894
- for (const b of X) t.addEventListener(b, this.onLoadingEnd);
910
+ for (const g of $) t.addEventListener(g, this.onLoadingStart);
911
+ for (const g of U) t.addEventListener(g, this.onLoadingEnd);
895
912
  this.renderPlayState(), this.renderTime();
896
913
  }
897
914
  /** Player genişliğine göre normal / kompakt (mobil) düzen arasında geçiş — yalnızca eşik geçilince DOM taşınır. */
@@ -899,15 +916,31 @@ class Ne {
899
916
  var i;
900
917
  const t = this.el.getBoundingClientRect().width;
901
918
  if (t === 0) return;
902
- const e = t < Be;
919
+ const e = !this.forceInline && t < Be;
903
920
  e !== this.compact && (this.compact = e, this.settingsMenu.closeMenu(), this.el.toggleAttribute("data-compact", e), (i = this.el.closest(".video-area")) == null || i.toggleAttribute("data-compact", e), e ? (this.fullscreenSlot.appendChild(this.fullscreenButton), this.fullscreenSlot.style.display = this.adMode || this.audioMode ? "none" : "flex", this.topEl.appendChild(this.rightGroup)) : (this.rightGroup.appendChild(this.fullscreenButton), this.bottomRow.insertBefore(this.rightGroup, this.fullscreenSlot), this.fullscreenSlot.style.display = "none"));
904
921
  }
922
+ /**
923
+ * İnce ses çubuğu: başlık / sanatçı kontrol satırının ortasında; dar ekranda da kompakt (üst bar) düzene geçilmez.
924
+ * `null` kaldırır.
925
+ */
926
+ setAudioBar(t) {
927
+ var e;
928
+ if (this.forceInline = !!t, t) {
929
+ if (!this.barMetaEl) {
930
+ const i = document.createElement("div");
931
+ i.className = "hp-bar-meta", i.setAttribute("part", "audio-bar-meta"), i.innerHTML = '<span class="hp-bar-eq" aria-hidden="true"><i></i><i></i><i></i></span><span class="hp-bar-text"><span class="hp-bar-title"></span><span class="hp-bar-sub"></span></span>', this.spacerEl.appendChild(i), this.barMetaEl = i;
932
+ }
933
+ this.barMetaEl.querySelector(".hp-bar-title").textContent = t.title, this.barMetaEl.querySelector(".hp-bar-sub").textContent = t.subtitle, this.barMetaEl.toggleAttribute("data-empty", !t.title && !t.subtitle);
934
+ } else
935
+ (e = this.barMetaEl) == null || e.remove(), this.barMetaEl = null;
936
+ this.renderPlayState(), this.updateLayout();
937
+ }
905
938
  /** Ses modu: görüntü olmadığı için tam ekran ve PiP butonları gizlenir. */
906
939
  setAudioMode(t) {
907
940
  this.audioMode = t, this.fullscreenButton.style.display = t ? "none" : "", this.compact && (this.fullscreenSlot.style.display = t || this.adMode ? "none" : "flex"), this.pipButton.style.display = t || !document.pictureInPictureEnabled ? "none" : "";
908
941
  }
909
942
  setFullscreenState(t) {
910
- L(this.fullscreenIcon, t ? "fullscreen-exit" : "fullscreen-enter"), C(this.fullscreenButton, t ? this.labels.fullscreenExit : this.labels.fullscreenEnter);
943
+ P(this.fullscreenIcon, t ? "fullscreen-exit" : "fullscreen-enter"), T(this.fullscreenButton, t ? this.labels.fullscreenExit : this.labels.fullscreenEnter);
911
944
  }
912
945
  /** Dil sonradan değişince (`options.locale`/`labels`) statik (reaktif olarak yeniden render edilmeyen) etiketleri tazeler. */
913
946
  /** Geri/ileri sarma butonları — `null` süre o butonu gizler. */
@@ -920,16 +953,16 @@ class Ne {
920
953
  }
921
954
  renderSkipButtons() {
922
955
  const t = (e, i, r) => {
923
- e.btn.style.display = i === null || this.adMode ? "none" : "", i !== null && (e.num.textContent = String(i), e.num.toggleAttribute("data-long", String(i).length > 2), C(e.btn, r(i)));
956
+ e.btn.style.display = i === null || this.adMode ? "none" : "", i !== null && (e.num.textContent = String(i), e.num.toggleAttribute("data-long", String(i).length > 2), T(e.btn, r(i)));
924
957
  };
925
958
  t(this.skipBack, this.skipSeconds.back, this.labels.skipBack), t(this.skipForward, this.skipSeconds.forward, this.labels.skipForward);
926
959
  }
927
960
  skip(t) {
928
961
  var e;
929
- !t || !this.seekingEnabled || (le(this.video, t), (e = this.onSkip) == null || e.call(this, t));
962
+ !t || !this.seekingEnabled || (pe(this.video, t), (e = this.onSkip) == null || e.call(this, t));
930
963
  }
931
964
  refreshLabels() {
932
- this.renderPlayState(), this.renderSkipButtons(), C(this.pipButton, this.labels.pip), C(this.liveBadge, this.labels.goToLive), this.liveText.textContent = this.labels.live, this.setFullscreenState(this.callbacks.isFullscreen()), this.seekBar.refreshLabels(), this.volumePanel.refreshLabels(), this.settingsMenu.refreshLabels();
965
+ this.renderPlayState(), this.renderSkipButtons(), T(this.pipButton, this.labels.pip), T(this.liveBadge, this.labels.goToLive), this.liveText.textContent = this.labels.live, this.setFullscreenState(this.callbacks.isFullscreen()), this.seekBar.refreshLabels(), this.volumePanel.refreshLabels(), this.settingsMenu.refreshLabels();
933
966
  }
934
967
  /** Reklam modu: seek bar, süre ve sağ grup gizlenir; oynat/duraklat + ses kalır. */
935
968
  setAdMode(t) {
@@ -960,7 +993,7 @@ class Ne {
960
993
  }
961
994
  /** Plugin'lerin (loop-section vb.) kontrol çubuğuna kendi butonlarını eklemesi için — ayarlar menüsünden önce yerleştirilir. */
962
995
  addButton(t, e, i) {
963
- const { btn: r, icon: o } = A(t, e);
996
+ const { btn: r, icon: o } = L(t, e);
964
997
  return r.addEventListener("click", i), this.row.insertBefore(r, this.extraButtonAnchor), { btn: r, icon: o };
965
998
  }
966
999
  toggleTimeMode() {
@@ -1020,12 +1053,12 @@ class Ne {
1020
1053
  }
1021
1054
  destroy() {
1022
1055
  this.timeLabel.removeEventListener("click", this.onTimeClick), this.video.removeEventListener("play", this.renderPlayState), this.video.removeEventListener("pause", this.renderPlayState), this.video.removeEventListener("timeupdate", this.renderTime), this.video.removeEventListener("loadedmetadata", this.renderTime), this.video.removeEventListener("durationchange", this.renderTime), this.video.removeEventListener("progress", this.renderTime), this.video.removeEventListener("emptied", this.renderTime);
1023
- for (const t of W) this.video.removeEventListener(t, this.onLoadingStart);
1024
- for (const t of X) this.video.removeEventListener(t, this.onLoadingEnd);
1056
+ for (const t of $) this.video.removeEventListener(t, this.onLoadingStart);
1057
+ for (const t of U) this.video.removeEventListener(t, this.onLoadingEnd);
1025
1058
  this.loadingTimer && clearTimeout(this.loadingTimer), this.resizeObserver.disconnect(), this.topEl.remove(), this.seekBar.destroy(), this.settingsMenu.destroy();
1026
1059
  }
1027
1060
  }
1028
- const Ie = 450, Oe = 60, U = 8, I = 6, De = /* @__PURE__ */ new Set(["seek-bar", "time-display"]);
1061
+ const Ne = 450, Oe = 60, K = 8, D = 6, De = /* @__PURE__ */ new Set(["seek-bar", "time-display"]);
1029
1062
  function Fe() {
1030
1063
  return typeof window.matchMedia != "function" || window.matchMedia("(hover: hover)").matches;
1031
1064
  }
@@ -1088,7 +1121,7 @@ class He {
1088
1121
  scheduleShow(t) {
1089
1122
  this.hideTimer && (clearTimeout(this.hideTimer), this.hideTimer = null), this.showTimer && clearTimeout(this.showTimer), this.pendingTarget = t, this.showTimer = setTimeout(() => {
1090
1123
  this.showTimer = null, this.pendingTarget = null, this.show(t);
1091
- }, Ie);
1124
+ }, Ne);
1092
1125
  }
1093
1126
  scheduleHide() {
1094
1127
  this.showTimer && (clearTimeout(this.showTimer), this.showTimer = null), this.pendingTarget = null, this.hideTimer && clearTimeout(this.hideTimer), this.hideTimer = setTimeout(() => this.hideNow(), Oe);
@@ -1106,11 +1139,11 @@ class He {
1106
1139
  }
1107
1140
  position(t) {
1108
1141
  const e = this.mountEl.getBoundingClientRect(), i = t.getBoundingClientRect(), r = this.el.getBoundingClientRect();
1109
- let o = i.top - e.top - r.height - U;
1110
- o < I && (o = i.bottom - e.top + U);
1111
- let a = i.left - e.left + i.width / 2 - r.width / 2;
1112
- const l = e.width - r.width - I;
1113
- a = Math.max(I, Math.min(a, l)), this.el.style.top = `${o}px`, this.el.style.left = `${a}px`;
1142
+ let o = i.top - e.top - r.height - K;
1143
+ o < D && (o = i.bottom - e.top + K);
1144
+ let n = i.left - e.left + i.width / 2 - r.width / 2;
1145
+ const l = e.width - r.width - D;
1146
+ n = Math.max(D, Math.min(n, l)), this.el.style.top = `${o}px`, this.el.style.left = `${n}px`;
1114
1147
  }
1115
1148
  }
1116
1149
  class _e {
@@ -1125,7 +1158,7 @@ class _e {
1125
1158
  /** Space/K'den önce sorulur — true dönerse işlenmiştir (ör. preroll beklemesini iptal). */
1126
1159
  s(this, "interceptTogglePlay", null);
1127
1160
  s(this, "onKeyDown", (t) => {
1128
- var r, o, a;
1161
+ var r, o, n;
1129
1162
  if (t.defaultPrevented) return;
1130
1163
  const e = t.composedPath()[0];
1131
1164
  if ((t.key === " " || t.key === "Enter") && e instanceof HTMLButtonElement) return;
@@ -1145,7 +1178,7 @@ class _e {
1145
1178
  break;
1146
1179
  case "ArrowLeft":
1147
1180
  case "j":
1148
- this.video.currentTime = Math.max(0, this.video.currentTime - this.seekStep), (a = this.onSeek) == null || a.call(this, -this.seekStep), t.preventDefault();
1181
+ this.video.currentTime = Math.max(0, this.video.currentTime - this.seekStep), (n = this.onSeek) == null || n.call(this, -this.seekStep), t.preventDefault();
1149
1182
  break;
1150
1183
  case "ArrowUp":
1151
1184
  this.video.volume = Math.min(1, this.video.volume + 0.1), this.video.muted = !1, t.preventDefault();
@@ -1173,14 +1206,14 @@ class Ve {
1173
1206
  s(this, "video");
1174
1207
  s(this, "show", () => this.el.classList.remove("hp:hidden"));
1175
1208
  s(this, "hide", () => this.el.classList.add("hp:hidden"));
1176
- this.video = t, this.el = document.createElement("div"), this.el.className = "hp:absolute hp:inset-0 hp:flex hp:items-center hp:justify-center hp:pointer-events-none hp:hidden", this.el.innerHTML = '<div class="hp:w-10 hp:h-10 hp:border-[3px] hp:border-on-surface/30 hp:border-t-accent hp:rounded-full hp:animate-spin"></div>', t.addEventListener("waiting", this.show), t.addEventListener("playing", this.hide), t.addEventListener("canplay", this.hide), t.addEventListener("pause", this.hide);
1209
+ this.video = t, this.el = document.createElement("div"), this.el.className = "hp-loading-spinner hp:absolute hp:inset-0 hp:flex hp:items-center hp:justify-center hp:pointer-events-none hp:hidden", this.el.innerHTML = '<div class="hp:w-10 hp:h-10 hp:border-[3px] hp:border-on-surface/30 hp:border-t-accent hp:rounded-full hp:animate-spin"></div>', t.addEventListener("waiting", this.show), t.addEventListener("playing", this.hide), t.addEventListener("canplay", this.hide), t.addEventListener("pause", this.hide);
1177
1210
  }
1178
1211
  destroy() {
1179
1212
  this.video.removeEventListener("waiting", this.show), this.video.removeEventListener("playing", this.hide), this.video.removeEventListener("canplay", this.hide), this.video.removeEventListener("pause", this.hide);
1180
1213
  }
1181
1214
  }
1182
- const Ge = '<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11a8 8 0 1 0-2.3 5.7"/><path d="M20 4v7h-7"/></svg>';
1183
- class qe {
1215
+ const qe = '<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11a8 8 0 1 0-2.3 5.7"/><path d="M20 4v7h-7"/></svg>';
1216
+ class Ge {
1184
1217
  constructor(t, e) {
1185
1218
  s(this, "el");
1186
1219
  s(this, "video");
@@ -1200,7 +1233,7 @@ class qe {
1200
1233
  const i = document.createElement("div");
1201
1234
  i.className = "hp-error-card";
1202
1235
  const r = document.createElement("div");
1203
- r.className = "hp-error-icon", r.appendChild(E("warning")), i.appendChild(r), this.messageEl = document.createElement("p"), this.messageEl.className = "hp-error-message", i.appendChild(this.messageEl), this.codeEl = document.createElement("p"), this.codeEl.className = "hp-error-code", i.appendChild(this.codeEl), this.retryBtn = document.createElement("button"), this.retryBtn.type = "button", this.retryBtn.className = "hp-error-retry", this.retryBtn.innerHTML = Ge, this.retryText = document.createElement("span"), this.retryText.textContent = e.retry, this.retryBtn.appendChild(this.retryText), this.retryBtn.addEventListener("click", () => {
1236
+ r.className = "hp-error-icon", r.appendChild(E("warning")), i.appendChild(r), this.messageEl = document.createElement("p"), this.messageEl.className = "hp-error-message", i.appendChild(this.messageEl), this.codeEl = document.createElement("p"), this.codeEl.className = "hp-error-code", i.appendChild(this.codeEl), this.retryBtn = document.createElement("button"), this.retryBtn.type = "button", this.retryBtn.className = "hp-error-retry", this.retryBtn.innerHTML = qe, this.retryText = document.createElement("span"), this.retryText.textContent = e.retry, this.retryBtn.appendChild(this.retryText), this.retryBtn.addEventListener("click", () => {
1204
1237
  var o;
1205
1238
  this.dismiss(), (o = this.onRetry) == null || o.call(this);
1206
1239
  }), i.appendChild(this.retryBtn), this.el.appendChild(i), t.addEventListener("error", this.show);
@@ -1246,129 +1279,129 @@ class qe {
1246
1279
  this.video.removeEventListener("error", this.show);
1247
1280
  }
1248
1281
  }
1249
- const O = /* @__PURE__ */ new WeakMap(), he = /* @__PURE__ */ new WeakSet(), N = /* @__PURE__ */ new WeakMap();
1250
- function We(n) {
1251
- return he.has(n);
1282
+ const F = /* @__PURE__ */ new WeakMap(), ce = /* @__PURE__ */ new WeakSet(), N = /* @__PURE__ */ new WeakMap();
1283
+ function We(a) {
1284
+ return ce.has(a);
1252
1285
  }
1253
- function pe(n, t, e, i, r) {
1254
- let o = O.get(n);
1255
- o || O.set(n, o = /* @__PURE__ */ new Map());
1256
- const a = `${t}\0${e}\0${i}\0${r}`;
1257
- let l = o.get(a);
1258
- return l || (l = n.addTextTrack(e, i, r), he.add(l), o.set(a, l)), l;
1286
+ function de(a, t, e, i, r) {
1287
+ let o = F.get(a);
1288
+ o || F.set(a, o = /* @__PURE__ */ new Map());
1289
+ const n = `${t}\0${e}\0${i}\0${r}`;
1290
+ let l = o.get(n);
1291
+ return l || (l = a.addTextTrack(e, i, r), ce.add(l), o.set(n, l)), l;
1259
1292
  }
1260
- function ce(n, t) {
1261
- for (const [e, i] of O.get(n) ?? [])
1293
+ function ue(a, t) {
1294
+ for (const [e, i] of F.get(a) ?? [])
1262
1295
  if (e.startsWith(`${t}\0`)) {
1263
1296
  i.mode = "hidden";
1264
1297
  for (const r of Array.from(i.cues ?? [])) i.removeCue(r);
1265
1298
  i.mode = "disabled";
1266
1299
  }
1267
1300
  }
1268
- function Xe(n, t) {
1269
- de(n);
1270
- const e = N.get(n), i = [];
1301
+ function Xe(a, t) {
1302
+ me(a);
1303
+ const e = N.get(a), i = [];
1271
1304
  for (const r of t) {
1272
- const o = pe(n, "options", "subtitles", r.label, r.srclang);
1273
- o.mode = r.default ? "hidden" : "disabled", i.push({ label: r.label, track: o }), Ue(n, o, r.src, e);
1305
+ const o = de(a, "options", "subtitles", r.label, r.srclang);
1306
+ o.mode = r.default ? "hidden" : "disabled", i.push({ label: r.label, track: o }), Ue(a, o, r.src, e);
1274
1307
  }
1275
1308
  return i;
1276
1309
  }
1277
- function de(n) {
1278
- N.set(n, (N.get(n) ?? 0) + 1), ce(n, "options");
1310
+ function me(a) {
1311
+ N.set(a, (N.get(a) ?? 0) + 1), ue(a, "options");
1279
1312
  }
1280
- function $e(n, t) {
1313
+ function $e(a, t) {
1281
1314
  let e = null;
1282
- for (const { label: i, track: r } of n) {
1315
+ for (const { label: i, track: r } of a) {
1283
1316
  const o = i === t;
1284
1317
  r.mode = o ? "hidden" : "disabled", o && (e = r);
1285
1318
  }
1286
1319
  return e;
1287
1320
  }
1288
- async function Ue(n, t, e, i) {
1321
+ async function Ue(a, t, e, i) {
1289
1322
  let r;
1290
1323
  try {
1291
1324
  const o = await fetch(e);
1292
1325
  if (!o.ok) throw new Error(`HTTP ${o.status}`);
1293
1326
  r = await o.text();
1294
1327
  } catch (o) {
1295
- console.warn("[HopePlayer] altyazı yüklenemedi:", e, o), n.dispatchEvent(new CustomEvent("hp-internal:subtitle-error", { detail: { src: e, message: String(o) } }));
1328
+ console.warn("[HopePlayer] altyazı yüklenemedi:", e, o), a.dispatchEvent(new CustomEvent("hp-internal:subtitle-error", { detail: { src: e, message: String(o) } }));
1296
1329
  return;
1297
1330
  }
1298
- if (!(N.get(n) !== i || typeof VTTCue != "function"))
1299
- for (const o of je(r)) {
1300
- const a = new VTTCue(o.start, o.end, o.text);
1301
- Qe(a, o.settings), t.addCue(a);
1331
+ if (!(N.get(a) !== i || typeof VTTCue != "function"))
1332
+ for (const o of Ke(r)) {
1333
+ const n = new VTTCue(o.start, o.end, o.text);
1334
+ Qe(n, o.settings), t.addCue(n);
1302
1335
  }
1303
1336
  }
1304
- const K = "(?:\\d+:)?\\d{1,2}:\\d{2}(?:[.,]\\d{1,3})?", Ke = new RegExp(`^(${K})\\s+-->\\s+(${K})(.*)$`);
1305
- function j(n) {
1306
- return n.replace(",", ".").split(":").reduce((t, e) => t * 60 + Number(e), 0);
1337
+ const Q = "(?:\\d+:)?\\d{1,2}:\\d{2}(?:[.,]\\d{1,3})?", je = new RegExp(`^(${Q})\\s+-->\\s+(${Q})(.*)$`);
1338
+ function Y(a) {
1339
+ return a.replace(",", ".").split(":").reduce((t, e) => t * 60 + Number(e), 0);
1307
1340
  }
1308
- function je(n) {
1309
- const t = [], e = n.replace(/^/, "").replace(/\r\n?/g, `
1341
+ function Ke(a) {
1342
+ const t = [], e = a.replace(/^/, "").replace(/\r\n?/g, `
1310
1343
  `).split(/\n{2,}/);
1311
1344
  for (const i of e) {
1312
1345
  const r = i.split(`
1313
1346
  `), o = r.findIndex((d) => d.includes("-->"));
1314
1347
  if (o < 0) continue;
1315
- const a = Ke.exec(r[o].trim());
1316
- if (!a) continue;
1348
+ const n = je.exec(r[o].trim());
1349
+ if (!n) continue;
1317
1350
  const l = r.slice(o + 1).join(`
1318
1351
  `);
1319
- l.trim() && t.push({ start: j(a[1]), end: j(a[2]), settings: a[3].trim(), text: l });
1352
+ l.trim() && t.push({ start: Y(n[1]), end: Y(n[2]), settings: n[3].trim(), text: l });
1320
1353
  }
1321
1354
  return t;
1322
1355
  }
1323
- function Qe(n, t) {
1356
+ function Qe(a, t) {
1324
1357
  for (const e of t.split(/\s+/)) {
1325
1358
  const [i, r] = e.split(":");
1326
1359
  if (!i || !r) continue;
1327
1360
  const [o] = r.split(",");
1328
1361
  try {
1329
- i === "align" ? n.align = o : i === "vertical" ? n.vertical = o : i === "size" ? n.size = parseFloat(o) : i === "position" ? n.position = parseFloat(o) : i === "line" && (n.snapToLines = !o.endsWith("%"), n.line = parseFloat(o));
1362
+ i === "align" ? a.align = o : i === "vertical" ? a.vertical = o : i === "size" ? a.size = parseFloat(o) : i === "position" ? a.position = parseFloat(o) : i === "line" && (a.snapToLines = !o.endsWith("%"), a.line = parseFloat(o));
1330
1363
  } catch {
1331
1364
  }
1332
1365
  }
1333
1366
  }
1334
- const z = 6, Ye = 20, Ze = 14, Je = 6, et = 10, tt = 3, ue = "hope-caption-row", me = "hope-caption-font-size", Q = "hope-caption-bg-color", Y = "hope-caption-text-color", it = {
1367
+ const I = 6, Ye = 20, Ze = 14, Je = 6, et = 10, tt = 3, be = "hope-caption-row", ge = "hope-caption-font-size", Z = "hope-caption-bg-color", J = "hope-caption-text-color", it = {
1335
1368
  small: 0.78,
1336
1369
  normal: 1,
1337
1370
  large: 1.35
1338
- }, Z = [
1371
+ }, ee = [
1339
1372
  "rgba(0, 0, 0, 0.75)",
1340
1373
  "rgba(0, 0, 0, 0)",
1341
1374
  "rgba(255, 255, 255, 0.85)",
1342
1375
  "rgba(183, 28, 28, 0.8)",
1343
1376
  "rgba(13, 71, 161, 0.8)",
1344
1377
  "rgba(27, 94, 32, 0.8)"
1345
- ], J = ["#ffffff", "#000000", "#ffeb3b", "#ff5252", "#18ffff", "#69f0ae"];
1378
+ ], te = ["#ffffff", "#000000", "#ffeb3b", "#ff5252", "#18ffff", "#69f0ae"];
1346
1379
  function st() {
1347
1380
  try {
1348
- const n = window.localStorage.getItem(ue), t = n === null ? 0 : Number(n);
1349
- return Number.isFinite(t) && t >= 0 && t < z ? t : 0;
1381
+ const a = window.localStorage.getItem(be), t = a === null ? 0 : Number(a);
1382
+ return Number.isFinite(t) && t >= 0 && t < I ? t : 0;
1350
1383
  } catch {
1351
1384
  return 0;
1352
1385
  }
1353
1386
  }
1354
1387
  function rt() {
1355
1388
  try {
1356
- const n = window.localStorage.getItem(me);
1357
- return n === "small" || n === "normal" || n === "large" ? n : "normal";
1389
+ const a = window.localStorage.getItem(ge);
1390
+ return a === "small" || a === "normal" || a === "large" ? a : "normal";
1358
1391
  } catch {
1359
1392
  return "normal";
1360
1393
  }
1361
1394
  }
1362
- function ee(n, t) {
1395
+ function ie(a, t) {
1363
1396
  const e = t[0] ?? "";
1364
1397
  try {
1365
- const i = window.localStorage.getItem(n);
1398
+ const i = window.localStorage.getItem(a);
1366
1399
  return i !== null && t.includes(i) ? i : e;
1367
1400
  } catch {
1368
1401
  return e;
1369
1402
  }
1370
1403
  }
1371
- class P {
1404
+ class M {
1372
1405
  constructor(t, e, i, r) {
1373
1406
  s(this, "layerEl");
1374
1407
  s(this, "bubbleEl");
@@ -1377,8 +1410,8 @@ class P {
1377
1410
  s(this, "labels");
1378
1411
  s(this, "activeTrack", null);
1379
1412
  s(this, "fontSize", rt());
1380
- s(this, "bgColor", ee(Q, Z));
1381
- s(this, "textColor", ee(Y, J));
1413
+ s(this, "bgColor", ie(Z, ee));
1414
+ s(this, "textColor", ie(J, te));
1382
1415
  s(this, "rowIndex", st());
1383
1416
  s(this, "dragging", !1);
1384
1417
  /** Kontrol çubuğu görünür mü — görünürken altyazı seek bar'ın üstünde, değilken en altta. */
@@ -1417,8 +1450,8 @@ class P {
1417
1450
  });
1418
1451
  s(this, "onPointerUp", (t) => {
1419
1452
  if (!this.dragging || (this.dragging = !1, this.bubbleEl.releasePointerCapture(t.pointerId), this.bubbleEl.removeEventListener("pointermove", this.onPointerMove), this.bubbleEl.removeEventListener("pointerup", this.onPointerUp), this.bubbleEl.removeEventListener("pointercancel", this.onPointerUp), this.rafId !== null && (cancelAnimationFrame(this.rafId), this.rafId = null), this.bubbleEl.classList.remove("hp-caption-dragging"), !this.dragMoved)) return;
1420
- const { min: e, max: i } = this.bounds(), r = Math.min(i, Math.max(e, this.dragStartBottomPx - this.pendingDeltaPx)), o = i > e ? (r - e) / (i - e) : 0, a = Math.round(o * (z - 1));
1421
- this.setRowIndex(a, !0);
1453
+ const { min: e, max: i } = this.bounds(), r = Math.min(i, Math.max(e, this.dragStartBottomPx - this.pendingDeltaPx)), o = i > e ? (r - e) / (i - e) : 0, n = Math.round(o * (I - 1));
1454
+ this.setRowIndex(n, !0);
1422
1455
  });
1423
1456
  this.videoArea = e, this.seekBarEl = i, this.labels = r, this.layerEl = document.createElement("div"), this.layerEl.className = "hp-caption-layer", this.layerEl.setAttribute("part", "caption-layer"), this.bubbleEl = document.createElement("div"), this.bubbleEl.className = "hp-caption-bubble", this.bubbleEl.setAttribute("part", "caption-bubble"), this.bubbleEl.setAttribute("role", "note"), this.bubbleEl.setAttribute("aria-label", r.captionDragHandle), this.bubbleEl.tabIndex = -1, this.applyFontSizeVar(), this.bubbleEl.style.setProperty("--hp-caption-bg", this.bgColor), this.bubbleEl.style.setProperty("--hp-caption-text", this.textColor), this.layerEl.appendChild(this.bubbleEl), this.bubbleEl.addEventListener("pointerdown", this.onPointerDown), this.resizeObserver = new ResizeObserver(() => this.recomputePosition()), this.resizeObserver.observe(this.videoArea), this.recomputePosition();
1424
1457
  }
@@ -1432,7 +1465,7 @@ class P {
1432
1465
  setFontSize(t) {
1433
1466
  this.fontSize = t, this.applyFontSizeVar(), this.recomputePosition();
1434
1467
  try {
1435
- window.localStorage.setItem(me, t);
1468
+ window.localStorage.setItem(ge, t);
1436
1469
  } catch {
1437
1470
  }
1438
1471
  }
@@ -1442,7 +1475,7 @@ class P {
1442
1475
  setBgColor(t) {
1443
1476
  this.bgColor = t, this.bubbleEl.style.setProperty("--hp-caption-bg", t);
1444
1477
  try {
1445
- window.localStorage.setItem(Q, t);
1478
+ window.localStorage.setItem(Z, t);
1446
1479
  } catch {
1447
1480
  }
1448
1481
  }
@@ -1452,7 +1485,7 @@ class P {
1452
1485
  setTextColor(t) {
1453
1486
  this.textColor = t, this.bubbleEl.style.setProperty("--hp-caption-text", t);
1454
1487
  try {
1455
- window.localStorage.setItem(Y, t);
1488
+ window.localStorage.setItem(J, t);
1456
1489
  } catch {
1457
1490
  }
1458
1491
  }
@@ -1468,11 +1501,11 @@ class P {
1468
1501
  this.bubbleEl.style.setProperty("--hp-caption-size-multiplier", String(it[this.fontSize]));
1469
1502
  }
1470
1503
  bounds() {
1471
- const t = this.videoArea.getBoundingClientRect(), e = this.seekBarEl.getBoundingClientRect(), r = (this.bubbleEl.getBoundingClientRect().height || 32) + Ye, o = Math.max(et, Math.round(t.height * 0.04)), a = this.chromeVisible && e.height > 0 ? Math.max(0, Math.round(t.bottom - e.top + (this.videoArea.hasAttribute("data-compact") ? Je : Ze))) : o, l = Math.max(a, Math.round(t.height - r));
1472
- return { min: a, max: l };
1504
+ const t = this.videoArea.getBoundingClientRect(), e = this.seekBarEl.getBoundingClientRect(), r = (this.bubbleEl.getBoundingClientRect().height || 32) + Ye, o = Math.max(et, Math.round(t.height * 0.04)), n = this.chromeVisible && e.height > 0 ? Math.max(0, Math.round(t.bottom - e.top + (this.videoArea.hasAttribute("data-compact") ? Je : Ze))) : o, l = Math.max(n, Math.round(t.height - r));
1505
+ return { min: n, max: l };
1473
1506
  }
1474
1507
  pxForRow(t) {
1475
- const { min: e, max: i } = this.bounds(), r = t / (z - 1);
1508
+ const { min: e, max: i } = this.bounds(), r = t / (I - 1);
1476
1509
  return Math.round(e + r * (i - e));
1477
1510
  }
1478
1511
  /**
@@ -1491,11 +1524,11 @@ class P {
1491
1524
  }
1492
1525
  /** FLIP: bottom anında yazılır, yalnızca transform animasyonlanır — bottom'u animasyonlamak bırakınca zıplatıyordu. */
1493
1526
  setRowIndex(t, e) {
1494
- this.rowIndex = Math.min(z - 1, Math.max(0, t));
1527
+ this.rowIndex = Math.min(I - 1, Math.max(0, t));
1495
1528
  const i = this.pxForRow(this.rowIndex), r = this.visualBottomPx();
1496
1529
  e && Math.abs(r - i) > 0.5 ? (this.bubbleEl.classList.add("hp-caption-no-transition"), this.bubbleEl.style.bottom = `${i}px`, this.bubbleEl.style.transform = `translateX(-50%) translateY(${i - r}px)`, this.bubbleEl.offsetHeight, this.bubbleEl.classList.remove("hp-caption-no-transition"), this.bubbleEl.style.transform = "translateX(-50%)") : (this.bubbleEl.classList.add("hp-caption-no-transition"), this.bubbleEl.style.transform = "translateX(-50%)", this.bubbleEl.style.bottom = `${i}px`, this.bubbleEl.offsetHeight, this.bubbleEl.classList.remove("hp-caption-no-transition"));
1497
1530
  try {
1498
- window.localStorage.setItem(ue, String(this.rowIndex));
1531
+ window.localStorage.setItem(be, String(this.rowIndex));
1499
1532
  } catch {
1500
1533
  }
1501
1534
  }
@@ -1511,7 +1544,7 @@ class P {
1511
1544
  this.activeTrack && this.activeTrack.removeEventListener("cuechange", this.onCueChange), this.resizeObserver.disconnect(), this.rafId !== null && cancelAnimationFrame(this.rafId), this.bubbleEl.removeEventListener("pointerdown", this.onPointerDown);
1512
1545
  }
1513
1546
  }
1514
- s(P, "BG_COLOR_PRESETS", Z), s(P, "TEXT_COLOR_PRESETS", J);
1547
+ s(M, "BG_COLOR_PRESETS", ee), s(M, "TEXT_COLOR_PRESETS", te);
1515
1548
  class ot {
1516
1549
  constructor(t) {
1517
1550
  s(this, "el");
@@ -1604,26 +1637,26 @@ class pt {
1604
1637
  var u;
1605
1638
  this.el.replaceChildren(
1606
1639
  ...i.map((c) => {
1607
- const g = document.createElement(c.onSelect ? "button" : "div");
1608
- g.className = "hp-context-menu-item", c.onSelect ? (g.type = "button", g.setAttribute("role", "menuitem"), g.addEventListener("click", () => {
1640
+ const b = document.createElement(c.onSelect ? "button" : "div");
1641
+ b.className = "hp-context-menu-item", c.onSelect ? (b.type = "button", b.setAttribute("role", "menuitem"), b.addEventListener("click", () => {
1609
1642
  this.close(), c.onSelect();
1610
- })) : g.setAttribute("data-info", "");
1643
+ })) : b.setAttribute("data-info", "");
1611
1644
  const h = document.createElement("span");
1612
- if (h.textContent = c.label, g.appendChild(h), c.meta) {
1645
+ if (h.textContent = c.label, b.appendChild(h), c.meta) {
1613
1646
  const p = document.createElement("span");
1614
- p.className = "hp-context-menu-meta", p.textContent = c.meta, g.appendChild(p);
1647
+ p.className = "hp-context-menu-meta", p.textContent = c.meta, b.appendChild(p);
1615
1648
  }
1616
- return g;
1649
+ return b;
1617
1650
  })
1618
1651
  ), this.el.setAttribute("data-open", ""), this.open = !0;
1619
- const r = this.container.getBoundingClientRect(), { width: o, height: a } = this.el.getBoundingClientRect(), l = Math.max(4, Math.min(t - r.left, r.width - o - 4)), d = Math.max(4, Math.min(e - r.top, r.height - a - 4));
1652
+ const r = this.container.getBoundingClientRect(), { width: o, height: n } = this.el.getBoundingClientRect(), l = Math.max(4, Math.min(t - r.left, r.width - o - 4)), d = Math.max(4, Math.min(e - r.top, r.height - n - 4));
1620
1653
  this.el.style.left = `${l}px`, this.el.style.top = `${d}px`, (u = this.el.querySelector("button")) == null || u.focus({ preventScroll: !0 }), document.addEventListener("pointerdown", this.onOutside, !0), document.addEventListener("keydown", this.onKeyDown, !0), window.addEventListener("blur", this.close), window.addEventListener("resize", this.close), window.addEventListener("scroll", this.close, !0);
1621
1654
  }
1622
1655
  destroy() {
1623
1656
  this.close(), this.el.remove();
1624
1657
  }
1625
1658
  }
1626
- const ct = 3e3, te = 200;
1659
+ const ct = 3e3, se = 200;
1627
1660
  class dt {
1628
1661
  constructor() {
1629
1662
  s(this, "list", []);
@@ -1640,7 +1673,7 @@ class dt {
1640
1673
  i.count = (i.count ?? 1) + 1, i.time = e, (r = this.onChange) == null || r.call(this);
1641
1674
  return;
1642
1675
  }
1643
- this.list.push({ time: e, ...t }), this.list.length > te && this.list.splice(0, this.list.length - te), (o = this.onChange) == null || o.call(this);
1676
+ this.list.push({ time: e, ...t }), this.list.length > se && this.list.splice(0, this.list.length - se), (o = this.onChange) == null || o.call(this);
1644
1677
  }
1645
1678
  clear() {
1646
1679
  var t;
@@ -1655,13 +1688,13 @@ class dt {
1655
1688
  `);
1656
1689
  }
1657
1690
  }
1658
- const ut = '@font-face{font-family:hope-icons;src:url(data:font/woff2;base64,d09GMgABAAAAAAq4AAsAAAAAIQwAAAprAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACEUAqySKthATYCJANICyYABCAFhC4HgWgbvBwzo8LGASCo7UymWhxkcsp3plRjG4rgPXRJJ9fVhsrU04g9KovY4vJpzld+YERwXGwRdmsE0Nr/Zk+ea/0/eUbEQ4UkolEzJRAyHrJGXayR33zvZk3CzJDWKUloHZmgFSSUioXQOu8CNQvUV7Fz8RXl3Ff898T9fqr+cyupw8KUzXXM2Pc+Y3RIJIjjFblsLVvy9ORekUJtZff2i6NK8HjGMyiHsTj9XUbnwv7/5kp7XCD8BeOOdcGZSfIPsrM5QkzeZXkOQfZVEUhABwAKUDggdBWmwp5bI3wNxmYesGjMYIr2ErZ95PkIqFi1QbLtbd8xjZO6BExkeO9AXDacdLVGaREsKykblAQF2QOGr+GZnLCNToCd/mP/b+whiTzFT+iQ3V55GcVWeDl7aTn8s6k7GfaeIEeKxYmFhovl0aeRhuKiTyui6MwWuvtMILZmMyJXmPauCBKpTL74D15RSVlFVU1dQ1NLm1DAaQ2OX3LaRDYIRJAQQUoEGRHkRFAggiIRlIigTAQVIqgSQY0I6kTQIIImEbSI1bRBx608h/NQqSHkKT7yEZrrR2RPz6ctjRGDG5nJdrydkGbZiKODliytnkQsNhY5zUiogdvU37V1d09VV/e/414obRN7aOtEcNuERYBt776fN6bYNjY63h7GWD6eyOzdToMjKDRrjCXJZr6PdPyOdIdliibDmY2DqAUiWGJXYrWbDrSyw7NEkZiDxS9mCaRGQoacgc4Vp4BTwymzoEiV7PaZGCgBITVhA7JtEsZc5ASmgO2SkAMyMFgQmuq5iujoEyqvKQfh+ukR7o4c9Ap115TXFY7qFaoorcaYFmYCFyoiBGkBrw9PQZUv3e3GSCR5o5UBQA8LWNGSDhBOBCPsUr6WQw5qT07UrqNN4zsQ4OlmQZFen2wp7PHCFdfIKYioSnqbs3Pk8WigFxYQNeXWa0IbetamJN7LPsyq18kUrjtzOiK77e168SK3kAwhq8pHFH0E2shMekcD9uECvCfHMxqJQIxCafozKBVerE1Atb0FbZuybniE50mGWDJmhE8a4XPlCFeJYw+K6N7pjtZhdEynJ3U6GuWotlP9NzzMceyjTscMc0nDXJ5TjnLsQQBE2kRA25Uu056bc3Guzv00q35/s2NVVdXVNWVfE8XGxhZnfXV1b++sw95W2m7MHXcIgm2uy1VR0TF0wsriUh5VSuLUKzGzoYAqoVzXDm0Ogm2nRdc41sTVGggQ7XUWXSh3kOjR8GZS0i4NL6TUQCoshWvmQL3wmWstTCYUjGn1s4Ga9/gWSblci2NEZu58tHd2LLw71dOjP9jOQ0+Drd5R+1jgk4rnOo2qkX/55OIpo0pBCZg/vx40NI+GyPM2iJ6KUOblTr92xmfF2KzavOf/0LpOlQ/ELz1GcdPDYYhvaNSjw6iqRIdF7mkRC345pqgR2S8gPCyGIqoSC4nCnp3IJIZpG3lpruEwRS3IwfXGpVcd0uCnq7yif/c06tJhXFxEFDAaEeWHPslZ3z+Nw2IfXCJd0GqHKyRediMy8NPoIVoRKcjB72WtBlblT8QteSs5oihS/gURYkVZUpSILLK//5swQZT+3MTuXDyGQPRkf/03YYwqVAF9/6v1Kn+K8+B9WCDBKMbRIBFwzDIl6sg8mgWuFrcVeArvNKm3HsuyqHGXTNBTl0ffUumpqqqrEQTm27Kevu6Cz0VnzDtWccpph/F3jdEqrrk5jXwa+tWhImBggMGCgl+3qMqEGTUuyaKgWBvWYp6IcjCmJsIJNRKVRdaKmYtpQMMiH6UHHg0Fr8FazAkrGq+niSp6oICj4tjKinI0QobGnjab8Fi7+8wiy+H67e8e6ttyeJyHA4ZeCDlDlmHdj7qSnk9cn+QrCJ+GV1K6Il5CECYWX6RLkXw+tkM0nHhneUW2di9SkLAIsiQoGR35BM4+PpBMJncxoGAKAlBMS5JPJsgSyu2aQstGZVjn2Hm/ghoboGAd+QgVPuRysUlHECWGxLEcldmFXozgeEZ6TrdFyozDykOVqQlbdM+F3H+wxHuH8Jb7/IFTKKho7htfuvDG57eYtzx/44VL433NFQXvC176RgRtFpPnAqv7QpNFX/px6kOge5cgtJpNpuQGd9xkpg1DyDgtjQGC+52MliNeCSup9HNrmRE/gZD4RzLz+ySdUrDkJZyWAd+8qyk2lHg86r7njTrdE60ajWWLn4WawM/ZtAZKw/let8adzehoWFWv15uMXZ9cnzTp9bi+gq665Isatzd/WJqaLnwqkMH6t1g0PPKpXp1M4j6Pp6SB1ZZ1/Ccpvg1pbYGensXFdCpx3nmJVHpxsacnYCsyjOgmgf9nMxu4t4I7m3q/iGXJ+tTJs/a07xHbyoHkCeatcPXZx7qvz36+b8+zizl3hevv+mv03uy+bqwRCnUS4jYyzZvhPt+/Rbaw+006C7LoRhol2khxm5DeRNNR8L93X/be0b/uqg/flbP47J59n2ev7z52dnX4LeZE8sCK7RHf0/zsyWk9yca+6G3aGXyL25A5qScTNIISJ9eLRZYUvwWC+loJzuQYJdoEhivMGmkpIspTODwZdO7HGpvZnHLb79t30cVdjRljyxxG85x/DY2ZrsaLL9qn1LlTZrNNg/PWxNDa+tbFWn5t6/y6y8WPTBP9jkJH/xWdZzccoxSEWMtZJ/pYkJzh4FiYJEsIT2rXthduO+20tXUDA60uVz4nrm9r/KVZt3baabfd9/7Y+LWKvZSmS+3KteNj7zdcxQGAo+gsB+X56HHIjIp1mzb9aLF0vF56bE6jQuU9pJNN3NPpro2XARycHu8OSV1dUqh7/HFrnxVD6PPGEzljOYm41wchzl+mpyeggcgJJiETQ5IncpJJyqQkx/0oJBbZE0Eo4pEtBGZQ+hgROPf/LQAAAKhnqTYAAKDGqBVjwk3USO/XqNP8Ca9Qp0x4iZqecBY1NuFLav2ubqbCAPx/iPqWusMQf5ehV8LuRaEL+7C0Ho6fZn1ApQE1+0AAPNz25r/zRW2/MlHVBNycf+4uvLuNUXIsOvAfhHfS3Ked1y/GzZ3Y+xPQCZv0tCdWaBozPLbl/dA0CDGOTBQXCDENpTZsM8cp5KrmoaBiFSoWrDlwVddxqZCVBT1XDUg0PIJUz3PbzPEF5AZeQ0HPB6i4/wf/QHM8hKdGIq+ckZA/1J3XKSMjD/IjZSdB7dbbgtvxLnDShSt1uKh8rPcVq2ySVr1JKOy9qJjkj01ZN6XEx83Grv7SayMtGogItuIYiICMD1Cj46Gl0gbz1X9AQobbbb6yw2ylbN9pkFxaK2DVuR9wgZJxRI09QoGFYpEgWihvzXhkenjInEbxnv7ADArWmgaZEY82pjkrS9cDS62yrgIwBL+yd9SjPg1oSCMa04SmNKM5LWhJV3RNN3RLd3SPoWnY/C/cn3dMElaebRkaL5lvbOd9Nok5rDgUTteZK3t2ZVAnVw28SBxG3WXuRxcH0evLJHMpLtR5mv9dXB1010J4QlbSSadqfhTftbxqXN3MFqleTgtWqO0KV+NKYmgeBAA=) format("woff2");font-weight:400;font-style:normal;font-display:block}', ie = "hope-player-icon-font";
1691
+ const ut = '@font-face{font-family:hope-icons;src:url(data:font/woff2;base64,d09GMgABAAAAAAq4AAsAAAAAIQwAAAprAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACEUAqySKthATYCJANICyYABCAFhC4HgWgbvBwzo8LGASCo7UymWhxkcsp3plRjG4rgPXRJJ9fVhsrU04g9KovY4vJpzld+YERwXGwRdmsE0Nr/Zk+ea/0/eUbEQ4UkolEzJRAyHrJGXayR33zvZk3CzJDWKUloHZmgFSSUioXQOu8CNQvUV7Fz8RXl3Ff898T9fqr+cyupw8KUzXXM2Pc+Y3RIJIjjFblsLVvy9ORekUJtZff2i6NK8HjGMyiHsTj9XUbnwv7/5kp7XCD8BeOOdcGZSfIPsrM5QkzeZXkOQfZVEUhABwAKUDggdBWmwp5bI3wNxmYesGjMYIr2ErZ95PkIqFi1QbLtbd8xjZO6BExkeO9AXDacdLVGaREsKykblAQF2QOGr+GZnLCNToCd/mP/b+whiTzFT+iQ3V55GcVWeDl7aTn8s6k7GfaeIEeKxYmFhovl0aeRhuKiTyui6MwWuvtMILZmMyJXmPauCBKpTL74D15RSVlFVU1dQ1NLm1DAaQ2OX3LaRDYIRJAQQUoEGRHkRFAggiIRlIigTAQVIqgSQY0I6kTQIIImEbSI1bRBx608h/NQqSHkKT7yEZrrR2RPz6ctjRGDG5nJdrydkGbZiKODliytnkQsNhY5zUiogdvU37V1d09VV/e/414obRN7aOtEcNuERYBt776fN6bYNjY63h7GWD6eyOzdToMjKDRrjCXJZr6PdPyOdIdliibDmY2DqAUiWGJXYrWbDrSyw7NEkZiDxS9mCaRGQoacgc4Vp4BTwymzoEiV7PaZGCgBITVhA7JtEsZc5ASmgO2SkAMyMFgQmuq5iujoEyqvKQfh+ukR7o4c9Ap115TXFY7qFaoorcaYFmYCFyoiBGkBrw9PQZUv3e3GSCR5o5UBQA8LWNGSDhBOBCPsUr6WQw5qT07UrqNN4zsQ4OlmQZFen2wp7PHCFdfIKYioSnqbs3Pk8WigFxYQNeXWa0IbetamJN7LPsyq18kUrjtzOiK77e168SK3kAwhq8pHFH0E2shMekcD9uECvCfHMxqJQIxCafozKBVerE1Atb0FbZuybniE50mGWDJmhE8a4XPlCFeJYw+K6N7pjtZhdEynJ3U6GuWotlP9NzzMceyjTscMc0nDXJ5TjnLsQQBE2kRA25Uu056bc3Guzv00q35/s2NVVdXVNWVfE8XGxhZnfXV1b++sw95W2m7MHXcIgm2uy1VR0TF0wsriUh5VSuLUKzGzoYAqoVzXDm0Ogm2nRdc41sTVGggQ7XUWXSh3kOjR8GZS0i4NL6TUQCoshWvmQL3wmWstTCYUjGn1s4Ga9/gWSblci2NEZu58tHd2LLw71dOjP9jOQ0+Drd5R+1jgk4rnOo2qkX/55OIpo0pBCZg/vx40NI+GyPM2iJ6KUOblTr92xmfF2KzavOf/0LpOlQ/ELz1GcdPDYYhvaNSjw6iqRIdF7mkRC345pqgR2S8gPCyGIqoSC4nCnp3IJIZpG3lpruEwRS3IwfXGpVcd0uCnq7yif/c06tJhXFxEFDAaEeWHPslZ3z+Nw2IfXCJd0GqHKyRediMy8NPoIVoRKcjB72WtBlblT8QteSs5oihS/gURYkVZUpSILLK//5swQZT+3MTuXDyGQPRkf/03YYwqVAF9/6v1Kn+K8+B9WCDBKMbRIBFwzDIl6sg8mgWuFrcVeArvNKm3HsuyqHGXTNBTl0ffUumpqqqrEQTm27Kevu6Cz0VnzDtWccpph/F3jdEqrrk5jXwa+tWhImBggMGCgl+3qMqEGTUuyaKgWBvWYp6IcjCmJsIJNRKVRdaKmYtpQMMiH6UHHg0Fr8FazAkrGq+niSp6oICj4tjKinI0QobGnjab8Fi7+8wiy+H67e8e6ttyeJyHA4ZeCDlDlmHdj7qSnk9cn+QrCJ+GV1K6Il5CECYWX6RLkXw+tkM0nHhneUW2di9SkLAIsiQoGR35BM4+PpBMJncxoGAKAlBMS5JPJsgSyu2aQstGZVjn2Hm/ghoboGAd+QgVPuRysUlHECWGxLEcldmFXozgeEZ6TrdFyozDykOVqQlbdM+F3H+wxHuH8Jb7/IFTKKho7htfuvDG57eYtzx/44VL433NFQXvC176RgRtFpPnAqv7QpNFX/px6kOge5cgtJpNpuQGd9xkpg1DyDgtjQGC+52MliNeCSup9HNrmRE/gZD4RzLz+ySdUrDkJZyWAd+8qyk2lHg86r7njTrdE60ajWWLn4WawM/ZtAZKw/let8adzehoWFWv15uMXZ9cnzTp9bi+gq665Isatzd/WJqaLnwqkMH6t1g0PPKpXp1M4j6Pp6SB1ZZ1/Ccpvg1pbYGensXFdCpx3nmJVHpxsacnYCsyjOgmgf9nMxu4t4I7m3q/iGXJ+tTJs/a07xHbyoHkCeatcPXZx7qvz36+b8+zizl3hevv+mv03uy+bqwRCnUS4jYyzZvhPt+/Rbaw+006C7LoRhol2khxm5DeRNNR8L93X/be0b/uqg/flbP47J59n2ev7z52dnX4LeZE8sCK7RHf0/zsyWk9yca+6G3aGXyL25A5qScTNIISJ9eLRZYUvwWC+loJzuQYJdoEhivMGmkpIspTODwZdO7HGpvZnHLb79t30cVdjRljyxxG85x/DY2ZrsaLL9qn1LlTZrNNg/PWxNDa+tbFWn5t6/y6y8WPTBP9jkJH/xWdZzccoxSEWMtZJ/pYkJzh4FiYJEsIT2rXthduO+20tXUDA60uVz4nrm9r/KVZt3baabfd9/7Y+LWKvZSmS+3KteNj7zdcxQGAo+gsB+X56HHIjIp1mzb9aLF0vF56bE6jQuU9pJNN3NPpro2XARycHu8OSV1dUqh7/HFrnxVD6PPGEzljOYm41wchzl+mpyeggcgJJiETQ5IncpJJyqQkx/0oJBbZE0Eo4pEtBGZQ+hgROPf/LQAAAKhnqTYAAKDGqBVjwk3USO/XqNP8Ca9Qp0x4iZqecBY1NuFLav2ubqbCAPx/iPqWusMQf5ehV8LuRaEL+7C0Ho6fZn1ApQE1+0AAPNz25r/zRW2/MlHVBNycf+4uvLuNUXIsOvAfhHfS3Ked1y/GzZ3Y+xPQCZv0tCdWaBozPLbl/dA0CDGOTBQXCDENpTZsM8cp5KrmoaBiFSoWrDlwVddxqZCVBT1XDUg0PIJUz3PbzPEF5AZeQ0HPB6i4/wf/QHM8hKdGIq+ckZA/1J3XKSMjD/IjZSdB7dbbgtvxLnDShSt1uKh8rPcVq2ySVr1JKOy9qJjkj01ZN6XEx83Grv7SayMtGogItuIYiICMD1Cj46Gl0gbz1X9AQobbbb6yw2ylbN9pkFxaK2DVuR9wgZJxRI09QoGFYpEgWihvzXhkenjInEbxnv7ADArWmgaZEY82pjkrS9cDS62yrgIwBL+yd9SjPg1oSCMa04SmNKM5LWhJV3RNN3RLd3SPoWnY/C/cn3dMElaebRkaL5lvbOd9Nok5rDgUTteZK3t2ZVAnVw28SBxG3WXuRxcH0evLJHMpLtR5mv9dXB1010J4QlbSSadqfhTftbxqXN3MFqleTgtWqO0KV+NKYmgeBAA=) format("woff2");font-weight:400;font-style:normal;font-display:block}', re = "hope-player-icon-font";
1659
1692
  function mt() {
1660
- if (typeof document > "u" || document.getElementById(ie)) return;
1661
- const n = document.createElement("style");
1662
- n.id = ie, n.textContent = ut, document.head.appendChild(n);
1693
+ if (typeof document > "u" || document.getElementById(re)) return;
1694
+ const a = document.createElement("style");
1695
+ a.id = re, a.textContent = ut, document.head.appendChild(a);
1663
1696
  }
1664
- const ge = {
1697
+ const fe = {
1665
1698
  play: "Oynat",
1666
1699
  pause: "Duraklat",
1667
1700
  mute: "Sessize al",
@@ -1670,8 +1703,8 @@ const ge = {
1670
1703
  seekBar: "Video konumu",
1671
1704
  settings: "Ayarlar",
1672
1705
  pip: "Resim içinde resim",
1673
- skipBack: (n) => `${n} saniye geri`,
1674
- skipForward: (n) => `${n} saniye ileri`,
1706
+ skipBack: (a) => `${a} saniye geri`,
1707
+ skipForward: (a) => `${a} saniye ileri`,
1675
1708
  secondsShort: "sn",
1676
1709
  audioTrack: "Ses",
1677
1710
  statsTitle: "İstatistikler",
@@ -1734,7 +1767,7 @@ const ge = {
1734
1767
  geoUnknownCountry: "Ülke bilgisi bulunamadı.",
1735
1768
  redirectCancel: "İptal",
1736
1769
  redirectPlayNow: "Şimdi Oynat",
1737
- redirectCountdown: (n) => `Sıradaki video ${n} saniye içinde oynatılacak.`,
1770
+ redirectCountdown: (a) => `Sıradaki video ${a} saniye içinde oynatılacak.`,
1738
1771
  redirectNowPlaying: "Video oynatılıyor...",
1739
1772
  qrResumeTitle: "Devam etmek için kodu telefonunuzla okutun",
1740
1773
  qrResumeDontShowAgain: "Bir daha gösterme",
@@ -1750,7 +1783,7 @@ const ge = {
1750
1783
  playlistTitle: "Oynatma Listesi",
1751
1784
  playlistPrev: "Önceki",
1752
1785
  playlistNext: "Sonraki",
1753
- videoFallbackTitle: (n) => `Video ${n + 1}`,
1786
+ videoFallbackTitle: (a) => `Video ${a + 1}`,
1754
1787
  storyPrev: "Önceki video",
1755
1788
  storyNext: "Sonraki video",
1756
1789
  storyAllVideos: "Tüm videolar",
@@ -1758,7 +1791,7 @@ const ge = {
1758
1791
  liveClock: "Canlı saat",
1759
1792
  live: "CANLI",
1760
1793
  goToLive: "Canlıya git"
1761
- }, gt = {
1794
+ }, bt = {
1762
1795
  play: "Play",
1763
1796
  pause: "Pause",
1764
1797
  mute: "Mute",
@@ -1767,8 +1800,8 @@ const ge = {
1767
1800
  seekBar: "Seek",
1768
1801
  settings: "Settings",
1769
1802
  pip: "Picture-in-picture",
1770
- skipBack: (n) => `Back ${n} seconds`,
1771
- skipForward: (n) => `Forward ${n} seconds`,
1803
+ skipBack: (a) => `Back ${a} seconds`,
1804
+ skipForward: (a) => `Forward ${a} seconds`,
1772
1805
  secondsShort: "s",
1773
1806
  audioTrack: "Audio",
1774
1807
  statsTitle: "Stats",
@@ -1831,7 +1864,7 @@ const ge = {
1831
1864
  geoUnknownCountry: "No country information found.",
1832
1865
  redirectCancel: "Cancel",
1833
1866
  redirectPlayNow: "Play now",
1834
- redirectCountdown: (n) => `Next video will play in ${n} seconds.`,
1867
+ redirectCountdown: (a) => `Next video will play in ${a} seconds.`,
1835
1868
  redirectNowPlaying: "Now playing...",
1836
1869
  qrResumeTitle: "Scan to continue watching on your phone",
1837
1870
  qrResumeDontShowAgain: "Don't show again",
@@ -1847,7 +1880,7 @@ const ge = {
1847
1880
  playlistTitle: "Playlist",
1848
1881
  playlistPrev: "Previous",
1849
1882
  playlistNext: "Next",
1850
- videoFallbackTitle: (n) => `Video ${n + 1}`,
1883
+ videoFallbackTitle: (a) => `Video ${a + 1}`,
1851
1884
  storyPrev: "Previous video",
1852
1885
  storyNext: "Next video",
1853
1886
  storyAllVideos: "All videos",
@@ -1855,17 +1888,17 @@ const ge = {
1855
1888
  liveClock: "Live clock",
1856
1889
  live: "LIVE",
1857
1890
  goToLive: "Go to live"
1858
- }, bt = { tr: ge, en: gt };
1859
- function be(n, t) {
1860
- return { ...bt[n ?? "tr"] ?? ge, ...t };
1891
+ }, gt = { tr: fe, en: bt };
1892
+ function ve(a, t) {
1893
+ return { ...gt[a ?? "tr"] ?? fe, ...t };
1861
1894
  }
1862
- function ft(n, t, e) {
1863
- Object.assign(n, be(t, e));
1895
+ function ft(a, t, e) {
1896
+ Object.assign(a, ve(t, e));
1864
1897
  }
1865
- const D = 8e3;
1866
- function vt(n) {
1898
+ const H = 8e3;
1899
+ function vt(a) {
1867
1900
  var t;
1868
- return (t = n.live) != null && t.scte35 && !n.adTagPreroll && !n.adTagVmap ? !1 : !!(n.adTagPreroll || n.adTagVmap);
1901
+ return (t = a.live) != null && t.scte35 && !a.adTagPreroll && !a.adTagVmap ? !1 : !!(a.adTagPreroll || a.adTagVmap);
1869
1902
  }
1870
1903
  class yt {
1871
1904
  constructor(t) {
@@ -1875,7 +1908,7 @@ class yt {
1875
1908
  s(this, "playIntent", !1);
1876
1909
  /** Kapının kendi pause() çağrısının ürettiği 'pause' olayı yutulsun. */
1877
1910
  s(this, "swallowNextPause", !1);
1878
- s(this, "timeoutMs", D);
1911
+ s(this, "timeoutMs", H);
1879
1912
  s(this, "timer", null);
1880
1913
  /** İlk oynatma isteği (reklam plugin'i bekleyen preroll'u başlatır). */
1881
1914
  s(this, "onPlayIntent", null);
@@ -1901,7 +1934,7 @@ class yt {
1901
1934
  get hasPlayIntent() {
1902
1935
  return this.playIntent;
1903
1936
  }
1904
- arm(t = D) {
1937
+ arm(t = H) {
1905
1938
  this.clearTimer(), this.armed = !0, this.playIntent = !1, this.timeoutMs = t;
1906
1939
  }
1907
1940
  /**
@@ -1938,24 +1971,24 @@ class yt {
1938
1971
  this.timer && clearTimeout(this.timer), this.timer = null;
1939
1972
  }
1940
1973
  }
1941
- const kt = [
1974
+ const xt = [
1942
1975
  "https://imasdk.googleapis.com",
1943
1976
  "https://pubads.g.doubleclick.net",
1944
1977
  "https://securepubads.g.doubleclick.net",
1945
1978
  "https://pagead2.googlesyndication.com"
1946
1979
  ];
1947
- let se = !1;
1948
- function xt() {
1949
- if (!(se || typeof document > "u")) {
1950
- se = !0;
1951
- for (const n of kt) {
1952
- if (document.head.querySelector(`link[rel="preconnect"][href="${n}"]`)) continue;
1980
+ let oe = !1;
1981
+ function kt() {
1982
+ if (!(oe || typeof document > "u")) {
1983
+ oe = !0;
1984
+ for (const a of xt) {
1985
+ if (document.head.querySelector(`link[rel="preconnect"][href="${a}"]`)) continue;
1953
1986
  const t = document.createElement("link");
1954
- t.rel = "preconnect", t.href = n, document.head.appendChild(t);
1987
+ t.rel = "preconnect", t.href = a, document.head.appendChild(t);
1955
1988
  }
1956
1989
  }
1957
1990
  }
1958
- const wt = [0.5, 0.75, 1, 1.25, 1.5, 2], re = 1200, Et = 3e3, oe = 5e3, Ct = 10, ne = 10, Tt = 5, ae = "stream-audio", B = "1.0.13", St = (
1991
+ const wt = [0.5, 0.75, 1, 1.25, 1.5, 2], ne = 1200, Et = 3e3, ae = 5e3, Ct = 10, le = 10, Tt = 5, he = "stream-audio", z = "1.0.14", St = (
1959
1992
  /* html */
1960
1993
  `
1961
1994
  <div class="video-area">
@@ -1966,13 +1999,13 @@ const wt = [0.5, 0.75, 1, 1.25, 1.5, 2], re = 1200, Et = 3e3, oe = 5e3, Ct = 10,
1966
1999
  </div>
1967
2000
  `
1968
2001
  );
1969
- function At(n) {
1970
- if (typeof n == "number") return Number.isFinite(n) && n > 0 ? String(n) : null;
1971
- if (typeof n != "string") return null;
1972
- const t = n.trim().match(/^(\d+(?:\.\d+)?)\s*(?:[:/]\s*(\d+(?:\.\d+)?))?$/);
2002
+ function At(a) {
2003
+ if (typeof a == "number") return Number.isFinite(a) && a > 0 ? String(a) : null;
2004
+ if (typeof a != "string") return null;
2005
+ const t = a.trim().match(/^(\d+(?:\.\d+)?)\s*(?:[:/]\s*(\d+(?:\.\d+)?))?$/);
1973
2006
  return !t || Number(t[1]) <= 0 || t[2] !== void 0 && Number(t[2]) <= 0 ? null : t[2] !== void 0 ? `${t[1]} / ${t[2]}` : t[1];
1974
2007
  }
1975
- class fe extends HTMLElement {
2008
+ class ye extends HTMLElement {
1976
2009
  constructor() {
1977
2010
  super();
1978
2011
  s(this, "root");
@@ -2085,19 +2118,19 @@ class fe extends HTMLElement {
2085
2118
  s(this, "hideTimer", null);
2086
2119
  s(this, "cursorTimer", null);
2087
2120
  /** null = imleç hiç gizlenmez (options.cursorHideDelayMs: false). */
2088
- s(this, "cursorHideDelayMs", oe);
2121
+ s(this, "cursorHideDelayMs", ae);
2089
2122
  /** Fare kontrollerin (buton/seek bar) üzerinde mi — üzerindeyken otomatik gizlenmez; videonun üstünde hareketsizse gizlenir. */
2090
2123
  s(this, "pointerOverControls", !1);
2091
2124
  /** Kalite menüsünde şu an HLS seviyeleri mi var (kaynak değişince temizlemek için). */
2092
2125
  s(this, "hlsQualitiesShown", !1);
2093
2126
  /** Son uygulanan options.showRemainingTime — bkz. applyOptions. */
2094
2127
  s(this, "appliedShowRemaining");
2095
- s(this, "autoHideDelayMs", re);
2128
+ s(this, "autoHideDelayMs", ne);
2096
2129
  s(this, "tapCandidate", !1);
2097
2130
  s(this, "tapStartX", 0);
2098
2131
  s(this, "tapStartY", 0);
2099
2132
  /** Tüm UI'ın paylaştığı tek, mutable sözlük — dil değişince referans değil alanlar güncellenir. */
2100
- s(this, "i18n", be("tr"));
2133
+ s(this, "i18n", ve("tr"));
2101
2134
  /** IMA SDK'nın kendi ad-UI dili (skip butonu/sayaç metni) de aynı dili takip etsin diye — bkz. plugins/ads/AdsController. */
2102
2135
  s(this, "localeCode", "tr");
2103
2136
  s(this, "onMediaError", () => {
@@ -2122,7 +2155,7 @@ class fe extends HTMLElement {
2122
2155
  s(this, "onContextMenu", (e) => {
2123
2156
  const i = this.contextMenuConfig;
2124
2157
  !i || this.lastPointerType !== "mouse" || (e.preventDefault(), this.contextMenu.show(e.clientX, e.clientY, [
2125
- { label: "HopeCorePlayer", meta: `v${B}` },
2158
+ { label: "HopeCorePlayer", meta: `v${z}` },
2126
2159
  ...i.stats ? [{ label: this.i18n.statsTitle, onSelect: () => void this.toggleStats(!0) }] : [],
2127
2160
  // Yalnızca debug açıkken ve kayıtlı bir hata varsa.
2128
2161
  ...this.debugEnabled && this.log.entries.length ? [{ label: this.i18n.debugTitle, meta: String(this.log.entries.length), onSelect: () => void this.showDebugLog() }] : []
@@ -2131,22 +2164,22 @@ class fe extends HTMLElement {
2131
2164
  s(this, "onStreamTextTracks", (e) => {
2132
2165
  const i = this.streamTracks.filter((r) => r.id.startsWith("native:"));
2133
2166
  if (!e.length)
2134
- ce(this.videoEl, "stream"), this.streamCueKeys.clear(), this.streamTracks = i;
2167
+ ue(this.videoEl, "stream"), this.streamCueKeys.clear(), this.streamTracks = i;
2135
2168
  else {
2136
2169
  const r = new Set([...this.optionTracks, ...i].map((o) => o.label));
2137
2170
  this.streamTracks = [
2138
2171
  ...i,
2139
2172
  ...e.map((o) => {
2140
- const a = this.uniqueLabel(this.streamTrackLabel(o.label, o.lang) || o.id, o.kind === "captions" ? "CC" : o.lang || o.kind, r);
2141
- return { id: o.id, label: a, track: pe(this.videoEl, "stream", o.kind, a, o.lang) };
2173
+ const n = this.uniqueLabel(this.streamTrackLabel(o.label, o.lang) || o.id, o.kind === "captions" ? "CC" : o.lang || o.kind, r);
2174
+ return { id: o.id, label: n, track: de(this.videoEl, "stream", o.kind, n, o.lang) };
2142
2175
  })
2143
2176
  ];
2144
2177
  }
2145
2178
  this.rebuildCaptions(this.activeCaptionLabel);
2146
2179
  });
2147
2180
  s(this, "onStreamCues", (e, i) => {
2148
- var a;
2149
- const r = (a = this.streamTracks.find((l) => l.id === e)) == null ? void 0 : a.track;
2181
+ var n;
2182
+ const r = (n = this.streamTracks.find((l) => l.id === e)) == null ? void 0 : n.track;
2150
2183
  if (!r) return;
2151
2184
  let o = this.streamCueKeys.get(r);
2152
2185
  o || this.streamCueKeys.set(r, o = /* @__PURE__ */ new Set());
@@ -2157,31 +2190,31 @@ class fe extends HTMLElement {
2157
2190
  });
2158
2191
  /** Tarayıcının kendi (native HLS) altyazı izleri — bizim havuz izlerimiz ve metadata izleri hariç. */
2159
2192
  s(this, "onNativeTextTracksChanged", () => {
2160
- const e = Array.from(this.videoEl.textTracks).filter((a) => (a.kind === "subtitles" || a.kind === "captions") && !We(a)), i = this.streamTracks.some((a) => a.id.startsWith("native:"));
2193
+ const e = Array.from(this.videoEl.textTracks).filter((n) => (n.kind === "subtitles" || n.kind === "captions") && !We(n)), i = this.streamTracks.some((n) => n.id.startsWith("native:"));
2161
2194
  if (!e.length && !i) return;
2162
- const r = this.streamTracks.filter((a) => !a.id.startsWith("native:")), o = new Set([...this.optionTracks, ...r].map((a) => a.label));
2195
+ const r = this.streamTracks.filter((n) => !n.id.startsWith("native:")), o = new Set([...this.optionTracks, ...r].map((n) => n.label));
2163
2196
  this.streamTracks = [
2164
2197
  ...r,
2165
- ...e.map((a, l) => ({
2198
+ ...e.map((n, l) => ({
2166
2199
  id: `native:${l}`,
2167
- label: this.uniqueLabel(a.label || a.language || `${this.i18n.captions} ${l + 1}`, a.language || String(l + 1), o),
2168
- track: a
2200
+ label: this.uniqueLabel(n.label || n.language || `${this.i18n.captions} ${l + 1}`, n.language || String(l + 1), o),
2201
+ track: n
2169
2202
  }))
2170
2203
  ], this.rebuildCaptions(this.activeCaptionLabel);
2171
2204
  });
2172
2205
  /** Yayında birden fazla ses izi varsa ayarlarda "Ses" alt menüsü (HLS alternatif ses / Safari audioTracks). */
2173
2206
  s(this, "onStreamAudioTracks", (e, i) => {
2174
2207
  this.streamAudio = { tracks: e, active: i };
2175
- const r = this.controlBar.settingsMenu, o = /* @__PURE__ */ new Set(), a = new Map(e.map((l) => [l.index, this.uniqueLabel(this.streamTrackLabel(l.label, l.lang), String(l.index + 1), o)]));
2208
+ const r = this.controlBar.settingsMenu, o = /* @__PURE__ */ new Set(), n = new Map(e.map((l) => [l.index, this.uniqueLabel(this.streamTrackLabel(l.label, l.lang), String(l.index + 1), o)]));
2176
2209
  if (e.length <= 1) {
2177
- r.unregisterSubmenu(ae);
2210
+ r.unregisterSubmenu(he);
2178
2211
  return;
2179
2212
  }
2180
2213
  r.registerSubmenu({
2181
- key: ae,
2214
+ key: he,
2182
2215
  title: this.i18n.audioTrack,
2183
- getValueLabel: () => a.get(i) ?? "",
2184
- getItems: () => e.map((l) => ({ label: a.get(l.index), active: l.index === i, onSelect: () => this.sourceManager.setAudioTrack(l.index) }))
2216
+ getValueLabel: () => n.get(i) ?? "",
2217
+ getItems: () => e.map((l) => ({ label: n.get(l.index), active: l.index === i, onSelect: () => this.sourceManager.setAudioTrack(l.index) }))
2185
2218
  });
2186
2219
  });
2187
2220
  /** Playlist panelinin monte edileceği, .video-area'nın ALTINDAKİ (shadow root içi) kapsayıcı — ilk ihtiyaçta oluşturulur. */
@@ -2198,7 +2231,7 @@ class fe extends HTMLElement {
2198
2231
  [
2199
2232
  { label: this.i18n.autoQuality, onSelect: () => this.sourceManager.setLevel(-1) },
2200
2233
  // Yüksekten düşüğe (hls.js artan sıralıyor) — l.index hls.js'teki gerçek seviye numarası, sıradan bağımsız.
2201
- ...[...e].sort((o, a) => a.height - o.height).map((o) => ({ label: r(o), onSelect: () => this.sourceManager.setLevel(o.index) }))
2234
+ ...[...e].sort((o, n) => n.height - o.height).map((o) => ({ label: r(o), onSelect: () => this.sourceManager.setLevel(o.index) }))
2202
2235
  ],
2203
2236
  i === -1 ? this.i18n.autoQuality : r(e[i])
2204
2237
  );
@@ -2235,11 +2268,11 @@ class fe extends HTMLElement {
2235
2268
  i && !this.isChromeBlocked && this.scheduleAutoHide();
2236
2269
  return;
2237
2270
  }
2238
- const o = i ? "touch" : this.lastPointerType, a = () => this.onBackgroundTap(o, () => {
2271
+ const o = i ? "touch" : this.lastPointerType, n = () => this.onBackgroundTap(o, () => {
2239
2272
  this.videoEl.paused ? this.videoEl.play().catch(() => {
2240
2273
  }) : this.videoEl.pause();
2241
2274
  });
2242
- r && ((d = this.tapGestures) != null && d.handleTap(r.clientX, o === "pen" ? "pen" : o, a)) || a();
2275
+ r && ((d = this.tapGestures) != null && d.handleTap(r.clientX, o === "pen" ? "pen" : o, n)) || n();
2243
2276
  });
2244
2277
  s(this, "onVideoPressCancel", () => {
2245
2278
  this.tapCandidate = !1;
@@ -2261,17 +2294,17 @@ class fe extends HTMLElement {
2261
2294
  });
2262
2295
  mt(), this.root = this.attachShadow({ mode: "open" });
2263
2296
  const e = document.createElement("style");
2264
- e.textContent = ke, this.root.appendChild(e);
2297
+ e.textContent = we, this.root.appendChild(e);
2265
2298
  const i = document.createElement("div");
2266
- i.className = "hp-root", i.innerHTML = St, this.root.appendChild(i), this.videoArea = this.root.querySelector(".video-area"), this.videoEl = this.root.querySelector("video"), this.adLayerEl = this.root.querySelector('[part="ad-layer"]'), this.instanceKey = `hp-${Math.random().toString(36).slice(2, 10)}`, this.prerollGate = new yt(this.videoEl), this.prerollGate.onWaitChange = (o) => this.onPrerollWaitChange(o), this.videoEl.addEventListener("error", this.onMediaError), this.videoEl.addEventListener("hp-internal:subtitle-error", this.onSubtitleError), this.loadingSpinner = new Ve(this.videoEl), this.root.querySelector(".media-layer").appendChild(this.loadingSpinner.el), this.errorScreen = new qe(this.videoEl, this.i18n), this.errorScreen.setOnRetry(() => void this.sourceManager.reload()), this.videoArea.appendChild(this.errorScreen.el), this.centerPlayButton = document.createElement("button"), this.centerPlayButton.type = "button", this.centerPlayButton.setAttribute("part", "center-play-button"), this.centerPlayButton.setAttribute("aria-label", this.i18n.play), this.centerPlayButton.className = "hp-center-play hp:absolute hp:inset-0 hp:flex hp:items-center hp:justify-center hp:bg-transparent hp:border-0 hp:cursor-pointer hp:text-on-surface hp:transition-opacity";
2299
+ i.className = "hp-root", i.innerHTML = St, this.root.appendChild(i), this.videoArea = this.root.querySelector(".video-area"), this.videoEl = this.root.querySelector("video"), this.adLayerEl = this.root.querySelector('[part="ad-layer"]'), this.instanceKey = `hp-${Math.random().toString(36).slice(2, 10)}`, this.prerollGate = new yt(this.videoEl), this.prerollGate.onWaitChange = (o) => this.onPrerollWaitChange(o), this.videoEl.addEventListener("error", this.onMediaError), this.videoEl.addEventListener("hp-internal:subtitle-error", this.onSubtitleError), this.loadingSpinner = new Ve(this.videoEl), this.root.querySelector(".media-layer").appendChild(this.loadingSpinner.el), this.errorScreen = new Ge(this.videoEl, this.i18n), this.errorScreen.setOnRetry(() => void this.sourceManager.reload()), this.videoArea.appendChild(this.errorScreen.el), this.centerPlayButton = document.createElement("button"), this.centerPlayButton.type = "button", this.centerPlayButton.setAttribute("part", "center-play-button"), this.centerPlayButton.setAttribute("aria-label", this.i18n.play), this.centerPlayButton.className = "hp-center-play hp:absolute hp:inset-0 hp:flex hp:items-center hp:justify-center hp:bg-transparent hp:border-0 hp:cursor-pointer hp:text-on-surface hp:transition-opacity";
2267
2300
  const r = document.createElement("span");
2268
2301
  r.className = "hp-chip hp:flex hp:items-center hp:justify-center hp:w-16 hp:h-16", r.style.borderRadius = "9999px", r.appendChild(E("play", "hp:text-2xl")), this.centerPlayButton.appendChild(r), this.centerPlayButton.addEventListener("click", (o) => {
2269
2302
  var c;
2270
- const a = () => {
2303
+ const n = () => {
2271
2304
  this.videoEl.paused && this.videoEl.play();
2272
- }, l = this.lastPointerType === "pen" ? "pen" : this.lastPointerType === "touch" ? "touch" : null, u = o.composedPath().includes(r) ? a : () => this.onBackgroundTap(l ?? "mouse", a);
2305
+ }, l = this.lastPointerType === "pen" ? "pen" : this.lastPointerType === "touch" ? "touch" : null, u = o.composedPath().includes(r) ? n : () => this.onBackgroundTap(l ?? "mouse", n);
2273
2306
  l && ((c = this.tapGestures) != null && c.handleTap(o.clientX, l, u)) || u();
2274
- }), this.videoArea.appendChild(this.centerPlayButton), this.centerPlayObserver = new ResizeObserver(() => requestAnimationFrame(() => this.layoutCenterPlay())), this.centerPlayObserver.observe(this.videoArea), this.chromeEl = document.createElement("div"), this.chromeEl.className = "hp-chrome hp:absolute hp:inset-0 hp:z-20 hp:pointer-events-none", this.videoArea.appendChild(this.chromeEl), this.sourceManager = new we(this.videoEl, {
2307
+ }), this.videoArea.appendChild(this.centerPlayButton), this.centerPlayObserver = new ResizeObserver(() => requestAnimationFrame(() => this.layoutCenterPlay())), this.centerPlayObserver.observe(this.videoArea), this.chromeEl = document.createElement("div"), this.chromeEl.className = "hp-chrome hp:absolute hp:inset-0 hp:z-20 hp:pointer-events-none", this.videoArea.appendChild(this.chromeEl), this.sourceManager = new Ce(this.videoEl, {
2275
2308
  onLevelsChanged: this.onHlsLevelsChanged,
2276
2309
  onAudioTracksChanged: this.onStreamAudioTracks,
2277
2310
  onTextTracksFound: this.onStreamTextTracks,
@@ -2283,7 +2316,7 @@ class fe extends HTMLElement {
2283
2316
  fatal: o.fatal,
2284
2317
  details: { url: o.url, httpStatus: o.httpStatus, reason: o.reason, engine: "hls.js" }
2285
2318
  })
2286
- }), this.errorScreen.setShouldShow(() => !this.sourceManager.isRecovering()), this.controlBar = new Ne(
2319
+ }), this.errorScreen.setShouldShow(() => !this.sourceManager.isRecovering()), this.controlBar = new Ie(
2287
2320
  this.videoEl,
2288
2321
  wt,
2289
2322
  {
@@ -2313,8 +2346,8 @@ class fe extends HTMLElement {
2313
2346
  return ((o = this.adsController) == null ? void 0 : o.getAdVolume()) ?? 1;
2314
2347
  },
2315
2348
  setVolume: (o) => {
2316
- var a;
2317
- return (a = this.adsController) == null ? void 0 : a.setAdVolume(o);
2349
+ var n;
2350
+ return (n = this.adsController) == null ? void 0 : n.setAdVolume(o);
2318
2351
  },
2319
2352
  toggleMute: () => {
2320
2353
  var o;
@@ -2323,7 +2356,7 @@ class fe extends HTMLElement {
2323
2356
  }
2324
2357
  },
2325
2358
  this.i18n
2326
- ), this.chromeEl.appendChild(this.controlBar.el), this.chromeEl.appendChild(this.controlBar.topEl), this.videoArea.appendChild(this.controlBar.volumePanel.unmuteBadge), this.captionRenderer = new P(this.videoEl, this.videoArea, this.controlBar.seekBar.el, this.i18n), this.videoArea.appendChild(this.captionRenderer.layerEl), this.keyboard = new _e(
2359
+ ), this.chromeEl.appendChild(this.controlBar.el), this.chromeEl.appendChild(this.controlBar.topEl), this.videoArea.appendChild(this.controlBar.volumePanel.unmuteBadge), this.captionRenderer = new M(this.videoEl, this.videoArea, this.controlBar.seekBar.el, this.i18n), this.videoArea.appendChild(this.captionRenderer.layerEl), this.keyboard = new _e(
2327
2360
  this,
2328
2361
  this.videoEl,
2329
2362
  () => this.isFullscreenActive() ? this.exitFullscreenCompat() : this.requestFullscreenCompat()
@@ -2343,8 +2376,8 @@ class fe extends HTMLElement {
2343
2376
  }), this.videoEl.addEventListener("mousedown", this.onVideoPressStart), this.videoEl.addEventListener("mouseup", this.onVideoPressEnd), this.videoEl.addEventListener("mouseleave", this.onVideoPressCancel), this.videoEl.addEventListener("touchstart", this.onVideoPressStart, { passive: !0 }), this.videoEl.addEventListener("touchend", this.onVideoPressEnd), this.videoEl.addEventListener("touchcancel", this.onVideoPressCancel), this.dispatchEvent(new CustomEvent("hp:ready"));
2344
2377
  }
2345
2378
  disconnectedCallback() {
2346
- var e, i, r, o, a, l, d, u, c, g, h, p, m, b, v, y, f, k, T, x, S, F, H, _;
2347
- (e = this.centerPlayObserver) == null || e.disconnect(), this.showCursor(), (i = this.miniProgress) == null || i.destroy(), this.miniProgress = null, this.videoEl.removeEventListener("play", this.onPlay), this.videoEl.removeEventListener("pause", this.onPause), this.removeEventListener("pointermove", this.onPointerMove), this.removeEventListener("pointerleave", this.onPointerLeave), this.removeEventListener("pointerdown", this.onPointerDownFocus), this.controlBar.settingsMenu.onOpenChange = null, document.removeEventListener("fullscreenchange", this.onFullscreenChange), document.removeEventListener("webkitfullscreenchange", this.onFullscreenChange), this.videoEl.removeEventListener("webkitbeginfullscreen", this.onFullscreenChange), this.videoEl.removeEventListener("webkitendfullscreen", this.onFullscreenChange), this.removeEventListener("contextmenu", this.onContextMenu), this.removeEventListener("pointerdown", this.onPointerTypeTrack, !0), this.videoEl.textTracks.removeEventListener("addtrack", this.onNativeTextTracksChanged), this.videoEl.textTracks.removeEventListener("removetrack", this.onNativeTextTracksChanged), this.videoEl.removeEventListener("mousedown", this.onVideoPressStart), this.videoEl.removeEventListener("mouseup", this.onVideoPressEnd), this.videoEl.removeEventListener("mouseleave", this.onVideoPressCancel), this.videoEl.removeEventListener("touchstart", this.onVideoPressStart), this.videoEl.removeEventListener("touchend", this.onVideoPressEnd), this.videoEl.removeEventListener("touchcancel", this.onVideoPressCancel), this.controlBar.destroy(), this.captionRenderer.destroy(), this.keyboard.destroy(), this.tooltip.destroy(), this.loadingSpinner.destroy(), this.errorScreen.destroy(), this.seekFeedback.destroy(), this.contextMenu.destroy(), (r = this.statsPanel) == null || r.destroy(), (o = this.debugPanel) == null || o.destroy(), this.videoEl.removeEventListener("error", this.onMediaError), this.videoEl.removeEventListener("hp-internal:subtitle-error", this.onSubtitleError), (a = this.tapGestures) == null || a.destroy(), this.sourceManager.destroy(), (l = this.adsController) == null || l.destroy(), (d = this.gestureControls) == null || d.destroy(), (u = this.loopSection) == null || u.destroy(), (c = this.audioStage) == null || c.destroy(), this.audioStage = null, (g = this.inViewAutoplay) == null || g.destroy(), (h = this.unregisterSticky) == null || h.call(this), (p = this.playlistRunner) == null || p.destroy(), (m = this.hopeStory) == null || m.destroy(), (b = this.markProgress) == null || b.destroy(), (v = this.segments) == null || v.destroy(), (y = this.spriteThumbnails) == null || y.destroy(), (f = this.countdownScreen) == null || f.destroy(), (k = this.geoChecker) == null || k.destroy(), (T = this.redirectScreen) == null || T.destroy(), (x = this.qrResume) == null || x.destroy(), (S = this.pauseAd) == null || S.destroy(), this.pauseAd = null, (F = this.dubbing) == null || F.destroy(), (H = this.liveWallClock) == null || H.destroy(), (_ = this.daiController) == null || _.destroy(), this.prerollGate.release(!1), this.hideTimer && clearTimeout(this.hideTimer), this.bootGraceTimer && clearTimeout(this.bootGraceTimer), this.lastSynced = null;
2379
+ var e, i, r, o, n, l, d, u, c, b, h, p, m, g, v, y, f, x, S, k, A, _, V, q;
2380
+ (e = this.centerPlayObserver) == null || e.disconnect(), this.showCursor(), (i = this.miniProgress) == null || i.destroy(), this.miniProgress = null, this.videoEl.removeEventListener("play", this.onPlay), this.videoEl.removeEventListener("pause", this.onPause), this.removeEventListener("pointermove", this.onPointerMove), this.removeEventListener("pointerleave", this.onPointerLeave), this.removeEventListener("pointerdown", this.onPointerDownFocus), this.controlBar.settingsMenu.onOpenChange = null, document.removeEventListener("fullscreenchange", this.onFullscreenChange), document.removeEventListener("webkitfullscreenchange", this.onFullscreenChange), this.videoEl.removeEventListener("webkitbeginfullscreen", this.onFullscreenChange), this.videoEl.removeEventListener("webkitendfullscreen", this.onFullscreenChange), this.removeEventListener("contextmenu", this.onContextMenu), this.removeEventListener("pointerdown", this.onPointerTypeTrack, !0), this.videoEl.textTracks.removeEventListener("addtrack", this.onNativeTextTracksChanged), this.videoEl.textTracks.removeEventListener("removetrack", this.onNativeTextTracksChanged), this.videoEl.removeEventListener("mousedown", this.onVideoPressStart), this.videoEl.removeEventListener("mouseup", this.onVideoPressEnd), this.videoEl.removeEventListener("mouseleave", this.onVideoPressCancel), this.videoEl.removeEventListener("touchstart", this.onVideoPressStart), this.videoEl.removeEventListener("touchend", this.onVideoPressEnd), this.videoEl.removeEventListener("touchcancel", this.onVideoPressCancel), this.controlBar.destroy(), this.captionRenderer.destroy(), this.keyboard.destroy(), this.tooltip.destroy(), this.loadingSpinner.destroy(), this.errorScreen.destroy(), this.seekFeedback.destroy(), this.contextMenu.destroy(), (r = this.statsPanel) == null || r.destroy(), (o = this.debugPanel) == null || o.destroy(), this.videoEl.removeEventListener("error", this.onMediaError), this.videoEl.removeEventListener("hp-internal:subtitle-error", this.onSubtitleError), (n = this.tapGestures) == null || n.destroy(), this.sourceManager.destroy(), (l = this.adsController) == null || l.destroy(), (d = this.gestureControls) == null || d.destroy(), (u = this.loopSection) == null || u.destroy(), (c = this.audioStage) == null || c.destroy(), this.audioStage = null, (b = this.inViewAutoplay) == null || b.destroy(), (h = this.unregisterSticky) == null || h.call(this), (p = this.playlistRunner) == null || p.destroy(), (m = this.hopeStory) == null || m.destroy(), (g = this.markProgress) == null || g.destroy(), (v = this.segments) == null || v.destroy(), (y = this.spriteThumbnails) == null || y.destroy(), (f = this.countdownScreen) == null || f.destroy(), (x = this.geoChecker) == null || x.destroy(), (S = this.redirectScreen) == null || S.destroy(), (k = this.qrResume) == null || k.destroy(), (A = this.pauseAd) == null || A.destroy(), this.pauseAd = null, (_ = this.dubbing) == null || _.destroy(), (V = this.liveWallClock) == null || V.destroy(), (q = this.daiController) == null || q.destroy(), this.prerollGate.release(!1), this.hideTimer && clearTimeout(this.hideTimer), this.bootGraceTimer && clearTimeout(this.bootGraceTimer), this.lastSynced = null;
2348
2381
  }
2349
2382
  /** Reklam/consent-farkında plugin'lerin (gesture/sticky/in-view-autoplay) ortak sorgusu. */
2350
2383
  isAdPlaying() {
@@ -2377,7 +2410,7 @@ class fe extends HTMLElement {
2377
2410
  async showDebugLog() {
2378
2411
  if (!this.debugPanel) {
2379
2412
  const { installDebugPanel: e } = await import("./index-DCXX1ZJG.js");
2380
- this.debugPanel ?? (this.debugPanel = e({ containerEl: this.videoArea, i18n: this.i18n, log: this.log, version: B }));
2413
+ this.debugPanel ?? (this.debugPanel = e({ containerEl: this.videoArea, i18n: this.i18n, log: this.log, version: z }));
2381
2414
  }
2382
2415
  this.debugPanel.show();
2383
2416
  }
@@ -2390,7 +2423,7 @@ class fe extends HTMLElement {
2390
2423
  videoEl: this.videoEl,
2391
2424
  containerEl: this.videoArea,
2392
2425
  i18n: this.i18n,
2393
- version: B,
2426
+ version: z,
2394
2427
  getEngine: () => this.sourceManager.engine,
2395
2428
  getHls: () => this.sourceManager.hlsInstance
2396
2429
  }));
@@ -2448,23 +2481,23 @@ class fe extends HTMLElement {
2448
2481
  })), this.pluginApplyRun;
2449
2482
  }
2450
2483
  async applyOptions(e) {
2451
- var a, l, d, u, c, g, h, p, m, b, v, y, f, k, T, x, S;
2452
- e.poster && (this.videoEl.poster = e.poster), this.videoEl.autoplay = !!e.autoplay, this.videoEl.muted = !!e.muted, this.videoEl.loop = !!e.loop, this.videoEl.preload = e.preload ?? "metadata", this.videoEl.playsInline = !0, this.videoEl.setAttribute("webkit-playsinline", ""), this.autoHideDelayMs = e.autoHideDelayMs ?? re, this.tapToPlay = e.tapToPlay ?? "auto", this.cursorHideDelayMs = e.cursorHideDelayMs === !1 ? null : e.cursorHideDelayMs ?? oe, this.cursorHideDelayMs === null && this.showCursor(), e.miniProgress && !this.miniProgress ? (this.miniProgress = new ot(this.videoEl), this.videoArea.appendChild(this.miniProgress.el), this.updateMiniProgress()) : !e.miniProgress && this.miniProgress && (this.miniProgress.destroy(), this.miniProgress = null), this.debugEnabled = !!e.debug, this.debugEnabled || (a = this.debugPanel) == null || a.hide(), this.contextMenuConfig = e.contextMenu === !1 ? null : { stats: typeof e.contextMenu == "object" && e.contextMenu.stats === !0 }, this.contextMenuConfig || this.contextMenu.close();
2484
+ var n, l, d, u, c, b, h, p, m, g, v, y, f, x, S, k, A;
2485
+ e.poster && (this.videoEl.poster = e.poster), this.videoEl.autoplay = !!e.autoplay, this.videoEl.muted = !!e.muted, this.videoEl.loop = !!e.loop, this.videoEl.preload = e.preload ?? "metadata", this.videoEl.playsInline = !0, this.videoEl.setAttribute("webkit-playsinline", ""), this.autoHideDelayMs = e.autoHideDelayMs ?? ne, this.tapToPlay = e.tapToPlay ?? "auto", this.cursorHideDelayMs = e.cursorHideDelayMs === !1 ? null : e.cursorHideDelayMs ?? ae, this.cursorHideDelayMs === null && this.showCursor(), e.miniProgress && !this.miniProgress ? (this.miniProgress = new ot(this.videoEl), this.videoArea.appendChild(this.miniProgress.el), this.updateMiniProgress()) : !e.miniProgress && this.miniProgress && (this.miniProgress.destroy(), this.miniProgress = null), this.debugEnabled = !!e.debug, this.debugEnabled || (n = this.debugPanel) == null || n.hide(), this.contextMenuConfig = e.contextMenu === !1 ? null : { stats: typeof e.contextMenu == "object" && e.contextMenu.stats === !0 }, this.contextMenuConfig || this.contextMenu.close();
2453
2486
  const i = e.keyboardSeekStep && e.keyboardSeekStep > 0 ? e.keyboardSeekStep : Tt;
2454
2487
  this.keyboard.seekStep = i, this.controlBar.seekBar.keyboardStep = i;
2455
2488
  const r = e.skipButtons === !0 ? {} : e.skipButtons || null;
2456
2489
  this.controlBar.setSkipButtons(
2457
- r && r.back !== !1 ? r.back ?? ne : null,
2458
- r && r.forward !== !1 ? r.forward ?? ne : null
2490
+ r && r.back !== !1 ? r.back ?? le : null,
2491
+ r && r.forward !== !1 ? r.forward ?? le : null
2459
2492
  ), e.showRemainingTime !== void 0 && e.showRemainingTime !== this.appliedShowRemaining && (this.appliedShowRemaining = e.showRemainingTime, this.controlBar.setShowRemaining(e.showRemainingTime));
2460
2493
  const o = At(e.aspectRatio);
2461
- o ? this.style.setProperty("--hp-aspect-ratio", o) : this.style.removeProperty("--hp-aspect-ratio"), e.theme ? this.setAttribute("data-theme", e.theme) : this.removeAttribute("data-theme"), this.localeCode = e.locale ?? "tr", ft(this.i18n, e.locale, e.labels), this.centerPlayButton.setAttribute("aria-label", this.i18n.play), this.controlBar.refreshLabels(), this.captionRenderer.refreshLabels(this.i18n), this.captionTrackActive && this.controlBar.settingsMenu.setCaptionAppearance(this.buildCaptionAppearance()), this.errorScreen.refreshLabels(), (l = this.playlistRunner) == null || l.refreshLabels(), (d = this.hopeStory) == null || d.refreshLabels(), (u = this.countdownScreen) == null || u.refreshLabels(), (c = this.geoChecker) == null || c.refreshLabels(), (g = this.redirectScreen) == null || g.refreshLabels(), (h = this.qrResume) == null || h.refreshLabels(), (p = this.pauseAd) == null || p.refreshLabels(), (m = this.dubbing) == null || m.refreshLabels(), this.onStreamAudioTracks(this.streamAudio.tracks, this.streamAudio.active), (b = this.statsPanel) == null || b.refreshLabels(), (v = this.debugPanel) == null || v.refreshLabels(), (y = this.liveWallClock) == null || y.refreshLabels(), (f = this.loopSection) == null || f.refreshLabels(), (k = this.audioStage) == null || k.refreshLabels(), (T = this.markProgress) == null || T.refreshLabels(), (S = (x = this.unregisterSticky) == null ? void 0 : x.refreshLabels) == null || S.call(x), this.bootResolved && await this.queuePluginApply(e);
2494
+ o ? this.style.setProperty("--hp-aspect-ratio", o) : this.style.removeProperty("--hp-aspect-ratio"), e.theme ? this.setAttribute("data-theme", e.theme) : this.removeAttribute("data-theme"), this.localeCode = e.locale ?? "tr", ft(this.i18n, e.locale, e.labels), this.centerPlayButton.setAttribute("aria-label", this.i18n.play), this.controlBar.refreshLabels(), this.captionRenderer.refreshLabels(this.i18n), this.captionTrackActive && this.controlBar.settingsMenu.setCaptionAppearance(this.buildCaptionAppearance()), this.errorScreen.refreshLabels(), (l = this.playlistRunner) == null || l.refreshLabels(), (d = this.hopeStory) == null || d.refreshLabels(), (u = this.countdownScreen) == null || u.refreshLabels(), (c = this.geoChecker) == null || c.refreshLabels(), (b = this.redirectScreen) == null || b.refreshLabels(), (h = this.qrResume) == null || h.refreshLabels(), (p = this.pauseAd) == null || p.refreshLabels(), (m = this.dubbing) == null || m.refreshLabels(), this.onStreamAudioTracks(this.streamAudio.tracks, this.streamAudio.active), (g = this.statsPanel) == null || g.refreshLabels(), (v = this.debugPanel) == null || v.refreshLabels(), (y = this.liveWallClock) == null || y.refreshLabels(), (f = this.loopSection) == null || f.refreshLabels(), (x = this.audioStage) == null || x.refreshLabels(), (S = this.markProgress) == null || S.refreshLabels(), (A = (k = this.unregisterSticky) == null ? void 0 : k.refreshLabels) == null || A.call(k), this.bootResolved && await this.queuePluginApply(e);
2462
2495
  }
2463
2496
  /** applyOptions'ın asenkron kısmı — yalnızca queuePluginApply üzerinden, sırayla çalışır. */
2464
2497
  async applyPluginsAndPlayback(e) {
2465
2498
  if (e.ads && !this.adsController) {
2466
2499
  const r = e.ads === !0 ? {} : e.ads;
2467
- vt(r) && !this.prerollGate.isArmed && this.prerollGate.arm(r.prerollTimeoutMs ?? D), xt(), e.countdownScreen || this.installAdsOnce(e);
2500
+ vt(r) && !this.prerollGate.isArmed && this.prerollGate.arm(r.prerollTimeoutMs ?? H), kt(), e.countdownScreen || this.installAdsOnce(e);
2468
2501
  }
2469
2502
  await this.applyAudioMode(e);
2470
2503
  const i = () => ({
@@ -2488,7 +2521,7 @@ class fe extends HTMLElement {
2488
2521
  }))) : await this.initPlayback(e);
2489
2522
  }
2490
2523
  async initPlayback(e) {
2491
- var o, a, l, d, u, c, g;
2524
+ var o, n, l, d, u, c, b;
2492
2525
  this.sourceManager.configure(e.hls), this.errorScreen.dismiss();
2493
2526
  const i = (o = e.sources) != null && o.length ? e.sources : e.src ? [{ src: e.src, label: this.i18n.autoQuality }] : [], r = i.find((h) => h.selected) ?? i[0];
2494
2527
  if (r && !this.sourceManager.isLoaded(r.src, r.type) && (i.length <= 1 && (this.controlBar.setQualities([], ""), this.hlsQualitiesShown = !1), await this.sourceManager.load(r.src, r.type), e.autoplay && this.videoEl.play().catch(() => {
@@ -2497,7 +2530,7 @@ class fe extends HTMLElement {
2497
2530
  label: h.label,
2498
2531
  onSelect: () => void this.switchQualitySource(h)
2499
2532
  })),
2500
- ((a = i.find((h) => h.selected)) == null ? void 0 : a.label) ?? i[0].label
2533
+ ((n = i.find((h) => h.selected)) == null ? void 0 : n.label) ?? i[0].label
2501
2534
  ), await this.installAdsOnce(e), e.gesture && !this.gestureControls) {
2502
2535
  const h = e.gesture === !0 ? {} : e.gesture, { installGesture: p } = await import("./index-Ca8hocby.js");
2503
2536
  this.gestureControls = p(
@@ -2512,7 +2545,7 @@ class fe extends HTMLElement {
2512
2545
  videoEl: this.videoEl,
2513
2546
  seekBarEl: this.controlBar.seekBar.el,
2514
2547
  markers: this.controlBar.seekBar,
2515
- addControlButton: (m, b, v) => this.controlBar.addButton(m, b, v),
2548
+ addControlButton: (m, g, v) => this.controlBar.addButton(m, g, v),
2516
2549
  i18n: this.i18n
2517
2550
  },
2518
2551
  h
@@ -2541,7 +2574,7 @@ class fe extends HTMLElement {
2541
2574
  );
2542
2575
  }
2543
2576
  if (e.playlist && !this.playlistRunner) {
2544
- const { installPlaylist: h } = await import("./index-CP1Y6U0c.js");
2577
+ const { installPlaylist: h } = await import("./index-DtqNHU7Y.js");
2545
2578
  this.playlistRunner = h(
2546
2579
  {
2547
2580
  videoEl: this.videoEl,
@@ -2561,7 +2594,7 @@ class fe extends HTMLElement {
2561
2594
  );
2562
2595
  }
2563
2596
  if (e.story && !this.hopeStory) {
2564
- const { installStory: h } = await import("./index-BO0tjMR6.js");
2597
+ const { installStory: h } = await import("./index-Dy0Th0is.js");
2565
2598
  this.hopeStory = h(
2566
2599
  {
2567
2600
  videoEl: this.videoEl,
@@ -2582,7 +2615,7 @@ class fe extends HTMLElement {
2582
2615
  );
2583
2616
  }
2584
2617
  if (e.markers && !this.markProgress) {
2585
- const { installMarkers: h } = await import("./index-048h1-5X.js");
2618
+ const { installMarkers: h } = await import("./index-DcVUXkXo.js");
2586
2619
  this.markProgress = h(
2587
2620
  {
2588
2621
  videoEl: this.videoEl,
@@ -2594,11 +2627,11 @@ class fe extends HTMLElement {
2594
2627
  );
2595
2628
  }
2596
2629
  if ((l = e.segments) != null && l.length && !this.segments) {
2597
- const { installSegments: h } = await import("./index-9NzklChR.js");
2630
+ const { installSegments: h } = await import("./index-C2c71cGP.js");
2598
2631
  this.segments = h({ videoEl: this.videoEl, seekBar: this.controlBar.seekBar }, e.segments);
2599
2632
  }
2600
2633
  if (e.spriteThumbnails && !this.spriteThumbnails) {
2601
- const { installSpriteThumbnails: h } = await import("./index-n-1IIClr.js");
2634
+ const { installSpriteThumbnails: h } = await import("./index-BTBAxNjr.js");
2602
2635
  this.spriteThumbnails = h(
2603
2636
  {
2604
2637
  videoEl: this.videoEl,
@@ -2633,7 +2666,7 @@ class fe extends HTMLElement {
2633
2666
  {
2634
2667
  areaEl: this.videoArea,
2635
2668
  seekBy: (p) => {
2636
- this.controlBar.seekBar.el.style.pointerEvents !== "none" && (le(this.videoEl, p), this.seekFeedback.show(p));
2669
+ this.controlBar.seekBar.el.style.pointerEvents !== "none" && (pe(this.videoEl, p), this.seekFeedback.show(p));
2637
2670
  },
2638
2671
  togglePlay: () => this.videoEl.paused ? void this.videoEl.play().catch(() => {
2639
2672
  }) : this.videoEl.pause(),
@@ -2678,10 +2711,10 @@ class fe extends HTMLElement {
2678
2711
  addControlElement: (m) => this.controlBar.addElement(m),
2679
2712
  i18n: this.i18n,
2680
2713
  getPlayingDate: () => {
2681
- var y, f, k;
2714
+ var y, f, x;
2682
2715
  const m = (y = this.sourceManager.hlsInstance) == null ? void 0 : y.playingDate;
2683
2716
  if (m) return m;
2684
- const b = (k = (f = this.videoEl).getStartDate) == null ? void 0 : k.call(f), v = (b == null ? void 0 : b.getTime()) ?? NaN;
2717
+ const g = (x = (f = this.videoEl).getStartDate) == null ? void 0 : x.call(f), v = (g == null ? void 0 : g.getTime()) ?? NaN;
2685
2718
  return Number.isFinite(v) && v > 0 ? new Date(v + this.videoEl.currentTime * 1e3) : null;
2686
2719
  }
2687
2720
  },
@@ -2702,7 +2735,7 @@ class fe extends HTMLElement {
2702
2735
  e.dai
2703
2736
  );
2704
2737
  }
2705
- (u = e.subtitles) != null && u.length ? this.optionTracks = Xe(this.videoEl, e.subtitles) : (de(this.videoEl), this.optionTracks = []), this.rebuildCaptions(((g = (c = e.subtitles) == null ? void 0 : c.find((h) => h.default)) == null ? void 0 : g.label) ?? null);
2738
+ (u = e.subtitles) != null && u.length ? this.optionTracks = Xe(this.videoEl, e.subtitles) : (me(this.videoEl), this.optionTracks = []), this.rebuildCaptions(((b = (c = e.subtitles) == null ? void 0 : c.find((h) => h.default)) == null ? void 0 : b.label) ?? null);
2706
2739
  }
2707
2740
  /** Altyazı menüsünü `options.subtitles` + yayın izlerinden kurar; `activeLabel` varsa onu seçer. */
2708
2741
  rebuildCaptions(e) {
@@ -2712,8 +2745,8 @@ class fe extends HTMLElement {
2712
2745
  }
2713
2746
  const i = (o) => {
2714
2747
  var l;
2715
- const a = $e(this.subtitleTracks, o);
2716
- this.activeCaptionLabel = a ? o : null, this.sourceManager.selectTextTrack(((l = this.streamTracks.find((d) => d.label === o)) == null ? void 0 : l.id) ?? null), this.captionRenderer.setActiveTrack(a), this.captionTrackActive = a !== null, this.controlBar.settingsMenu.setActiveCaption(a ? o : this.i18n.captionsOff), this.controlBar.settingsMenu.setCaptionAppearance(a !== null ? this.buildCaptionAppearance() : null);
2748
+ const n = $e(this.subtitleTracks, o);
2749
+ this.activeCaptionLabel = n ? o : null, this.sourceManager.selectTextTrack(((l = this.streamTracks.find((d) => d.label === o)) == null ? void 0 : l.id) ?? null), this.captionRenderer.setActiveTrack(n), this.captionTrackActive = n !== null, this.controlBar.settingsMenu.setActiveCaption(n ? o : this.i18n.captionsOff), this.controlBar.settingsMenu.setCaptionAppearance(n !== null ? this.buildCaptionAppearance() : null);
2717
2750
  };
2718
2751
  this.selectCaption = i;
2719
2752
  const r = e && this.subtitleTracks.some((o) => o.label === e) ? e : null;
@@ -2745,11 +2778,11 @@ class fe extends HTMLElement {
2745
2778
  }
2746
2779
  /** Ayarlar menüsünün "Altyazı" alt menüsüne eklenen Boyut/Renk/Konum satırları — her zaman GÜNCEL `this.i18n`'i okur (dil sonradan değişse bile). */
2747
2780
  buildCaptionAppearance() {
2748
- const e = ["small", "normal", "large"], i = (r, o, a, l) => r.map((d, u) => ({
2781
+ const e = ["small", "normal", "large"], i = (r, o, n, l) => r.map((d, u) => ({
2749
2782
  value: d,
2750
2783
  active: o() === d,
2751
2784
  ariaLabel: `${l} ${u + 1}`,
2752
- onSelect: () => a(d)
2785
+ onSelect: () => n(d)
2753
2786
  }));
2754
2787
  return {
2755
2788
  sizeLabel: this.i18n.captionSize,
@@ -2760,14 +2793,14 @@ class fe extends HTMLElement {
2760
2793
  })),
2761
2794
  bgColorLabel: this.i18n.captionBgColor,
2762
2795
  getBgColorOptions: () => i(
2763
- P.BG_COLOR_PRESETS,
2796
+ M.BG_COLOR_PRESETS,
2764
2797
  () => this.captionRenderer.getBgColor(),
2765
2798
  (r) => this.captionRenderer.setBgColor(r),
2766
2799
  this.i18n.captionBgColor
2767
2800
  ),
2768
2801
  textColorLabel: this.i18n.captionTextColor,
2769
2802
  getTextColorOptions: () => i(
2770
- P.TEXT_COLOR_PRESETS,
2803
+ M.TEXT_COLOR_PRESETS,
2771
2804
  () => this.captionRenderer.getTextColor(),
2772
2805
  (r) => this.captionRenderer.setTextColor(r),
2773
2806
  this.i18n.captionTextColor
@@ -2843,16 +2876,16 @@ class fe extends HTMLElement {
2843
2876
  e.removeAttribute("data-center-play-shifted"), e.style.removeProperty("--hp-center-play-size"), e.style.removeProperty("--hp-center-play-shift"), e.style.removeProperty("--hp-center-play-shift-x");
2844
2877
  };
2845
2878
  if (!i.height || !r.height || !e.hasAttribute("data-compact")) return o();
2846
- const a = 64, l = r.top - i.top - 8;
2847
- if (i.height / 2 + a / 2 <= l) return o();
2879
+ const n = 64, l = r.top - i.top - 8;
2880
+ if (i.height / 2 + n / 2 <= l) return o();
2848
2881
  const d = Math.max(40, Math.min(56, l - 12)), u = Math.max(d / 2 + 6, l - d / 2), c = Math.round(u - i.height / 2);
2849
- let g = 0;
2882
+ let b = 0;
2850
2883
  const h = this.controlBar.topEl.getBoundingClientRect();
2851
2884
  if (h.width > 0 && u - d / 2 < h.bottom - i.top) {
2852
2885
  const p = h.left - i.left - 8 - d / 2;
2853
- i.width / 2 > p && (g = Math.round(Math.max(d / 2 + 8, p) - i.width / 2));
2886
+ i.width / 2 > p && (b = Math.round(Math.max(d / 2 + 8, p) - i.width / 2));
2854
2887
  }
2855
- e.setAttribute("data-center-play-shifted", ""), e.style.setProperty("--hp-center-play-shift-x", `${g}px`), e.style.setProperty("--hp-center-play-size", `${d}px`), e.style.setProperty("--hp-center-play-shift", `${c}px`);
2888
+ e.setAttribute("data-center-play-shifted", ""), e.style.setProperty("--hp-center-play-shift-x", `${b}px`), e.style.setProperty("--hp-center-play-size", `${d}px`), e.style.setProperty("--hp-center-play-shift", `${c}px`);
2856
2889
  }
2857
2890
  /** Dar player'da dokunmatikte oynat/duraklat yerine kontrolleri göster/gizle (options.tapToPlay). */
2858
2891
  tapTogglesPlay(e) {
@@ -2914,14 +2947,14 @@ class fe extends HTMLElement {
2914
2947
  async applyAudioMode(e) {
2915
2948
  var r;
2916
2949
  const i = e.audio ? e.audio === !0 ? {} : e.audio : null;
2917
- if (this.audioMode = !!i, this.toggleAttribute("data-audio", !!i), this.controlBar.setAudioMode(!!i), !i) {
2918
- (r = this.audioStage) == null || r.destroy(), this.audioStage = null;
2950
+ if (this.audioMode = !!i, this.toggleAttribute("data-audio", !!i), this.controlBar.setAudioMode(!!i), this.toggleAttribute("data-audio-compact", (i == null ? void 0 : i.layout) === "compact"), !i) {
2951
+ this.controlBar.setAudioBar(null), (r = this.audioStage) == null || r.destroy(), this.audioStage = null;
2919
2952
  return;
2920
2953
  }
2921
2954
  if (this.hideTimer && clearTimeout(this.hideTimer), this.hideTimer = null, this.isChromeBlocked || this.showChrome(), this.audioStage)
2922
2955
  this.audioStage.update(i);
2923
2956
  else {
2924
- const { installAudioStage: o } = await import("./index-BgJJr55r.js");
2957
+ const { installAudioStage: o } = await import("./index-BeJNpAyx.js");
2925
2958
  if (!this.audioMode) return;
2926
2959
  this.audioStage ?? (this.audioStage = o(
2927
2960
  {
@@ -2932,7 +2965,8 @@ class fe extends HTMLElement {
2932
2965
  }) : this.videoEl.pause(),
2933
2966
  play: () => void this.play().catch(() => {
2934
2967
  }),
2935
- i18n: this.i18n
2968
+ i18n: this.i18n,
2969
+ setBarMeta: (n) => this.controlBar.setAudioBar(n)
2936
2970
  },
2937
2971
  i
2938
2972
  ));
@@ -2962,8 +2996,8 @@ class fe extends HTMLElement {
2962
2996
  onAdProgress: (o) => this.controlBar.setAdInfo(o),
2963
2997
  // Sürekli oynatma (vconp): playlist / story bir sonraki içeriği kendiliğinden başlatıyorsa.
2964
2998
  isContinuousPlayback: () => {
2965
- const o = this._options, a = (l) => !!l && l.autoplayNext !== !1;
2966
- return a(o.playlist) || a(o.story);
2999
+ const o = this._options, n = (l) => !!l && l.autoplayNext !== !1;
3000
+ return n(o.playlist) || n(o.story);
2967
3001
  },
2968
3002
  audioPoster: (() => {
2969
3003
  if (!e.audio) return;
@@ -3001,12 +3035,12 @@ class fe extends HTMLElement {
3001
3035
  }
3002
3036
  }
3003
3037
  /** Paket sürümü (ör. "1.0.4"). */
3004
- s(fe, "version", B);
3005
- typeof window < "u" && !customElements.get("hope-player") && customElements.define("hope-player", fe);
3038
+ s(ye, "version", z);
3039
+ typeof window < "u" && !customElements.get("hope-player") && customElements.define("hope-player", ye);
3006
3040
  export {
3007
- B as H,
3008
- fe as a,
3041
+ z as H,
3042
+ ye as a,
3009
3043
  E as c,
3010
3044
  w as f
3011
3045
  };
3012
- //# sourceMappingURL=index-01P9jpUY.js.map
3046
+ //# sourceMappingURL=index-Dz0E1YPE.js.map