.wrbr-player{--wrbr-ink:#142032;--wrbr-muted:#607086;--wrbr-blue:var(--wrbr-c-navy,#00209f);--wrbr-red:var(--wrbr-c-red,#d21034);--wrbr-edge:#dbe3ed;box-sizing:border-box;max-width:990px;margin:24px auto;border:1px solid var(--wrbr-edge);border-radius:20px;overflow:hidden;color:var(--wrbr-ink);background:#fff;box-shadow:0 12px 45px rgba(22,43,71,.07);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.wrbr-player *{box-sizing:border-box}
.wrbr-header{display:flex;align-items:center;gap:22px;padding:27px 31px;color:#fff;background:linear-gradient(118deg,var(--wrbr-c-navy2,#00154b) 0%,var(--wrbr-c-navy,#00209f) 64%,var(--wrbr-c-navy3,#3448b1) 100%)}
.wrbr-mark{width:95px;height:95px;display:flex;align-items:center;justify-content:center;flex:none;border:3px solid rgba(255,255,255,.9);border-radius:50%;color:#fff;background:rgba(0,0,0,.13);letter-spacing:1px;font-size:20px;font-weight:900}
.wrbr-header h2{margin:4px 0;font-size:clamp(26px,4.5vw,37px);line-height:1.05;color:#fff}
.wrbr-eyebrow{font-size:10px;font-weight:800;letter-spacing:2px!important;opacity:.84;margin:0!important}
.wrbr-lede{margin:7px 0 0!important;opacity:.91;font-size:13px}
.wrbr-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.8fr)}
.wrbr-now{padding:33px 35px}
.wrbr-label{color:var(--wrbr-red);font-size:11px!important;font-weight:800;letter-spacing:1.7px;margin:0 0 11px!important}
.wrbr-now h3{font-size:clamp(24px,3vw,32px);line-height:1.16;margin:0 0 8px!important;color:var(--wrbr-ink)}
.wrbr-artist{font-weight:600;margin:0!important;font-size:15px}
.wrbr-program{display:inline-flex;border-radius:16px;background:#edf3ff;color:#27427d;padding:5px 11px;font-size:11px;font-weight:700;margin:12px 0 21px!important}
.wrbr-progress-wrap{display:flex;align-items:center;gap:11px;margin:4px 0 16px;font-size:11px;color:var(--wrbr-muted);font-variant-numeric:tabular-nums}
.wrbr-progress{flex:1;min-width:70px}
.wrbr-player input[type=range]{accent-color:var(--wrbr-blue);cursor:pointer}
.wrbr-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0 29px}
.wrbr-controls button{border:1px solid var(--wrbr-edge);background:#fff;color:var(--wrbr-ink);border-radius:100px;min-width:50px;min-height:50px;line-height:1;padding:13px 18px;cursor:pointer;font-size:23px;transition:transform .15s ease,border-color .15s ease}
.wrbr-controls button:hover{transform:translateY(-1px);border-color:var(--wrbr-blue)}
.wrbr-controls button.wrbr-toggle{min-width:107px;min-height:54px;background:var(--wrbr-red);border-color:var(--wrbr-red);color:#fff;font-size:16px;font-weight:800}
.wrbr-controls button:focus-visible,.wrbr-queue-pick:focus-visible,.wrbr-player select:focus-visible{outline:3px solid #efa938;outline-offset:3px}
.wrbr-tools{display:flex;flex-wrap:wrap;gap:24px;padding-top:17px;border-top:1px solid var(--wrbr-edge)}
.wrbr-tools label{font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:700;color:var(--wrbr-muted);display:flex;flex-direction:column;gap:9px}
.wrbr-tools label input{min-width:150px}
.wrbr-tools select{font-size:13px;font-weight:600;background:#f7f9fb;color:var(--wrbr-ink);border:1px solid var(--wrbr-edge);border-radius:8px;padding:9px 12px;max-width:220px}
.wrbr-feedback{font-size:12px;line-height:1.5;color:var(--wrbr-muted);margin:19px 0 0!important}
.wrbr-queue{padding:32px 24px;background:#f5f7fb;border-left:1px solid var(--wrbr-edge)}
.wrbr-queue h3{margin:0 0 13px!important;font-size:17px;color:var(--wrbr-ink)}
.wrbr-track-list{margin:0!important;padding:0!important;list-style:none!important;counter-reset:wrbr-items;display:flex;flex-direction:column;gap:7px}
.wrbr-track-list li{counter-increment:wrbr-items;display:flex;align-items:center;gap:9px;margin:0!important;border-bottom:1px solid #e0e7f0;padding:4px 0 10px}
.wrbr-track-list li:before{content:counter(wrbr-items,decimal-leading-zero);font-size:10px;font-weight:800;color:#8491a0}
.wrbr-queue-pick{background:none!important;border:0!important;padding:7px 0!important;margin:0!important;cursor:pointer;text-align:left!important;line-height:1.35;font-size:13px!important;color:var(--wrbr-ink)!important;font-weight:600}
.wrbr-queue-pick:hover{text-decoration:underline}
.wrbr-empty{padding:35px;font-size:15px;color:var(--wrbr-muted)}
.wrbr-disclaimer{background:#fff;border-top:1px solid var(--wrbr-edge);padding:12px 25px!important;margin:0!important;font-size:11px;color:var(--wrbr-muted);text-align:center}
@media(max-width:700px){.wrbr-header{gap:15px;padding:20px}.wrbr-mark{width:65px;height:65px;font-size:14px}.wrbr-body{grid-template-columns:1fr}.wrbr-now{padding:26px 22px}.wrbr-queue{padding:24px 22px;border-left:none;border-top:1px solid var(--wrbr-edge)}.wrbr-tools{gap:13px}.wrbr-tools label input{min-width:110px}}
@media(prefers-reduced-motion:reduce){.wrbr-controls button{transition:none}.wrbr-controls button:hover{transform:none}}
/* v0.2.6: Repeat, Riddim Recharge, song search */
.wrbr-controls button.wrbr-repeat{font-size:19px;opacity:.55}
.wrbr-controls button.wrbr-repeat.is-on{opacity:1;border-color:var(--wrbr-blue);background:#edf3ff;color:var(--wrbr-blue)}
.wrbr-controls button:disabled{opacity:.35;cursor:not-allowed;transform:none}
.wrbr-recharge{margin:-12px 0 20px;padding:14px 16px;border-radius:14px;background:linear-gradient(118deg,var(--wrbr-c-navy2,#00154b),var(--wrbr-c-navy,#00209f));color:#fff;text-align:center}
.wrbr-recharge[hidden]{display:none}
.wrbr-recharge p{margin:0!important}
.wrbr-recharge-title{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-recharge-line{font-size:15px;font-weight:700;line-height:1.35;margin:6px 0 4px!important}
.wrbr-recharge-count{font-size:12px;opacity:.85;font-variant-numeric:tabular-nums}
.wrbr-wiggle{animation:wrbr-wiggle .4s ease}
@keyframes wrbr-wiggle{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.wrbr-search-wrap{display:block;margin:0 0 14px}
.wrbr-search{width:100%;font-size:13px;padding:9px 12px;border:1px solid var(--wrbr-edge);border-radius:8px;background:#fff;color:var(--wrbr-ink)}
.wrbr-search:focus-visible{outline:3px solid #efa938;outline-offset:2px}
.wrbr-queue-pick[aria-current=true]{color:var(--wrbr-blue)!important}
.wrbr-player .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.wrbr-wiggle{animation:none}}
/* v0.2.7: song sharing */
.wrbr-program-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 21px}
.wrbr-program-row .wrbr-program{margin:0!important}
.wrbr-share{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid var(--wrbr-edge);background:#fff;color:var(--wrbr-blue);font-size:13px;font-weight:700;cursor:pointer;line-height:1}
.wrbr-share:hover{border-color:var(--wrbr-blue);background:#edf3ff}
.wrbr-share:focus-visible{outline:3px solid #efa938;outline-offset:2px}
.wrbr-share[hidden]{display:none}
.wrbr-shared-note{margin:0 0 10px!important;padding:10px 12px;border-radius:10px;background:#fff5d6;color:#5a3500;font-size:14px;font-weight:600;line-height:1.4}
.wrbr-shared-note[hidden]{display:none}
/* v0.2.8: play counters */
.wrbr-plays{margin:2px 0 0!important;font-size:13px;font-weight:700;color:var(--wrbr-blue);font-variant-numeric:tabular-nums}
.wrbr-plays[hidden],.wrbr-station-total[hidden]{display:none}
.wrbr-station-total{margin:8px 0 0!important;display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.wrbr-row-plays{display:block;margin-top:2px;font-size:11px;font-weight:600;color:#8491a0;font-variant-numeric:tabular-nums}
/* v0.2.9: Like (green), Favorite (red), Rating (gold); Favorites / Recently played views */
.wrbr-player{--wrbr-like:var(--wrbr-c-green,#1e7f34);--wrbr-fav:#c41e3a;--wrbr-gold:#f5b301;--wrbr-gold-edge:#8a5a00}
.wrbr-engage{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 4px}
.wrbr-engage[hidden],.wrbr-views[hidden],.wrbr-rate-clear[hidden]{display:none}
.wrbr-like,.wrbr-fav{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:999px;background:#fff;font-size:13px;font-weight:700;line-height:1;cursor:pointer;font-variant-numeric:tabular-nums}
.wrbr-like{border:2px solid var(--wrbr-like);color:var(--wrbr-like)}
.wrbr-like.is-on{background:var(--wrbr-like);color:#fff}
.wrbr-fav{border:2px solid var(--wrbr-fav);color:var(--wrbr-fav)}
.wrbr-fav.is-on{background:var(--wrbr-fav);color:#fff}
.wrbr-fav-shape{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.wrbr-fav.is-on .wrbr-fav-shape{fill:currentColor}
.wrbr-like-count:empty{display:none}
.wrbr-rate{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px}
.wrbr-star{min-width:32px;min-height:36px;padding:0 2px;border:0!important;background:none!important;font-size:24px;line-height:1;cursor:pointer;color:#fff;-webkit-text-stroke:1.5px #6b7684;transition:transform .12s ease}
.wrbr-star.is-on{color:var(--wrbr-gold);-webkit-text-stroke:1.5px var(--wrbr-gold-edge)}
.wrbr-star:hover:not(:disabled){transform:scale(1.12)}
.wrbr-rating-summary{margin-left:6px;font-size:12.5px;font-weight:600;color:var(--wrbr-ink);font-variant-numeric:tabular-nums}
.wrbr-rate-clear{margin-left:6px;padding:4px 8px;border:1px solid var(--wrbr-edge);border-radius:6px;background:#fff;color:#5a6472;font-size:11.5px;cursor:pointer}
.wrbr-like:disabled,.wrbr-fav:disabled,.wrbr-star:disabled{opacity:.45;cursor:not-allowed;transform:none}
.wrbr-like:focus-visible,.wrbr-fav:focus-visible,.wrbr-star:focus-visible,.wrbr-rate-clear:focus-visible,.wrbr-view:focus-visible{outline:3px solid #efa938;outline-offset:2px}
.wrbr-views{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.wrbr-view{padding:6px 12px;min-height:32px;border:1px solid var(--wrbr-edge);border-radius:999px;background:#fff;color:var(--wrbr-ink);font-size:12.5px;font-weight:700;cursor:pointer}
.wrbr-view[aria-pressed=true]{background:var(--wrbr-blue);border-color:var(--wrbr-blue);color:#fff}
.wrbr-list-empty{list-style:none;padding:8px 0;font-size:12.5px;color:#5a6472}
@media(prefers-reduced-motion:reduce){.wrbr-star{transition:none}.wrbr-star:hover:not(:disabled){transform:none}}
/* v0.3.0: Kids Hits star, playlist bar, gold rating star */
.wrbr-kids{margin-left:auto;display:inline-flex;align-items:center;gap:10px;padding:6px 18px 6px 6px;border:2px solid rgba(255,210,63,.6);border-radius:999px;background:rgba(0,10,50,.28);color:#fff;cursor:pointer;text-align:left;font-family:inherit;transition:transform .15s ease,background .15s ease}
.wrbr-kids[hidden]{display:none}
.wrbr-kids:hover{transform:translateY(-2px);background:rgba(255,210,63,.14)}
.wrbr-kids:focus-visible{outline:3px solid var(--wrbr-c-gold,#ffd23f);outline-offset:3px}
.wrbr-kids-star{flex:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.wrbr-kids-text strong{display:block;font-size:21px;font-weight:800;line-height:1.1;color:var(--wrbr-c-gold,#ffd23f);letter-spacing:.3px}
.wrbr-kids-text span{display:block;margin-top:3px;font-size:13px;font-weight:600;color:#fff}
.wrbr-kids.is-on{border-color:var(--wrbr-c-gold,#ffd23f);background:rgba(255,210,63,.2)}
.wrbr-kids.is-on .wrbr-kids-star{filter:drop-shadow(0 0 10px rgba(255,210,63,.9)) drop-shadow(0 3px 4px rgba(0,0,0,.35))}
@keyframes wrbr-twinkle{0%,100%{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}
.wrbr-kids-twinkle{transform-box:fill-box;transform-origin:center;animation:wrbr-twinkle 2.4s ease-in-out infinite}
.wrbr-kids-twinkle-2{animation-delay:1.2s}
.wrbr-playlist-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;border-radius:10px;background:#fff8dc;border:1px solid #f1d27a;color:#4a3300;font-size:13.5px;font-weight:700}
.wrbr-playlist-bar[hidden]{display:none}
.wrbr-playlist-exit{margin-left:auto;padding:5px 10px;border:1px solid #c9a227;border-radius:999px;background:#fff;color:#4a3300;font-size:12px;font-weight:700;cursor:pointer}
.wrbr-playlist-exit:focus-visible{outline:3px solid #efa938;outline-offset:2px}
.wrbr-gold-star{color:var(--wrbr-gold);-webkit-text-stroke:1px var(--wrbr-gold-edge)}
.wrbr-view[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.wrbr-kids-twinkle{animation:none}.wrbr-kids{transition:none}.wrbr-kids:hover{transform:none}}
@media(max-width:700px){.wrbr-header{flex-wrap:wrap}.wrbr-kids{margin-left:0;width:100%}}
/* v0.9.5: character playlist deck (replaces the public Kids Hits star; approved Oct 15) */
.wrbr-deck{margin-left:auto;flex:none;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 10px 12px;border-radius:10px;background:#0a1a4a}
.wrbr-deck[hidden],.wrbr-player.is-kids .wrbr-deck{display:none!important}
.wrbr-deck-row{display:flex;align-items:center;gap:8px;justify-content:center;width:100%}
.wrbr-player button.wrbr-deck-arrow{width:44px;height:44px;flex:0 0 44px;margin:0;padding:0;border-radius:50%;border:1px solid #5b6a99;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}
.wrbr-player button.wrbr-deck-arrow:hover{border-color:var(--wrbr-c-gold,#ffd23f);color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-deck-cards{flex:0 1 150px;min-width:0}
.wrbr-player button.wrbr-deck-card{display:flex;flex-direction:column;gap:4px;width:100%;margin:0;padding:0;border:0;border-radius:10px;background:none;color:#fff;text-align:left;font-family:inherit;cursor:pointer;line-height:1.2}
.wrbr-player button.wrbr-deck-card[hidden]{display:none}
.wrbr-deck-photo{position:relative;display:block;aspect-ratio:1;border-radius:10px;background:#22356b;overflow:hidden;transition:box-shadow .15s ease}
.wrbr-player .wrbr-deck-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px;max-width:none}
.wrbr-deck-star{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;background:#0a1a4a;border:2px solid #f5c518;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.wrbr-deck-name{display:block;padding-top:4px;color:var(--wrbr-c-gold,#ffd23f);font-size:18px;font-weight:700;line-height:1.2}
.wrbr-deck-genre{display:block;color:#fff;font-size:14px;font-weight:500}
.wrbr-player button.wrbr-deck-card:hover .wrbr-deck-photo{box-shadow:0 0 0 3px rgba(255,210,63,.55)}
.wrbr-player button.wrbr-deck-card.is-on .wrbr-deck-photo{box-shadow:0 0 0 3px var(--wrbr-c-gold,#ffd23f)}
.wrbr-player button.wrbr-deck-card:focus-visible,.wrbr-player button.wrbr-deck-arrow:focus-visible,.wrbr-player button.wrbr-deck-dot:focus-visible{outline:3px solid var(--wrbr-c-gold,#ffd23f);outline-offset:3px}
.wrbr-deck-dots{display:flex;gap:0;flex-wrap:wrap;justify-content:center}
.wrbr-player button.wrbr-deck-dot{width:24px;height:24px;margin:0;padding:0;border:0;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer}
.wrbr-deck-dot span{width:10px;height:10px;border-radius:50%;background:#5b6a99}
.wrbr-deck-dot[aria-current=true] span{background:#f5c518}
@media(max-width:700px){.wrbr-deck{margin-left:0;width:100%;box-sizing:border-box}.wrbr-deck-cards{flex-basis:170px}.wrbr-deck-name{font-size:19px}}
@media(prefers-reduced-motion:reduce){.wrbr-deck-photo{transition:none}}
/* v0.3.1: song menus, queue, My playlists, mini-player, accessibility */
.wrbr-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.wrbr-row .wrbr-queue-pick{flex:1 1 0;min-width:0}
.wrbr-row-more,.wrbr-mini-btn{flex:none;min-width:32px;min-height:32px;padding:2px 8px;border:1px solid transparent;border-radius:8px;background:none;color:#4a5566;font-size:16px;font-weight:700;line-height:1;cursor:pointer}
.wrbr-row-more:hover,.wrbr-mini-btn:hover{border-color:var(--wrbr-edge);background:#f4f6fa}
.wrbr-row-menu{flex:1 0 100%;display:flex;flex-direction:column;margin:4px 0 8px;padding:6px;border:1px solid var(--wrbr-edge);border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(22,43,71,.12)}
.wrbr-menu-item{padding:9px 10px;border:0;border-radius:6px;background:none;color:var(--wrbr-ink);font-size:13.5px;font-weight:600;text-align:left;cursor:pointer}
.wrbr-menu-item:hover,.wrbr-menu-item:focus-visible{background:#edf3ff}
.wrbr-menu-input{display:flex;gap:6px;padding:4px}
.wrbr-menu-input input{flex:1;min-width:0;padding:7px 9px;border:1px solid var(--wrbr-edge);border-radius:6px;font-size:13px}
.wrbr-menu-go{padding:7px 12px;border:0;border-radius:6px;background:var(--wrbr-blue);color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.wrbr-list-subhead{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 2px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#4a5566}
.wrbr-subhead-btn{padding:4px 10px;border:1px solid var(--wrbr-edge);border-radius:999px;background:#fff;color:var(--wrbr-blue);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;cursor:pointer}
.wrbr-row-plays{color:#5f6b7a!important}
.wrbr-mini{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:var(--wrbr-c-navy2,#00154b);color:#fff;box-shadow:0 -6px 20px rgba(0,0,0,.25);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.wrbr-mini[hidden]{display:none}
.wrbr-mini-title{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700}
.wrbr-mini-toggle{min-width:76px;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--wrbr-red);color:#fff;font-size:15px;font-weight:800;cursor:pointer}
.wrbr-mini-next{min-width:44px;min-height:44px;border:2px solid rgba(255,255,255,.5);border-radius:999px;background:none;color:#fff;font-size:18px;cursor:pointer}
.wrbr-mini-next:disabled{opacity:.4}
.wrbr-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.wrbr-player button:focus-visible{outline:3px solid #efa938;outline-offset:2px}
@media (pointer:coarse){
.wrbr-controls button,.wrbr-row-more,.wrbr-mini-btn,.wrbr-view,.wrbr-like,.wrbr-fav,.wrbr-share,.wrbr-playlist-exit,.wrbr-subhead-btn{min-height:44px;min-width:44px}
.wrbr-star{min-width:44px;min-height:44px}
.wrbr-queue-pick{min-height:44px}
}
@media(max-width:400px){.wrbr-now{padding:22px 16px}.wrbr-queue{padding:20px 16px}.wrbr-header{padding:18px 16px}.wrbr-kids-text strong{font-size:19px}.wrbr-rating-summary{margin-left:0;flex-basis:100%}}
/* v0.3.2: section labels and empty notes are not numbered songs */
.wrbr-track-list li.wrbr-list-subhead,.wrbr-track-list li.wrbr-list-empty{counter-increment:none;border-bottom:0;padding:0}
.wrbr-track-list li.wrbr-list-subhead:before,.wrbr-track-list li.wrbr-list-empty:before{content:none}
.wrbr-track-list li.wrbr-list-subhead{margin-top:12px!important}
.wrbr-track-list li.wrbr-list-empty{padding:8px 0}
/* v0.4.0: Lights (visualizers) */
.wrbr-controls button.wrbr-lights{width:auto;min-width:0;padding:0 16px;border-radius:999px;font-size:14px;font-weight:800;gap:6px}
.wrbr-controls button.wrbr-lights[hidden]{display:none}
.wrbr-controls button.wrbr-lights.is-on{border-color:#c9a227;background:#fff5d6;color:#5a3500}
.wrbr-vis-host{margin:0 0 18px}
.wrbr-vis-host[hidden]{display:none}
.wrbr-vis[hidden]{display:none}
.wrbr-vis-stage{position:relative;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#0d0705}
.wrbr-vis-stage.wrbr-vis-frame-wood{padding:12px;border-radius:6px;background:repeating-linear-gradient(92deg,#3b2414 0,#4a2e1a 3px,#3a2313 7px,#55361f 9px,#3d2515 13px);box-shadow:inset 0 0 0 2px #24150b,inset 0 0 14px rgba(0,0,0,.6)}
.wrbr-vis-stage.wrbr-vis-frame-none{background:var(--wrbr-c-navy2,#00154b)}
.wrbr-vis-canvas{display:block;width:100%;height:100%;border-radius:2px}
.wrbr-vis-stage:fullscreen{padding:3vmin;border-radius:0;aspect-ratio:auto}
.wrbr-vis-stage:-webkit-full-screen{padding:3vmin;border-radius:0}
.wrbr-vis-bar{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.wrbr-vis-chip{padding:6px 12px;min-height:32px;border:1px solid var(--wrbr-edge);border-radius:999px;background:#fff;color:var(--wrbr-ink);font-size:12.5px;font-weight:700;cursor:pointer}
.wrbr-vis-chip[aria-pressed=true]{background:var(--wrbr-blue);border-color:var(--wrbr-blue);color:#fff}
.wrbr-vis-calm[aria-pressed=true]{background:#2c3e50;border-color:#2c3e50}
.wrbr-vis-fs{margin-left:auto}
@media (pointer:coarse){.wrbr-vis-chip,.wrbr-controls button.wrbr-lights{min-height:44px}}
@media(max-width:520px){.wrbr-controls{flex-wrap:wrap;justify-content:center}.wrbr-vis-fs{margin-left:0}}
/* v0.4.1: Resume button and Auto-play switch */
.wrbr-resume{display:inline-flex;align-items:center;gap:8px;margin:4px 0 12px;padding:12px 22px;min-height:48px;border:0;border-radius:999px;background:var(--wrbr-c-gold,#ffd23f);color:#3a2600;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 0 0 3px rgba(255,210,63,.35)}
.wrbr-resume[hidden]{display:none}
.wrbr-resume:focus-visible{outline:3px solid var(--wrbr-c-navy,#00209f);outline-offset:3px}
.wrbr-autoplay{margin-top:8px;padding:5px 11px;min-height:30px;border:1px solid var(--wrbr-edge);border-radius:999px;background:#fff;color:#4a5566;font-size:12px;font-weight:700;cursor:pointer}
.wrbr-autoplay[hidden]{display:none}
.wrbr-autoplay[aria-pressed=true]{color:var(--wrbr-blue);border-color:#b9c7f0}
@media (pointer:coarse){.wrbr-autoplay{min-height:44px}}
/* v0.4.2: share panel */
/* v0.4.4: Dub Lab (Founder-approved: black panel, red outline, red/gold cards with green outlines, green tips, blue Reset lettering) */
.wrbr-controls button.wrbr-dub-toggle{width:auto;min-width:0;padding:0 16px;border-radius:999px;font-size:14px;font-weight:800;gap:6px}
.wrbr-controls button.wrbr-dub-toggle[hidden]{display:none}
.wrbr-controls button.wrbr-dub-toggle.is-on{border-color:var(--wrbr-c-red,#c8102e);background:#fff0f0;color:#8a0a1c}
.wrbr-dub-host{margin:0 0 18px}
.wrbr-dub-host[hidden],.wrbr-dub[hidden]{display:none}
.wrbr-dub{padding:18px;border-radius:14px;background:var(--wrbr-c-dub,#000);border:2px solid var(--wrbr-c-red,#c8102e);color:#ffe9b0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.wrbr-dub-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.wrbr-dub-ttl{font-size:18px;font-weight:700;letter-spacing:2px;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-dub-sub{font-size:12px;color:#e0b25a;margin-top:2px}
/* v0.9.5 (Dub Lab core 1.0): the edition words beside DUB LAB, e.g. "WRBR version" */
.wrbr-dub-ed{font-size:12px;font-weight:400;font-style:italic;letter-spacing:.3px;color:#e0b25a}
.wrbr-jam-title .wrbr-dub-ed{font-size:11px}
/* v0.9.6: "Try the demo" (Think G Media's full Dub Lab demo, new tab); hidden in Kids Mode and in desktop Jam View */
.wrbr-player a.wrbr-dub-demo,.wrbr-player a.wrbr-jam-demo{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;min-height:34px;border:1.5px solid var(--wrbr-c-gold,#ffd23f);border-radius:999px;background:rgba(255,210,63,.1);color:var(--wrbr-c-gold,#ffd23f);font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap;box-sizing:border-box}
.wrbr-player a.wrbr-dub-demo:hover,.wrbr-player a.wrbr-jam-demo:hover{background:var(--wrbr-c-gold,#ffd23f);color:#1a1200}
.wrbr-player a.wrbr-dub-demo:focus-visible,.wrbr-player a.wrbr-jam-demo:focus-visible{outline:3px solid #4d8cff;outline-offset:2px}
.wrbr-player:not(.is-jam)>a.wrbr-jam-demo{display:none!important}
.wrbr-player.is-kids a.wrbr-dub-demo,.wrbr-player.is-kids a.wrbr-jam-demo,.is-jam a.wrbr-dub-demo{display:none!important}
@media (pointer:coarse){.wrbr-player a.wrbr-dub-demo{min-height:44px}}
.wrbr-dub-btns{display:flex;gap:8px}
.wrbr-dub button.wrbr-dub-btn{padding:8px 14px;min-height:38px;border:1px solid #5a5a5a;border-radius:8px;background:#141414;color:#fff;font-size:14px;font-weight:600;cursor:pointer}
.wrbr-dub button.wrbr-dub-btn:hover{background:#222}
.wrbr-dub button.wrbr-dub-share{color:#4d8cff}
.wrbr-dub-beats{display:flex;gap:8px;align-items:center;margin:14px 0 6px;font-size:12px;color:#e0b25a}
.wrbr-dub-dot{width:14px;height:14px;border-radius:50%;background:#1a1a1a;border:1px solid #444;transition:background .08s}
.wrbr-dub-dot.on{background:var(--wrbr-c-gold,#ffd23f);border-color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-dub-dot.r.on{background:#ff3b3b;border-color:#ff3b3b}
.wrbr-dub-dot.g.on{background:var(--wrbr-c-green2,#2fbf5a);border-color:var(--wrbr-c-green2,#2fbf5a)}
.wrbr-dub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.wrbr-dub-card{border-radius:12px;padding:14px;border:3px solid var(--wrbr-c-green2,#2fbf5a)}
.wrbr-dub-card h4{margin:0!important;font-size:16px;font-weight:700}
.wrbr-dub-how{margin:4px 0 12px!important;font-size:12.5px;line-height:1.45}
.wrbr-dub-card.red{background:var(--wrbr-c-red2,#a30f24)}
.wrbr-dub-card.red h4{color:var(--wrbr-c-gold,#ffd23f)}.wrbr-dub-card.red .wrbr-dub-how{color:#ffefc2}
.wrbr-dub-card.gold{background:var(--wrbr-c-gold2,#f2b705)}
.wrbr-dub-card.gold h4{color:#4a0a10}.wrbr-dub-card.gold .wrbr-dub-how{color:#3d1e00}
.wrbr-dub-fad{display:flex;align-items:center;gap:8px}
.wrbr-dub-fad input{flex:1}
.wrbr-dub-card.red .wrbr-dub-fad input{accent-color:var(--wrbr-c-gold,#ffd23f)}.wrbr-dub-card.gold .wrbr-dub-fad input{accent-color:var(--wrbr-c-red2,#a30f24)}
.wrbr-dub-fv{min-width:36px;text-align:right;font-size:12.5px;font-weight:700}
.wrbr-dub-card.red .wrbr-dub-fv{color:var(--wrbr-c-gold,#ffd23f)}.wrbr-dub-card.gold .wrbr-dub-fv{color:#4a0a10}
.wrbr-dub button.wrbr-dub-big{width:100%;padding:14px 8px;min-height:48px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;touch-action:none;user-select:none;transition:background .1s,box-shadow .1s,color .1s}
.wrbr-dub .red button.wrbr-dub-big{background:var(--wrbr-c-gold,#ffd23f);color:#4a0a10;border:2px solid #fff3c4}
.wrbr-dub .gold button.wrbr-dub-big{background:var(--wrbr-c-red2,#a30f24);color:#ffe9a8;border:2px solid #6e0a18}
.wrbr-dub button.wrbr-dub-big.cue{background:#fff3c4;color:#4a0a10;box-shadow:0 0 0 5px rgba(255,243,196,.55)}
.wrbr-dub button.wrbr-dub-big.hot{background:#ff3b3b;color:#fff}
.wrbr-dub-tips{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--wrbr-c-green,#1e7f34);border:2px solid var(--wrbr-c-gold,#ffd23f)}
.wrbr-dub-tips h4{margin:0 0 6px!important;font-size:14px;font-weight:700;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-dub-tips ol{margin:0!important;padding-left:20px!important;font-size:13.5px;line-height:1.7;color:#fff3c4}
.wrbr-dub-tips li.is-done{color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-dub-tips li.is-done::after{content:"  \2713"}
.wrbr-dub-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:12px;font-size:12px;color:#e0b25a}
.wrbr-dub-led{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--wrbr-c-green2,#2fbf5a)}
.wrbr-dub-tempo{margin-left:auto;color:#cfc3a6}
.wrbr-dub button:focus-visible{outline:3px solid #4d8cff;outline-offset:2px}
@media(max-width:480px){.wrbr-dub-grid{grid-template-columns:1fr}.wrbr-dub-tempo{margin-left:0;flex-basis:100%}}
@media (pointer:coarse){.wrbr-dub button.wrbr-dub-btn,.wrbr-controls button.wrbr-dub-toggle{min-height:44px}}
/* v0.5.0: visual takeovers (videos, loops, pictures) */
.wrbr-take-host{margin:0 0 18px}
.wrbr-take-host[hidden]{display:none}
.wrbr-take-stage{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;border:2px solid #1a1a1a}
.wrbr-take-media{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.wrbr-take-yt,.wrbr-take-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wrbr-video-chip{margin-left:6px}
/* v0.5.1: Jam View (Founder-approved). The same player, rearranged full-screen. */
.wrbr-controls button.wrbr-jam-open{width:auto;min-width:0;padding:0 16px;border-radius:999px;font-size:14px;font-weight:800;gap:6px}
.wrbr-controls button.wrbr-jam-open[hidden]{display:none}
.wrbr-jam-close,.wrbr-jam-title,.wrbr-jam-how,.wrbr-jam-tip{display:none}
html.wrbr-jam-open,html.wrbr-jam-open body{overflow:hidden}
.wrbr-player.is-jam{position:fixed!important;inset:0;z-index:100000;margin:0!important;max-width:none!important;width:auto;border-radius:0;border:2px solid var(--wrbr-c-red,#c8102e);background:#000;color:#ffe9b0;box-shadow:none;overflow:hidden;box-sizing:border-box;
  display:grid;gap:7px;padding:10px 12px 12px;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-rows:auto auto minmax(0,1fr) auto auto auto auto auto auto auto auto;
  grid-template-areas:"title title title title title title" "artist artist artist artist artist artist" "stage stage stage stage stage stage" "beats beats beats beats tempo tempo" "throw throw throw crash crash crash" "echo echo echo echo echo echo" "rev rev rev rev rev rev" "share share share prac prac prac" "prev prev play play next next" "how how how how how how" "tip tip tip tip tip tip"}
.wrbr-player.is-jam>*{display:none}
.wrbr-player.is-jam>.wrbr-body,.is-jam .wrbr-now,.is-jam .wrbr-dub-host:not([hidden]),.is-jam .wrbr-dub:not([hidden]),.is-jam .wrbr-dub-hd,.is-jam .wrbr-dub-btns,.is-jam .wrbr-dub-grid,.is-jam .wrbr-dub-foot,.is-jam .wrbr-controls{display:contents!important}
.is-jam .wrbr-now>*,.is-jam .wrbr-queue{display:none}
.is-jam .wrbr-dub-hd>div:first-child,.is-jam .wrbr-dub-tips,.is-jam .wrbr-dub-foot>span:not(.wrbr-dub-tempo):not(.wrbr-sr-only),.is-jam .wrbr-dub-how{display:none!important}
.is-jam .wrbr-controls>*{display:none!important}
/* top: close + song */
.is-jam>.wrbr-jam-close{display:flex;position:absolute;top:10px;left:12px;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #555;border-radius:50%;background:#141414;color:#fff;font-size:14px;cursor:pointer;z-index:2}
.is-jam .wrbr-now>.wrbr-title{display:block;grid-area:title;margin:0!important;padding-left:42px;font-size:15px!important;font-weight:600;line-height:1.3!important;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.is-jam .wrbr-now>.wrbr-artist{display:block;grid-area:artist;margin:0!important;padding-left:42px;font-size:12px;color:#e0b25a!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* stage: Lights, or the song's video/picture */
.is-jam .wrbr-now>.wrbr-vis-host:not([hidden]),.is-jam .wrbr-now>.wrbr-take-host:not([hidden]){display:block;grid-area:stage;margin:0;min-height:0}
.is-jam .wrbr-vis-host .wrbr-vis{height:100%;display:flex;flex-direction:column}
.is-jam .wrbr-vis-stage,.is-jam .wrbr-take-stage{aspect-ratio:auto;height:100%;flex:1 1 auto;min-height:0}
.is-jam .wrbr-vis-bar{display:none}
.is-jam .wrbr-now>.wrbr-recharge:not([hidden]){display:block;grid-area:stage;align-self:center;justify-self:center;z-index:3;margin:0}
.is-jam .wrbr-now>.wrbr-resume:not([hidden]){display:inline-flex;grid-area:stage;align-self:center;justify-self:center;z-index:3;margin:0}
/* Dub Lab pieces */
.is-jam .wrbr-dub-beats{grid-area:beats;margin:2px 0!important;font-size:11px}
.is-jam .wrbr-dub-tempo{display:block;grid-area:tempo;align-self:center;justify-self:end;font-size:11px;color:#cfc3a6;margin:0}
.is-jam .wrbr-dub-card{padding:5px;border-width:3px}
.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(1){grid-area:throw}
.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(2){grid-area:crash}
.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(1) h4,.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(2) h4{display:none}
.is-jam .wrbr-dub button.wrbr-dub-big{min-height:52px;height:56px;padding:6px;border-radius:9px;font-size:14px}
.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(3){grid-area:echo}
.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(4){grid-area:rev}
.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(3),.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(4){display:flex;align-items:center;gap:8px;padding:4px 10px;border-width:2px;border-radius:10px}
.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(3) h4,.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(4) h4{flex:none;width:52px;font-size:12px!important}
.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(3) .wrbr-dub-fad,.is-jam .wrbr-dub-grid>.wrbr-dub-card:nth-child(4) .wrbr-dub-fad{flex:1}
.is-jam .wrbr-dub button.wrbr-dub-share{grid-area:share}
.is-jam .wrbr-dub-btns>button:not(.wrbr-dub-share){grid-area:prac}
.is-jam .wrbr-dub button.wrbr-dub-btn{width:100%;min-height:36px;padding:0 8px;font-size:12.5px;white-space:nowrap}
/* transport */
.is-jam .wrbr-controls>.wrbr-previous{display:flex!important;grid-area:prev}
.is-jam .wrbr-controls>.wrbr-toggle{display:flex!important;grid-area:play}
.is-jam .wrbr-controls>.wrbr-next{display:flex!important;grid-area:next}
.is-jam .wrbr-controls>.wrbr-previous,.is-jam .wrbr-controls>.wrbr-next,.is-jam .wrbr-controls>.wrbr-toggle{width:100%!important;height:42px;min-height:42px;margin:0;border-radius:8px;align-items:center;justify-content:center}
.is-jam .wrbr-controls>.wrbr-previous,.is-jam .wrbr-controls>.wrbr-next{border:1px solid #555;background:#141414;color:#fff}
/* how to play */
.is-jam>.wrbr-jam-how{display:block;grid-area:how;min-height:34px;padding:6px 10px;border-radius:999px;background:var(--wrbr-c-green,#1e7f34);border:1.5px solid var(--wrbr-c-gold,#ffd23f);color:#fff3c4;font-size:12px;cursor:pointer}
.is-jam>.wrbr-jam-tip:not([hidden]){display:block;grid-area:tip;margin:0;padding:8px 10px;border-radius:10px;background:var(--wrbr-c-green,#1e7f34);border:1.5px solid var(--wrbr-c-gold,#ffd23f);color:#fff3c4;font-size:12px;line-height:1.5}
/* v0.7.4 (fix): the share panel used to be blanket-hidden inside Jam View, from back when
   nothing inside Jam View could open it. Dub Lab's own Share button now does, so it needs
   to actually show, raised above Jam View's z-index like every other pop-up. */
.is-jam>.wrbr-mini{display:none!important}
.is-jam>.wrbr-sr-only{display:block}
.is-jam button:focus-visible{outline:3px solid #4d8cff;outline-offset:2px}
/* wide screens (desktop, sideways tablets): big stage left, the lab on the right */
@media (min-aspect-ratio:1/1) and (min-width:700px){
.wrbr-player.is-jam{padding:12px 14px;column-gap:8px;
  grid-template-columns:minmax(0,9fr) repeat(6,minmax(0,1fr));
  grid-template-rows:auto auto minmax(0,1fr) auto auto auto auto auto auto auto auto minmax(0,1fr);
  grid-template-areas:"title title title title title jt jt" "artist artist artist artist artist jt jt" "stage . . . . . ." "stage beats beats beats beats tempo tempo" "stage throw throw throw crash crash crash" "stage echo echo echo echo echo echo" "stage rev rev rev rev rev rev" "stage share share share prac prac prac" "stage prev prev play play next next" "stage how how how how how how" "stage tip tip tip tip tip tip" "stage . . . . . ."}
.is-jam>.wrbr-jam-title{display:block;grid-area:jt;align-self:center;justify-self:end;font-size:14px;font-weight:600;letter-spacing:2px;color:var(--wrbr-c-gold,#ffd23f);white-space:nowrap}
.is-jam .wrbr-dub button.wrbr-dub-big{height:clamp(50px,7vh,76px);font-size:clamp(14px,1.4vw,17px)}
.is-jam .wrbr-controls>.wrbr-previous,.is-jam .wrbr-controls>.wrbr-next,.is-jam .wrbr-controls>.wrbr-toggle{height:clamp(42px,5vh,56px)}
}
@media (prefers-reduced-motion:reduce){.is-jam *{transition:none!important}}
/* v0.5.2: rotating info line (tempo / ownership / keys) */
.wrbr-dub-tempo{transition:opacity .3s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.wrbr-dub-tempo.is-fading{opacity:0}
.wrbr-dub-tempo.is-owner{color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-dub:focus{outline:none}
.wrbr-dub:focus-visible{outline:3px solid #4d8cff;outline-offset:2px}
.wrbr-player.is-jam:focus{outline:none}
.is-jam .wrbr-dub-tempo{min-width:0;max-width:100%}
@media (prefers-reduced-motion:reduce){.wrbr-dub-tempo{transition:none}.wrbr-dub-tempo.is-fading{opacity:1}}
/* v0.5.3: "How to play" pop-up guide (Founder-approved) */
.wrbr-howto{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.62);box-sizing:border-box}
.is-jam>.wrbr-howto{display:flex}
.wrbr-howto-card{width:min(680px,100%);max-height:calc(100% - 8px);overflow:auto;box-sizing:border-box;padding:20px 22px 18px;border-radius:16px;background:var(--wrbr-c-green,#1e7f34);border:2px solid var(--wrbr-c-gold,#ffd23f);color:#fff3c4;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left}
.wrbr-howto-card:focus{outline:none}
.wrbr-howto-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.wrbr-howto-title{margin:0!important;font-size:20px;font-weight:700;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-howto button.wrbr-howto-x{width:34px;height:34px;min-width:34px;padding:0;border-radius:50%;border:1.5px solid var(--wrbr-c-gold,#ffd23f);background:transparent;color:var(--wrbr-c-gold,#ffd23f);font-size:14px;cursor:pointer}
.wrbr-howto-cols.has-keys{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px}
.wrbr-howto-colh{margin:0 0 10px!important;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-howto-step{display:grid;grid-template-columns:26px 1fr;gap:10px;margin-bottom:12px}
.wrbr-howto-n{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--wrbr-c-gold,#ffd23f);color:#1e4d16;font-size:13px;font-weight:700}
.wrbr-howto-h{margin:0!important;font-size:14.5px;font-weight:700;color:#fff}
.wrbr-howto-p{margin:2px 0 0!important;font-size:13.5px;line-height:1.45;color:#f3ecd0}
.wrbr-howto-keys{border-left:1px solid rgba(255,210,63,.45);padding-left:24px}
.wrbr-howto-kr{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:10px;padding:5px 0;font-size:14px;color:#fff3c4}
.wrbr-howto-kk{display:inline-flex;justify-content:center;padding:3px 8px;border-radius:6px;border:1.5px solid var(--wrbr-c-gold,#ffd23f);color:var(--wrbr-c-gold,#ffd23f);font-size:13px;font-weight:700;background:rgba(0,0,0,.18)}
.wrbr-howto button.wrbr-howto-got{display:block;margin:16px 0 0 auto;padding:10px 26px;min-height:44px;border-radius:999px;border:0;background:var(--wrbr-c-gold,#ffd23f);color:#3a2600;font-size:15px;font-weight:700;cursor:pointer}
.wrbr-howto button:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (max-width:640px){
.wrbr-howto{padding:12px}
.wrbr-howto-card{padding:16px 16px 14px}
.wrbr-howto-cols.has-keys{grid-template-columns:1fr;gap:12px}
.wrbr-howto-keys{border-left:0;padding-left:0;border-top:1px solid rgba(255,210,63,.45);padding-top:12px}
.wrbr-howto button.wrbr-howto-got{width:100%}
}

/* v0.7.5 (Founder decision): the guide docks to the side (desktop) or the bottom (phone)
   instead of covering the screen — fully non-blocking, so the Lab stays usable while it's
   open. The backdrop itself becomes a transparent, click-through container; only the card
   is interactive. */
.wrbr-howto.wrbr-guide-dock{background:transparent;pointer-events:none;padding:0;align-items:flex-start;justify-content:flex-end}
.wrbr-howto.wrbr-guide-dock .wrbr-howto-card{pointer-events:auto;width:360px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);margin:12px;box-shadow:0 10px 40px rgba(0,0,0,.45)}
/* docked card is narrow: steps and keys stack instead of sitting side by side */
.wrbr-guide-dock .wrbr-howto-cols.has-keys{grid-template-columns:1fr;gap:12px}
.wrbr-guide-dock .wrbr-howto-keys{border-left:0;padding-left:0;border-top:1px solid rgba(255,210,63,.45);padding-top:12px}
/* desktop Jam View keeps its Lab controls on the right, so the guide docks left, over the visualizer */
.is-jam>.wrbr-howto.wrbr-guide-dock{justify-content:flex-start}
/* regular page on a medium-width window: no free margin beside the player, so the guide becomes a
   bottom sheet; the page scrolls freely above it and the Lab stays usable */
@media(min-width:701px) and (max-width:1279px){
.wrbr-player:not(.is-jam)>.wrbr-howto.wrbr-guide-dock{align-items:flex-end;justify-content:center}
.wrbr-player:not(.is-jam)>.wrbr-howto.wrbr-guide-dock .wrbr-howto-card{width:min(640px,calc(100vw - 24px));max-height:45vh}
.wrbr-player:not(.is-jam)>.wrbr-howto.wrbr-guide-dock .wrbr-howto-cols.has-keys{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.wrbr-player:not(.is-jam)>.wrbr-howto.wrbr-guide-dock .wrbr-howto-keys{border-top:0;padding-top:0;border-left:1px solid rgba(255,210,63,.45);padding-left:20px}
}
/* phones: Jam View's controls fill the lower half, so the guide drops down from the top, over the visualizer */
@media(max-width:700px){
.wrbr-howto.wrbr-guide-dock,.is-jam>.wrbr-howto.wrbr-guide-dock{align-items:flex-start;justify-content:center}
.wrbr-howto.wrbr-guide-dock .wrbr-howto-card{width:100%;max-width:none;margin:0;max-height:45vh;border-radius:0 0 16px 16px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
}
/* v0.5.4: discovery tiles, New badges, teaser stage, Settings (Founder-approved) */
.wrbr-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 6px}
.wrbr-tiles[hidden],.wrbr-tile[hidden],.wrbr-new[hidden],.wrbr-hint-cta[hidden],.wrbr-teaser[hidden],.wrbr-settings-open[hidden]{display:none}
.wrbr-player button.wrbr-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:84px;padding:12px 12px 11px;border-radius:12px;border:2px solid var(--wrbr-c-green2,#2fbf5a);text-align:left;cursor:pointer;font-family:inherit;line-height:1.25;transition:transform .15s ease,box-shadow .15s ease}
.wrbr-player button.wrbr-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.12)}
.wrbr-player button.wrbr-tile:focus-visible{outline:3px solid var(--wrbr-c-navy,#00209f);outline-offset:3px}
.wrbr-tile.is-gold{background:var(--wrbr-c-gold2,#f2b705);color:#4a0a10}
.wrbr-tile.is-red{background:var(--wrbr-c-red2,#a30f24);color:#fff3c4}
.wrbr-tile.is-green{background:var(--wrbr-c-green,#1e7f34);color:#fff3c4}
.wrbr-tile-ic{font-size:18px;line-height:1}
.wrbr-tile-name{margin-top:4px;font-size:15px;font-weight:800}
.wrbr-tile.is-red .wrbr-tile-name,.wrbr-tile.is-green .wrbr-tile-name{color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-tile-sub{font-size:12.5px;font-weight:600}
.wrbr-tile.is-on{box-shadow:0 0 0 3px var(--wrbr-c-navy,#00209f)}
.wrbr-tile.is-on .wrbr-tile-sub::after{content:" \00b7 on"}
.wrbr-new{position:absolute;top:-9px;right:-6px;padding:2px 8px;border-radius:999px;background:var(--wrbr-c-gold,#ffd23f);color:#3a2600;border:1.5px solid #3a2600;font-size:11px;font-weight:800;line-height:1.3}
.wrbr-hint-cta{margin:4px 0 10px!important;font-size:12.5px;color:#4a5566;text-align:center}
.wrbr-player button.wrbr-cta-settings{display:inline;padding:0;border:0;background:none;color:var(--wrbr-c-navy,#00209f);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.wrbr-player button.wrbr-teaser{position:relative;display:block;width:100%;height:150px;margin:0 0 16px;padding:8px;border:0;border-radius:10px;overflow:hidden;cursor:pointer;background:repeating-linear-gradient(92deg,#3b2414 0,#4a2e1a 3px,#3a2313 7px,#55361f 9px,#3d2515 13px)}
.wrbr-teaser-canvas{display:block;width:100%;height:100%;border-radius:3px}
.wrbr-teaser-label{position:absolute;inset:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:3px;background:rgba(0,0,0,.42);color:#fff3c4;text-align:center;font-family:inherit}
.wrbr-teaser-label b{font-size:18px;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-teaser-label span{font-size:13px}
.wrbr-player button.wrbr-teaser:focus-visible{outline:3px solid var(--wrbr-c-navy,#00209f);outline-offset:3px}
.wrbr-prefs{margin-top:8px}
.wrbr-player button.wrbr-settings-open{padding:6px 12px;min-height:32px;border:1px solid var(--wrbr-edge);border-radius:999px;background:#fff;color:#142032;font-size:12.5px;font-weight:700;cursor:pointer}
.wrbr-settings-list{margin-top:4px}
.wrbr-set{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,210,63,.3)}
.wrbr-set:last-child{border-bottom:0}
.wrbr-set-h{margin:0!important;font-size:14.5px;font-weight:700;color:#fff}
.wrbr-set-p{margin:2px 0 0!important;font-size:13px;color:#f3ecd0}
.wrbr-howto button.wrbr-switch{position:relative;flex:none;width:48px;height:28px;min-width:48px;padding:0;border:0;border-radius:999px;background:rgba(0,0,0,.35);cursor:pointer}
.wrbr-howto button.wrbr-switch::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#f3ecd0;transition:left .15s ease}
.wrbr-howto button.wrbr-switch.is-on{background:var(--wrbr-c-gold,#ffd23f)}
.wrbr-howto button.wrbr-switch.is-on::after{left:24px;background:#1e4d16}
.wrbr-settings-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.wrbr-settings-foot button.wrbr-howto-got{margin:0}
.wrbr-howto button.wrbr-settings-reset{padding:0;border:0;background:none;color:#fff3c4;font-size:13px;text-decoration:underline;cursor:pointer}
.wrbr-dub button.wrbr-dub-guide{display:block;margin-top:8px;padding:8px 14px;min-height:38px;border:1.5px solid var(--wrbr-c-gold,#ffd23f);border-radius:999px;background:rgba(0,0,0,.2);color:var(--wrbr-c-gold,#ffd23f);font-size:13px;font-weight:700;cursor:pointer}
@media(max-width:560px){.wrbr-tiles{grid-template-columns:1fr;gap:8px}.wrbr-player button.wrbr-tile{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px}.wrbr-tile-name{margin-top:0}.wrbr-tile-sub{flex-basis:100%;padding-left:28px}}
@media (prefers-reduced-motion:reduce){.wrbr-player button.wrbr-tile{transition:none}.wrbr-player button.wrbr-tile:hover{transform:none}.wrbr-howto button.wrbr-switch::after{transition:none}}
/* v0.5.4: keep Previous / Play / Next / Repeat on one line on small phones (tap targets stay 46px+) */
@media(max-width:440px){.wrbr-controls{gap:8px}.wrbr-controls button{padding:13px 10px}.wrbr-controls button.wrbr-toggle{min-width:96px}}
@media(max-width:370px){.wrbr-controls{gap:6px}.wrbr-controls button{min-width:46px;min-height:46px;padding:12px 8px}.wrbr-controls button.wrbr-toggle{min-width:84px}}
/* v0.6.0: cover art, song thumbnails, sleep timer (Founder-approved) */
.wrbr-cover{float:left;width:120px;height:120px;margin:0 18px 10px 0;border-radius:10px;object-fit:cover;background:var(--wrbr-c-navy2,#00154b);box-shadow:0 4px 14px rgba(0,0,0,.15)}
.wrbr-cover[hidden]{display:none}
.wrbr-teaser,.wrbr-take-host,.wrbr-vis-host,.wrbr-dub-host,.wrbr-progress-wrap,.wrbr-program-row{clear:both}
.wrbr-row-art{order:-1;flex:none;width:40px;height:40px;border-radius:6px;object-fit:cover;background:var(--wrbr-c-navy2,#00154b)}
.wrbr-track-list li.wrbr-row:before{align-self:center;order:-2}
.wrbr-prefs{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;position:relative}
.wrbr-player button.wrbr-sleep-open{padding:6px 12px;min-height:32px;border:1px solid var(--wrbr-edge);border-radius:999px;background:#fff;color:#142032;font-size:12.5px;font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums}
.wrbr-player button.wrbr-sleep-open.is-on{border-color:var(--wrbr-c-navy,#00209f);background:#edf3ff;color:var(--wrbr-c-navy,#00209f)}
.wrbr-sleep-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:50;display:flex;flex-direction:column;width:220px;padding:6px;border:1px solid var(--wrbr-edge);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(22,43,71,.15)}
.wrbr-player button.wrbr-sleep-item{padding:9px 10px;border:0;border-radius:6px;background:none;color:#142032;font-size:13.5px;font-weight:600;text-align:left;cursor:pointer}
.wrbr-player button.wrbr-sleep-item:hover,.wrbr-player button.wrbr-sleep-item:focus-visible{background:#edf3ff}
.wrbr-player button.wrbr-sleep-item.is-on{color:var(--wrbr-c-navy,#00209f)}
@media (pointer:coarse){.wrbr-player button.wrbr-sleep-open,.wrbr-player button.wrbr-settings-open{min-height:44px}.wrbr-player button.wrbr-sleep-item{min-height:44px}}
@media(max-width:560px){.wrbr-cover{width:84px;height:84px;margin-right:14px}}
/* v0.6.0: the theme makes headings drop below floated images; keep the title and artist beside the cover art */
.wrbr-now>.wrbr-title,.wrbr-now>.wrbr-artist,.wrbr-now>.wrbr-label,.wrbr-now>.wrbr-plays{clear:none}
/* v0.6.1: "hidden" always means hidden inside the player. Some button styles above set
   display:block/flex with higher specificity than the [hidden] rules, which kept the
   "Tap to see the music" box (and could keep tiles) visible after the player hid them. */
.wrbr-player [hidden]{display:none!important}
/* v0.6.2: on touch screens, the ✕ close buttons (Jam View, How to play/Settings, Share) meet the 44px minimum tap target */
@media (pointer:coarse){
.is-jam>.wrbr-jam-close{width:44px;height:44px}
.wrbr-howto button.wrbr-howto-x{width:44px;height:44px;min-width:44px}
}
/* v0.6.3: guaranteed one-tap sound recovery (Safari only allows resuming audio from inside a real tap) */
.wrbr-player button.wrbr-sound-stuck{display:block;width:100%;margin:4px 0 10px;padding:12px;min-height:48px;border:2px solid var(--wrbr-c-red,#d21034);border-radius:12px;background:#fff0f0;color:#8a0a1c;font-size:15px;font-weight:800;cursor:pointer;animation:wrbr-stuck-pulse 1.6s ease-in-out infinite}
.wrbr-player button.wrbr-sound-stuck[hidden]{display:none;animation:none}
@keyframes wrbr-stuck-pulse{0%,100%{box-shadow:0 0 0 0 rgba(210,16,52,.35)}50%{box-shadow:0 0 0 8px rgba(210,16,52,0)}}
@media (prefers-reduced-motion:reduce){.wrbr-player button.wrbr-sound-stuck{animation:none}}
/* v0.7.0: Featuring link, sing-along lyrics, Kids Mode, in-app browser note (Founder-approved) */
.wrbr-player a.wrbr-featuring{display:inline-block;margin-top:4px;font-size:12.5px;font-weight:700;color:var(--wrbr-c-navy,#00209f);text-decoration:none}
.wrbr-player a.wrbr-featuring:hover{text-decoration:underline}
.wrbr-player a.wrbr-featuring[hidden]{display:none}
.wrbr-lyrics{margin:6px 0 10px}
.wrbr-player button.wrbr-lyrics-toggle{padding:6px 12px;min-height:32px;border:1px solid var(--wrbr-edge);border-radius:999px;background:#fff;color:#142032;font-size:12.5px;font-weight:700;cursor:pointer}
.wrbr-lyrics-panel{margin-top:8px;padding:12px 14px;max-height:160px;overflow-y:auto;border-radius:12px;background:#f5f7fa;border:1px solid var(--wrbr-edge)}
.wrbr-lyrics-line{margin:0 0 8px!important;font-size:14px;line-height:1.5;color:#5f6b7a;transition:color .2s ease}
.wrbr-lyrics-line.is-now{color:var(--wrbr-c-navy2,#00154b);font-weight:700}
.wrbr-lyrics-line.is-blank{height:6px;margin-bottom:8px!important}

/* Kids Mode: bigger, simpler, calmer */
.wrbr-player.is-kids .wrbr-controls button{min-height:60px;font-size:17px}
.wrbr-player.is-kids button.wrbr-toggle{min-width:120px;font-size:19px}
.wrbr-player.is-kids .wrbr-title{font-size:30px}
.wrbr-player.is-kids .wrbr-artist{font-size:16px}
.wrbr-player.is-kids .wrbr-cover{width:150px;height:150px}
.wrbr-player.is-kids .wrbr-lyrics-toggle{min-height:52px;font-size:16px;padding:10px 20px}
.wrbr-player.is-kids .wrbr-queue,.wrbr-player.is-kids .wrbr-engage,.wrbr-player.is-kids .wrbr-share,.wrbr-player.is-kids .wrbr-program-row,.wrbr-player.is-kids .wrbr-repeat,.wrbr-player.is-kids .wrbr-tools{display:none!important}
.wrbr-player button.wrbr-kids-exit{padding:8px 16px;min-height:44px;border:2px solid var(--wrbr-c-gold,#ffd23f);border-radius:999px;background:#142032;color:var(--wrbr-c-gold,#ffd23f);font-size:13px;font-weight:700;cursor:pointer}
.wrbr-kidslock-card{text-align:center}
.wrbr-kidslock-q{margin:0 0 16px!important;font-size:22px;font-weight:700;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-kidslock-row{display:flex;justify-content:center;gap:12px;margin-bottom:14px}
.wrbr-howto button.wrbr-kidslock-opt{width:64px;height:56px;padding:0;border-radius:12px;border:2px solid var(--wrbr-c-gold,#ffd23f);background:rgba(255,255,255,.08);color:#fff3c4;font-size:19px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}
.wrbr-howto button.wrbr-kidslock-opt:hover{background:rgba(255,210,63,.25)}
.wrbr-kidslock-card.is-wrong{animation:wrbr-kidslock-shake .4s ease}
@keyframes wrbr-kidslock-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.wrbr-howto button.wrbr-kidslock-cancel{display:block;margin:0 auto;width:auto;height:auto;border:0;background:none;color:#f3ecd0;font-size:12.5px;text-decoration:underline}

/* In-app browser note */
.wrbr-inapp-note{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;border-radius:12px;background:#142032;color:#fff;font-size:12.5px}
.wrbr-inapp-note[hidden]{display:none}
.wrbr-inapp-icon{font-size:18px;flex:none}
.wrbr-inapp-note b{display:block;font-size:13px;margin-bottom:1px}
.wrbr-inapp-note span{opacity:.85}
.wrbr-player button.wrbr-inapp-open{flex:none;padding:7px 12px;min-height:32px;border:0;border-radius:999px;background:var(--wrbr-c-gold,#ffd23f);color:#3a2600;font-size:12px;font-weight:700;cursor:pointer}
.wrbr-player button.wrbr-inapp-x{flex:none;background:none;border:0;color:#9fb0c7;font-size:16px;cursor:pointer;padding:4px}
@media(max-width:560px){.wrbr-player.is-kids .wrbr-cover{width:110px;height:110px}.wrbr-player.is-kids .wrbr-title{font-size:24px}}
/* v0.7.5: slim share panel - "Copy link" and "More apps..." only (above Jam View, like every pop-up) */
.wrbr-share-backdrop{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,10,40,.45)}
.wrbr-share-panel{width:100%;max-width:420px;max-height:calc(100vh - 32px);overflow:auto;padding:16px;border-radius:14px;background:#fff;color:var(--wrbr-ink);box-shadow:0 20px 50px rgba(0,0,0,.3);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.wrbr-share-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.wrbr-share-title{margin:0!important;font-size:16px;font-weight:800;line-height:1.3}
.wrbr-player button.wrbr-share-close{min-width:36px;min-height:36px;padding:0;border:0;border-radius:8px;background:#f1f4f8;color:#4a5566;font-size:16px;cursor:pointer}
.wrbr-share-sub{margin:2px 0 12px!important;font-size:12.5px;color:#4a5566}
.wrbr-share-copy{display:flex;gap:8px}
.wrbr-share-url{flex:1;min-width:0;padding:8px 10px;border:1px solid #dbe3ed;border-radius:8px;background:#f7f9fc;color:#4a5566;font-size:12px}
.wrbr-player button.wrbr-share-copybtn{padding:8px 14px;min-height:40px;border:0;border-radius:8px;background:var(--wrbr-blue);color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.wrbr-player button.wrbr-share-more{display:block;width:100%;margin-top:10px;padding:10px 12px;min-height:44px;border:0;border-radius:8px;background:var(--wrbr-c-navy2,#00154b);color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.wrbr-share-tip{margin:10px 0 0!important;padding:8px 10px;border-radius:8px;background:#fff5d6;color:#5a3500;font-size:12.5px}
.wrbr-share-panel button:focus-visible{outline:3px solid #efa938;outline-offset:2px}
@media (pointer:coarse){.wrbr-player button.wrbr-share-close{min-width:44px;min-height:44px}}
/* v0.7.6 (fix): Jam View hides every direct child of the player that isn't explicitly allowed
   (.wrbr-player.is-jam>*{display:none}). The share panel is a direct child, so it must be on the
   allowed list too, or tapping Share in Jam View opens an invisible panel. Same specificity as the
   hide rule plus one class, so it always wins regardless of file order. */
.wrbr-player.is-jam>.wrbr-share-backdrop{display:flex}
/* ---------- v0.8.0: site-wide WRBR bar, the player sheet, page-change loading line ---------- */
.wrbr-site{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.wrbr-site audio{display:none}
html.wrbr-has-bar body{padding-bottom:var(--wrbr-bar-space,0px)}
.wrbr-bar{position:fixed;left:0;right:0;bottom:0;z-index:99000;display:flex;align-items:center;gap:14px;box-sizing:border-box;min-height:72px;padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));background:var(--wrbr-c-navy2,#00154b);color:#fff;box-shadow:0 -6px 20px rgba(0,0,0,.22);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.3;transition:transform .2s ease}
.wrbr-bar.is-hidden{transform:translateY(110%);pointer-events:none;visibility:hidden}
.wrbr-bar [hidden]{display:none!important}
.wrbr-bar-progress{position:absolute;left:0;right:0;top:0;height:3px;background:rgba(255,255,255,.15);overflow:hidden}
.wrbr-bar-progress-fill{display:block;height:100%;background:var(--wrbr-c-gold,#ffd23f);transform-origin:0 50%;transform:scaleX(0)}
.wrbr-bar-progress.is-resume .wrbr-bar-progress-fill{opacity:.55}
.wrbr-site .wrbr-bar button{margin:0;box-sizing:border-box;font-family:inherit;line-height:1.2;text-transform:none;letter-spacing:0;text-shadow:none;box-shadow:none;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.wrbr-site .wrbr-bar button:focus-visible{outline:3px solid #efa938;outline-offset:2px}
.wrbr-site .wrbr-bar button.wrbr-bar-art{flex:none;position:relative;width:48px;height:48px;padding:0;border:0;border-radius:6px;overflow:hidden;background:var(--wrbr-c-gold,#ffd23f);color:var(--wrbr-c-navy2,#00154b);display:flex;align-items:center;justify-content:center}
.wrbr-bar-art img{display:block;width:100%;height:100%;object-fit:cover}
.wrbr-bar-art-icon{display:flex}
.wrbr-site .wrbr-bar button.wrbr-bar-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:2px 0;border:0;border-radius:4px;background:none;color:#fff;text-align:left}
.wrbr-site .wrbr-bar button.wrbr-bar-info:hover,.wrbr-site .wrbr-bar button.wrbr-bar-info:focus{background:none;color:#fff}
.wrbr-bar-title-row{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:15px}
.wrbr-bar-title{font-weight:700}
.wrbr-bar-artist{font-weight:400;color:#c9d4ee}
.wrbr-bar-label{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;color:#c9d4ee}
.wrbr-bar-label.is-gold{color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-bar-kids{flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:2px solid var(--wrbr-c-gold,#ffd23f);border-radius:999px;color:var(--wrbr-c-gold,#ffd23f);font-size:13px;font-weight:800;box-sizing:border-box}
.wrbr-bar-repeat{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid var(--wrbr-c-gold,#ffd23f);border-radius:999px;background:rgba(255,210,63,.15);color:var(--wrbr-c-gold,#ffd23f);box-sizing:border-box}
.wrbr-site .wrbr-bar button.wrbr-bar-play{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:104px;height:44px;padding:0 18px;border:0;border-radius:999px;background:var(--wrbr-c-red,#d21034);color:#fff;font-size:15px;font-weight:800}
.wrbr-site .wrbr-bar button.wrbr-bar-play:hover{background:#b80d2c;color:#fff}
.wrbr-site .wrbr-bar button.wrbr-bar-resume{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border:0;border-radius:999px;background:var(--wrbr-c-gold,#ffd23f);color:var(--wrbr-c-navy2,#00154b);font-size:15px;font-weight:800}
.wrbr-site .wrbr-bar button.wrbr-bar-resume:hover{background:#ffdf6e;color:var(--wrbr-c-navy2,#00154b)}
.wrbr-site .wrbr-bar button.wrbr-bar-resume:disabled{opacity:.55;cursor:default}
.wrbr-site .wrbr-bar button.wrbr-bar-next,.wrbr-site .wrbr-bar button.wrbr-bar-dismiss{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:2px solid rgba(255,255,255,.5);border-radius:999px;background:none;color:#fff}
.wrbr-site .wrbr-bar button.wrbr-bar-next:disabled{opacity:.4;cursor:default}
.wrbr-site .wrbr-bar button.wrbr-bar-open{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 16px;border:2px solid rgba(255,255,255,.5);border-radius:999px;background:none;color:#fff;font-size:14px;font-weight:700}
.wrbr-site .wrbr-bar button.wrbr-bar-next:hover,.wrbr-site .wrbr-bar button.wrbr-bar-open:hover,.wrbr-site .wrbr-bar button.wrbr-bar-dismiss:hover{background:rgba(255,255,255,.1);color:#fff}
@media(max-width:700px){
.wrbr-bar{gap:10px;min-height:66px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
.wrbr-site .wrbr-bar button.wrbr-bar-art{width:42px;height:42px}
.wrbr-bar-title-row{font-size:14px}
.wrbr-bar-artist{display:none}
.wrbr-bar-label{font-size:12px}
.wrbr-site .wrbr-bar button.wrbr-bar-play{min-width:0;padding:0 14px}
.wrbr-site .wrbr-bar button.wrbr-bar-open{width:44px;padding:0}
.wrbr-bar-open-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.wrbr-bar-kids{width:32px;padding:0;justify-content:center}
.wrbr-bar-kids-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.wrbr-bar-repeat{display:none}
}
@media(max-width:380px){.wrbr-site .wrbr-bar button.wrbr-bar-play span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.wrbr-site .wrbr-bar button.wrbr-bar-play{width:44px;padding:0}}
/* The full player folds away in the dock; "Open player" shows it as a sheet over the page. */
.wrbr-dock[hidden]{display:none!important}
.wrbr-dock.is-sheet{position:fixed;inset:0;z-index:99500;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:rgba(0,10,40,.55);padding:0 0 env(safe-area-inset-bottom,0px)}
html.wrbr-sheet-open,html.wrbr-sheet-open body{overflow:hidden}
.wrbr-sheet-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:990px;margin:0 auto;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px;background:var(--wrbr-c-navy2,#00154b);color:#fff;box-sizing:border-box}
.wrbr-sheet-title{font-size:16px;font-weight:800;letter-spacing:.02em}
.wrbr-site button.wrbr-sheet-close{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0;padding:0 16px;border:2px solid rgba(255,255,255,.5);border-radius:999px;background:none;color:#fff;font:700 14px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:none;cursor:pointer}
.wrbr-site button.wrbr-sheet-close:hover{background:rgba(255,255,255,.1);color:#fff}
.wrbr-site button.wrbr-sheet-close:focus-visible{outline:3px solid #efa938;outline-offset:2px}
.wrbr-dock.is-sheet .wrbr-player{margin:0 auto 24px;border-radius:0 0 20px 20px}
.wrbr-dock.is-sheet .wrbr-player.is-jam{margin:0!important;border-radius:0}
.wrbr-slot .wrbr-player{margin-top:0}
/* Page change in progress: a thin gold line at the top. */
.wrbr-loading{position:fixed;left:0;top:0;z-index:100002;height:3px;width:100%;background:var(--wrbr-c-gold,#ffd23f);transform-origin:0 50%;transform:scaleX(0);opacity:0;pointer-events:none}
.wrbr-loading.is-on{opacity:1;animation:wrbr-loading 1.6s ease-out forwards}
@keyframes wrbr-loading{0%{transform:scaleX(.05)}60%{transform:scaleX(.7)}100%{transform:scaleX(.92)}}
@media (prefers-reduced-motion:reduce){.wrbr-loading.is-on{animation:none;transform:scaleX(.6)}.wrbr-bar{transition:none}}
.wrbr-focus-target:focus{outline:none}
html.wrbr-jam-open .wrbr-bar{visibility:hidden}
@media print{.wrbr-site{display:none!important}}
/* v0.8.0: Kids Mode stays on Kids Hits, so the "Back to WRBR rotation" button has nothing to do there. */
.wrbr-player.is-kids .wrbr-playlist-exit{display:none!important}
/* v0.9.0: Seasons. seasons.js sets html.wrbr-season-on and the --wrbr-s-* colors for the holiday showing today. */
html.wrbr-season-on .wrbr-bar{background:var(--wrbr-s-bar);padding-top:15px}
html.wrbr-season-on .wrbr-bar::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--wrbr-s-ribbon);pointer-events:none}
html.wrbr-season-on .wrbr-bar-progress{top:5px}
html.wrbr-season-on .wrbr-bar-progress-fill{background:var(--wrbr-s-label)}
html.wrbr-season-on .wrbr-bar-label,html.wrbr-season-on .wrbr-bar-label.is-gold{color:var(--wrbr-s-label)}
html.wrbr-season-on .wrbr-bar-artist{color:rgba(255,255,255,.85)}
html.wrbr-season-on .wrbr-site .wrbr-bar button.wrbr-bar-play,html.wrbr-season-on .wrbr-site .wrbr-bar button.wrbr-bar-play:hover,html.wrbr-season-on .wrbr-site .wrbr-bar button.wrbr-bar-play:focus{background:var(--wrbr-s-play);color:var(--wrbr-s-play-ink)}
html.wrbr-season-on .wrbr-site .wrbr-bar button.wrbr-bar-play:hover{filter:brightness(.92)}
html.wrbr-season-on .wrbr-site .wrbr-bar button.wrbr-bar-art{background:var(--wrbr-s-play);color:var(--wrbr-s-play-ink)}
html.wrbr-season-on .wrbr-sheet-head{background:var(--wrbr-s-bar)}
html.wrbr-season-on .wrbr-player .wrbr-header{background:var(--wrbr-s-bar);border-bottom:8px solid var(--wrbr-s-play);border-image:var(--wrbr-s-ribbon) 1}
html.wrbr-season-on .wrbr-player .wrbr-eyebrow,html.wrbr-season-on .wrbr-player .wrbr-lede.is-greeting{color:var(--wrbr-s-label);opacity:1;font-weight:600}
html.wrbr-season-on .wrbr-player .wrbr-controls button.wrbr-toggle{background:var(--wrbr-s-play);border-color:var(--wrbr-s-play);color:var(--wrbr-s-play-ink)}
html.wrbr-season-on .wrbr-player input[type=range]{accent-color:var(--wrbr-s-accent)}
.wrbr-season-note{position:fixed;left:12px;top:calc(12px + env(safe-area-inset-top,0px));z-index:99600;max-width:calc(100% - 24px);padding:8px 12px;border-radius:8px;background:#1d2327;color:#fff;font:600 13px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.wrbr-season-note a{color:var(--wrbr-c-gold,#ffd23f);text-decoration:underline}
body.admin-bar .wrbr-season-note{top:44px}
@media print{.wrbr-season-note{display:none}}
.wrbr-bar-label.is-caption{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25}
/* v0.9.2 (Founder-approved mockups): phones. No Jam View button; the Dub Lab opens this full-screen view,
   titled "DUB LAB", with the close button top-right so it never covers the song title. */
.wrbr-player.is-phone .wrbr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.wrbr-player.is-jam.is-phone{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:calc(10px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-rows:auto auto auto minmax(0,1fr) auto auto auto auto auto auto auto auto;
  grid-template-areas:"jt jt jt jt jt jt" "title title title title title title" "artist artist artist artist artist artist" "stage stage stage stage stage stage" "beats beats beats beats tempo tempo" "throw throw throw crash crash crash" "echo echo echo echo echo echo" "rev rev rev rev rev rev" "share share share prac prac prac" "prev prev play play next next" "how how how demo demo demo" "tip tip tip tip tip tip"}
.is-jam.is-phone>a.wrbr-jam-demo{display:inline-flex;grid-area:demo;min-height:44px}
.wrbr-player a.wrbr-dub-demo svg,.wrbr-player a.wrbr-jam-demo svg{flex:none}
.is-jam.is-phone>a.wrbr-jam-demo{padding:6px 10px}
@media (max-width:359px){.is-jam.is-phone>a.wrbr-jam-demo svg{display:none}}
.is-jam.is-phone>.wrbr-jam-close{left:auto;right:calc(12px + env(safe-area-inset-right,0px));top:calc(10px + env(safe-area-inset-top,0px))}
.is-jam.is-phone>.wrbr-jam-title{display:block;grid-area:jt;align-self:center;justify-self:start;padding-right:56px;font-size:12px;font-weight:700;letter-spacing:2px;color:var(--wrbr-c-gold,#ffd23f);white-space:nowrap}
.is-jam.is-phone .wrbr-now>.wrbr-title,.is-jam.is-phone .wrbr-now>.wrbr-artist{padding-left:0;padding-right:56px}
.is-jam.is-phone>.wrbr-jam-how{min-height:44px}
.is-jam.is-phone .wrbr-dub button.wrbr-dub-btn{min-height:44px}
.is-jam.is-phone .wrbr-controls>.wrbr-previous,.is-jam.is-phone .wrbr-controls>.wrbr-next,.is-jam.is-phone .wrbr-controls>.wrbr-toggle{height:44px;min-height:44px}
@media (orientation:landscape){
.wrbr-player.is-jam.is-phone{row-gap:6px;column-gap:6px;
  padding:calc(8px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));
  grid-template-columns:minmax(0,10fr) repeat(10,minmax(0,1fr));
  grid-template-rows:auto auto auto auto auto auto auto minmax(0,1fr);
  grid-template-areas:"title jt jt jt how how how how demo demo demo" "artist jt jt jt how how how how demo demo demo" "stage beats beats beats beats beats beats tempo tempo tempo tempo" "stage throw throw throw throw throw crash crash crash crash crash" "stage echo echo echo echo echo echo echo echo echo echo" "stage rev rev rev rev rev rev rev rev rev rev" "stage share share prac prac prev prev play play next next" "stage tip tip tip tip tip tip tip tip tip tip"}
.is-jam.is-phone>.wrbr-jam-close{top:calc(8px + env(safe-area-inset-top,0px))}
.is-jam.is-phone>.wrbr-jam-title{justify-self:end;padding-right:0;font-size:12px}
.is-jam.is-phone>.wrbr-jam-how{align-self:center;min-height:44px;font-size:12px;padding:4px 8px;white-space:nowrap}
.is-jam.is-phone .wrbr-now>.wrbr-title,.is-jam.is-phone .wrbr-now>.wrbr-artist{padding-right:0}
.is-jam.is-phone .wrbr-now>.wrbr-title{align-self:end;font-size:14px!important}
.is-jam.is-phone .wrbr-now>.wrbr-artist{align-self:start;font-size:11.5px}
.is-jam.is-phone .wrbr-dub-beats{margin:0!important;font-size:11px}
.is-jam.is-phone .wrbr-dub-tempo{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.is-jam.is-phone .wrbr-dub-card{padding:3px}
.is-jam.is-phone .wrbr-dub button.wrbr-dub-big{height:44px;min-height:44px;font-size:14px}
.is-jam.is-phone .wrbr-dub-grid>.wrbr-dub-card:nth-child(3),.is-jam.is-phone .wrbr-dub-grid>.wrbr-dub-card:nth-child(4){min-height:36px;padding:2px 10px}
.is-jam.is-phone .wrbr-dub button.wrbr-dub-btn{min-height:44px;padding:0 4px;font-size:12px}
.is-jam.is-phone .wrbr-dub-long{display:none}
.is-jam.is-phone .wrbr-controls>.wrbr-previous,.is-jam.is-phone .wrbr-controls>.wrbr-next,.is-jam.is-phone .wrbr-controls>.wrbr-toggle{height:44px;min-height:44px;min-width:0!important;padding:0}
.is-jam.is-phone .wrbr-controls>.wrbr-toggle{font-size:14px}
.is-jam.is-phone .wrbr-controls>.wrbr-previous,.is-jam.is-phone .wrbr-controls>.wrbr-next{font-size:18px}
}
/* v0.9.2: Jam View in true full screen (computers and tablets) fills the screen exactly. */
.wrbr-player.is-jam:fullscreen{width:100%;height:100%}
.wrbr-player.is-jam:-webkit-full-screen{width:100%;height:100%}

/* v0.9.9: green back/forward and How to play; Dub Lab always open (computers); Dub Lab bar (phones); shared-mix landing */
.wrbr-controls button.wrbr-previous,.wrbr-controls button.wrbr-next{background:var(--wrbr-c-skip,var(--wrbr-c-green,#1e7f34));border-color:var(--wrbr-c-skip,var(--wrbr-c-green,#1e7f34));color:#fff}
.wrbr-controls button.wrbr-previous:hover,.wrbr-controls button.wrbr-next:hover{border-color:var(--wrbr-c-skip2,var(--wrbr-c-green2,#2fbf5a))}
.is-jam .wrbr-controls>.wrbr-previous,.is-jam .wrbr-controls>.wrbr-next{border:1px solid var(--wrbr-c-skip2,var(--wrbr-c-green2,#2fbf5a));background:var(--wrbr-c-skip,var(--wrbr-c-green,#1e7f34));color:#fff}
.wrbr-dub button.wrbr-dub-guide{background:var(--wrbr-c-green,#1e7f34);border-color:var(--wrbr-c-green,#1e7f34);color:#fff}
.is-dub-always .wrbr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.is-dub-always .wrbr-dub-host{margin:4px 0 16px}
.wrbr-dub-wait{padding:18px;border-radius:14px;background:var(--wrbr-c-dub,#000);border:2px solid var(--wrbr-c-red,#c8102e);color:#ffe9b0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.wrbr-dub-wait-hd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.wrbr-dubx-title{display:inline-flex;align-items:baseline;gap:8px}
.wrbr-dubx-name{font-size:24px;font-weight:800;letter-spacing:.06em;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-dubx-ed{font-size:13px;font-style:italic;font-weight:600;letter-spacing:0;color:var(--wrbr-c-gold,#ffd23f);margin-left:6px}
.wrbr-player button.wrbr-dub-wait-btn{min-height:44px;padding:0 18px;border:none;border-radius:999px;background:var(--wrbr-c-gold2,#f2b705);color:#1d1d1f;font-size:15px;font-weight:800;cursor:pointer}
.wrbr-dub-wait-line{margin:10px 0 0;font-size:14px;font-weight:700;color:var(--wrbr-c-dubtext,var(--wrbr-c-red,#d21034))}
.wrbr-player button.wrbr-tile.wrbr-dub-bar{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:72px;margin:0 0 16px;padding:12px 16px;background:var(--wrbr-c-dub,#0b0b0d);border:2px solid var(--wrbr-c-red,#c8102e);color:#fff}
.wrbr-player button.wrbr-tile.wrbr-dub-bar[hidden]{display:none}
.wrbr-dub-bar .wrbr-tile-ic{display:none}
.wrbr-dub-bar .wrbr-tile-name{margin:0;font-size:22px;font-weight:800;letter-spacing:.06em;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-dub-bar .wrbr-tile-sub{padding:0;flex-basis:auto;font-size:13px;font-weight:700;color:var(--wrbr-c-dubtext,var(--wrbr-c-red,#d21034))}
.is-jam .wrbr-dub-bar{display:none!important}
.wrbr-mixshare{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:16px 18px;border-radius:14px;background:var(--wrbr-c-dub,#0b0b0d);border-bottom:3px solid var(--wrbr-c-gold2,#f2b705);color:#fff}
.wrbr-mixshare-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.wrbr-mixshare-kicker{font-size:15px;font-weight:700;color:var(--wrbr-c-gold,#ffd23f)}
.wrbr-mixshare-song{font-size:26px;line-height:1.15}
.wrbr-mixshare-artist{font-size:14px;color:#d6d7de}
.wrbr-player button.wrbr-mixshare-play{min-height:56px;padding:0 28px;border:none;border-radius:999px;background:var(--wrbr-red,#d21034);color:#fff;font-size:18px;font-weight:800;cursor:pointer}
.is-jam>.wrbr-mixshare{display:none}
.is-jam.is-dub-preview>.wrbr-mixshare{display:flex;grid-area:stage;flex-direction:column;align-items:stretch;margin:0;border:2px solid var(--wrbr-c-gold2,#f2b705)}
.is-jam.is-dub-preview>.wrbr-mixshare .wrbr-mixshare-play{width:100%}
.is-dub-preview .wrbr-teaser,.is-dub-preview .wrbr-vis-host{display:none!important}
@media(max-width:560px){.wrbr-player.is-dub-bar .wrbr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.wrbr-player.is-dub-bar button.wrbr-tile:not(.wrbr-dub-bar){flex-direction:column;align-items:flex-start;min-height:76px}.wrbr-player.is-dub-bar .wrbr-tiles .wrbr-tile-sub{flex-basis:auto;padding-left:0}.wrbr-player.is-dub-bar .wrbr-tiles .wrbr-tile-name{margin-top:4px}}
