.kbp-player{box-sizing:border-box;max-width:var(--kbp-max-width,none);width:var(--kbp-width,100%);margin-inline:auto;background:var(--kbp-bg,transparent);padding:var(--kbp-padding,0);border:var(--kbp-border-width,0) var(--kbp-border-style,solid) var(--kbp-border-color,#000);border-radius:var(--kbp-radius,0);box-shadow:var(--kbp-shadow,none);overflow:hidden;position:relative}.kbp-player .kbp-bg-image{position:absolute;inset:0;background-image:var(--kbp-bg-image,none);background-position:var(--kbp-bg-position,center center);background-size:var(--kbp-bg-size,100%);background-repeat:no-repeat;opacity:calc(var(--kbp-bg-opacity,100)/100);z-index:0}.kbp-player .video-js{width:100%;height:auto;display:block}.kbp-player .kbp-media-element video,.kbp-player .kbp-media-element audio{width:100%;height:auto;display:block}.kbp-type-video.kbp-fit-cover .video-js video{object-fit:cover}.kbp-type-video.kbp-fit-contain .video-js video{object-fit:contain}.kbp-type-video.kbp-fit-fill .video-js video{object-fit:fill}.kbp-youtube-wrap{position:relative;width:100%;padding-top:56.25%;background:#000}.kbp-youtube-wrap.kbp-aspect-1-1{padding-top:100%}.kbp-youtube-wrap.kbp-aspect-4-3{padding-top:75%}.kbp-youtube-wrap.kbp-aspect-9-16{padding-top:177.77%}.kbp-youtube-wrap.kbp-aspect-21-9{padding-top:42.85%}.kbp-youtube-player{position:absolute;inset:0}
.kbp-body{position:relative;z-index:1;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:16px;box-sizing:border-box;min-width:0}
.kbp-body>*{box-sizing:border-box;min-width:0}
.kbp-artwork{display:flex;overflow:hidden}
.kbp-artwork img{width:100%;max-width:100%;height:var(--kbp-artwork-height,auto);object-fit:var(--kbp-artwork-fit,contain);display:block}
.kbp-layout-square .kbp-artwork img{aspect-ratio:1/1}
.kbp-info{flex-direction:column;color:var(--kbp-text,#fff);overflow-wrap:anywhere}
.kbp-transport{align-items:center;gap:.5rem;flex-wrap:wrap;color:var(--kbp-text,#fff)}
.kbp-transport input[type=range]{flex:1 1 80px;min-width:60px}
.kbp-transport .kbp-time-current,.kbp-transport .kbp-time-duration{font-size:inherit;min-width:2.5em}
.kbp-volume,.kbp-transport{color:var(--kbp-text,#fff)}
.kbp-volume-slider,.kbp-transport input[type=range]{accent-color:var(--kbp-accent,#2271b1)}
.kbp-body>*{box-sizing:border-box}
.kbp-controls-main{align-items:center;gap:.5rem;flex-wrap:wrap}
.kbp-volume{align-items:center;gap:.5rem}
.kbp-volume-slider{flex:1 1 60px;min-width:40px;max-width:100%}
.kbp-title{font-weight:600;font-size:var(--kbp-title-font-size,1.1rem)}
.kbp-subtitle{opacity:.85;font-size:var(--kbp-artist-font-size,.9rem)}
.kbp-meta{opacity:.85;font-size:var(--kbp-album-font-size,.9rem)}
.kbp-desc{opacity:.85;font-size:var(--kbp-desc-font-size,.9rem)}
.kbp-btn{background:var(--kbp-accent,#2271b1);color:var(--kbp-icon,#fff);border:0;border-radius:4px;width:42px;height:42px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem}
.kbp-btn:hover{filter:brightness(1.1)}
.kbp-now-playing{font-size:.85rem;opacity:.9;min-height:1.2em;font-style:italic}
.kbp-stream-audio{display:none}
.kbp-poster-fallback{background:linear-gradient(135deg,#222 0%,#444 100%);display:flex;align-items:center;justify-content:center}
.kbp-error{padding:1rem;background:#2a0a0a;color:#fff;border-left:4px solid #c00}
.kbp-live-wrap{align-items:center;gap:6px;min-height:calc(var(--kbp-live-size,12px) + 10px)}
.kbp-live{display:none;background:var(--kbp-live-bg,#b32d2e);color:var(--kbp-live-color,#fff);font-size:var(--kbp-live-size,12px);padding:var(--kbp-live-padding,3px 8px);border-radius:var(--kbp-live-radius,3px);line-height:1;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.kbp-live.is-active{display:inline-block}
.kbp-status{display:none;font-size:var(--kbp-live-size,12px);padding:var(--kbp-live-padding,3px 8px);border-radius:var(--kbp-live-radius,3px);line-height:1;font-weight:600}
.kbp-status.is-active{display:inline-block}
.kbp-status.is-connecting{background:var(--kbp-connecting-bg,#fcf9e8);color:var(--kbp-connecting-color,#7a5b00)}.kbp-status.is-offline,.kbp-status.is-error{background:var(--kbp-offline-bg,#f6f7f7);color:var(--kbp-offline-color,#50575e)}
