/* bc-v115e Edit My Card — matches mockups/edit_card; no animation, no truncation */
.b15ed{position:fixed;left:0;right:0;top:0;z-index:900;overflow-y:auto;overscroll-behavior:contain;background:var(--bg,#0E1116);color:var(--ink,#F4F6F8);font-family:Inter,system-ui,sans-serif}
.b15ed[hidden]{display:none}.b15ed,.b15ed *,.b15ed *::before,.b15ed *::after{animation:none!important;transition:none!important;box-sizing:border-box}
.b15ed *{text-overflow:clip!important;overflow-wrap:anywhere}
.b15ed button{font:inherit;color:inherit;cursor:pointer;transform:none!important;text-transform:none;letter-spacing:0;font-style:normal}
.b15hd{position:sticky;top:0;z-index:2;background:#C8102E;color:#fff;padding:10px 14px;display:flex;align-items:center;gap:10px}.b15hd b{font-size:20px;flex:1}
.b15hb{min-width:48px;min-height:48px;border-radius:12px;background:rgba(0,0,0,.22);border:0;font-weight:800;padding:0 12px;font-size:15px;color:#fff!important}
.b15body{max-width:1280px;margin:0 auto;padding-bottom:12px}
@media(min-width:900px){.b15body{display:grid;grid-template-columns:420px 1fr;gap:4px;align-items:start}}
.b15sec{background:var(--panel,#171C24);border:1px solid var(--line,#2A313C);border-radius:16px;margin:10px 12px;padding:14px}
.b15sec h3{font-size:13px;letter-spacing:1.5px;color:var(--mut,#B4BDC8);margin:14px 0 8px;font-weight:800}.b15sec h3:first-child{margin-top:0}.b15sec h3 i{font-style:normal;color:var(--ink,#F4F6F8);letter-spacing:0;margin-left:6px}
.b15pv{display:flex;gap:12px;align-items:flex-start}.b15pv img{flex:none;width:132px;height:176px;object-fit:cover;object-position:top;border-radius:14px;border:3px solid #2EC4B6}.b15pv p{font-size:14px;color:var(--mut,#B4BDC8);line-height:1.4;margin:0}
.b15tag{display:inline-block;background:#2EC4B6;color:#0E1116;font-weight:800;font-size:12px;border-radius:12px;padding:4px 10px;margin-bottom:8px}
.b15sws{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.b15six{grid-template-columns:repeat(6,1fr)}
.b15sw{height:48px;min-width:0;border-radius:24px;border:3px solid var(--line,#2A313C);padding:0}.b15sw.on{border-color:#2EC4B6;box-shadow:0 0 0 2px var(--ink,#F4F6F8)}
.b15lks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.b15lk{border:2px solid var(--line,#2A313C);border-radius:12px;padding:6px;text-align:center;font-weight:800;font-size:15px;background:none}
.b15lk img{width:100%;height:110px;object-fit:cover;object-position:top;border-radius:8px;display:block;margin-bottom:4px}
.b15lk.on,.b15ch.on{border-color:#2EC4B6;background:var(--panel2,#1F2630)}
.b15chs{display:flex;gap:8px;flex-wrap:wrap}.b15ch{min-height:48px;padding:0 16px;border:2px solid var(--line,#2A313C);border-radius:24px;font-weight:700;font-size:15px;background:none}
.b15nt{font-size:12.5px;color:var(--mut,#B4BDC8);margin:8px 0 0;line-height:1.4}
.b15fl{display:block;margin-bottom:10px}.b15fl>span{display:block;font-size:13px;font-weight:700;color:var(--mut,#B4BDC8);margin-bottom:4px}
.b15fl input{width:100%;min-height:48px;border:1px solid var(--line,#2A313C);background:var(--panel2,#1F2630);color:var(--ink,#F4F6F8);border-radius:12px;padding:12px;font-size:16px;font-family:inherit}
.b15fl input:focus-visible,.b15ed button:focus-visible{outline:3px solid #2E6FD8;outline-offset:2px}
.b15r2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.b15tg{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin:0 0 10px;font-size:14px;font-weight:700}
.b15tg input{-webkit-appearance:none;appearance:none;flex:none;width:50px;height:28px;border-radius:14px;background:#94a3b8;position:relative;margin:0;cursor:pointer}
.b15tg input::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff}.b15tg input:checked{background:#009E73}.b15tg input:checked::after{left:25px}
.b15kid{border-left:5px solid #E69F00;background:var(--panel2,#1F2630);border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.45}
.b15save{display:flex;gap:8px;margin:10px 12px 14px}.b15save button{flex:1;min-height:52px;border-radius:14px;font-weight:800;font-size:16px;border:2px solid var(--line,#2A313C);background:var(--panel,#171C24)}
.b15save .p{background:#C8102E;color:#fff!important;border-color:#C8102E}
html.b15open body{overflow:hidden}
.b13ai.b15cv{object-fit:cover;object-position:top}
/* v115e faces + field Key */
.b15face{border-radius:50%;border:3px solid #C8102E;object-fit:cover;background:var(--panel2);vertical-align:middle;display:inline-block;flex:none;animation:none;transition:none}
.rolebtn.on .b15face,.b15sf .b15face{border-color:#0F8B8D}
.b15fav{display:inline-flex;align-items:center;justify-content:center;background:none!important}
.b15fav .b15face{width:100%;height:100%}
.b15sf{margin-right:6px}
.chips .chip .b15chi{margin-right:4px}
.b15key{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;margin:8px 0 4px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;transition:none;animation:none}
.b15key span{color:var(--mut);font-weight:600}
.legend[hidden],.slegend[hidden]{display:none!important}
.chips .chip img.b15face{display:inline-block!important;width:28px!important;height:28px!important;min-width:28px;opacity:1!important}
.b15pr,.b15sf img{width:32px!important;height:32px!important}
/* r8 header lockup */
.b15brand{display:inline-flex;align-items:center;flex:none;background:#fff;border-radius:10px;padding:3px 8px;margin-right:6px}
.b15brand img{height:30px;width:auto;display:block}
.b15lkd{display:none!important}
:root[data-theme=dark]:not([data-sun="1"]) .b15brand{background:#000;box-shadow:0 0 0 1px #333}
:root[data-theme=dark]:not([data-sun="1"]) .b15lkl{display:none!important}
:root[data-theme=dark]:not([data-sun="1"]) .b15lkd{display:block!important}
.b15hasbrand #appName,.b15hasbrand #sportIcon .logo{display:none!important}
@media(max-width:380px){.b15brand img{height:26px}.b15brand{padding:2px 6px}}
.b15brand,.b15brand img{overflow:visible!important;clip-path:none!important}
.b15brand img{object-fit:contain;max-width:none;aspect-ratio:auto}
#top .brand.b15hasbrand{overflow:visible!important;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#top .brand.b15hasbrand small{white-space:normal;overflow:visible;text-overflow:clip}
@media(max-width:600px){#top{flex-wrap:wrap!important;height:auto!important;row-gap:6px}#top .brand.b15hasbrand{flex:1 0 100%;order:-1;justify-content:flex-start}.b15brand img{height:30px}}
@media(max-width:500px){#top .brand.b15hasbrand small{display:block!important;margin-left:0}}
.b13ev{min-height:max-content!important;height:auto!important}#view img.logo{object-fit:contain!important;width:44px!important;height:44px!important;max-width:none!important}
.b13ev{display:flow-root!important}
/* v115e repeat/transport: explicit colors so controls never render as empty dark boxes (modal is dark even in day theme) */
.transport .btn:not(.pri):not(.on),.transport .loopbtn:not(.on){background:#fff!important;color:#1F2933!important;border:2px solid #5B6670!important;opacity:1!important}
.transport .btn:not(.pri) svg,.transport .loopbtn svg{color:inherit!important;fill:none;stroke:currentColor}
.transport .loopbtn.on{background:#00664A!important;color:#fff!important;border-color:#00664A!important}
:root[data-theme=dark] .transport .btn:not(.pri):not(.on),:root[data-theme=dark] .transport .loopbtn:not(.on){background:#0E131D!important;color:#E6EDF3!important;border-color:#8B98A5!important}
:root[data-sun="1"] .transport .btn:not(.pri):not(.on),:root[data-sun="1"] .transport .loopbtn:not(.on){background:#fff!important;color:#000!important;border-color:#000!important}
.transport .loopbtn{white-space:nowrap;font-weight:800}
#modal .transport .mut,#modal .transport span{color:#D0D7DE!important}
/* v115e: keep cards (music card etc.) clear of the sticky header and fixed bottom nav when scrolled into view */
html{scroll-padding-top:calc(var(--bcTopH,72px) + 8px);scroll-padding-bottom:calc(var(--bcNavH,64px) + 8px)}

/* v115e header option B: charcoal bar + red underline, bigger lockup, no pill */
#top{background:#1E1E22!important;background-image:none!important;border-bottom:3px solid #C8102E!important;color:#fff!important}
#top .b15brand,:root[data-theme] #top .b15brand{background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;margin-right:8px}
#top .b15brand .b15lkl,#top .b15brand .b15lkd{display:none!important}
#top .b15brand .b15lkb{display:block!important;height:56px!important;width:auto!important;max-width:none!important;object-fit:contain}
#top .brand,#top .brand small,#top #teamName{color:#fff!important}
@media(max-width:600px){#top .b15brand .b15lkb{height:44px!important}#top{padding-top:8px!important;padding-bottom:8px!important}}
@media(max-width:340px){#top .b15brand .b15lkb{height:40px!important}}
/* name: never split a word */
.b13nm{overflow-wrap:normal!important;word-break:normal!important;hyphens:none}
@media(max-width:420px){.b13nm{font-size:clamp(18px,6vw,24px)!important}}
/* v115e playnav (full player prev/next as its own row so transports match) */
#modal .playnav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
#modal .playnav .btn{background:#fff!important;color:#1F2933!important;border:2px solid #5B6670!important;min-height:44px;opacity:1!important;white-space:nowrap}
#modal .playnav .btn[disabled]{opacity:.55!important}
:root[data-theme=dark] #modal .playnav .btn{background:#0E131D!important;color:#E6EDF3!important;border-color:#8B98A5!important}
:root[data-sun="1"] #modal .playnav .btn{background:#fff!important;color:#000!important;border-color:#000!important}
#modal .playnav .mut{color:#D0D7DE!important;font-weight:700}
/* v115e: back only with real history; role titles never split mid-word, never ellipsis */
.bc-nohist .gs-top .gs-back{display:none!important}
.gs-top h2{text-overflow:clip!important;white-space:nowrap!important;overflow:hidden;overflow-wrap:normal!important;word-break:normal!important}
.b13nm{white-space:normal;overflow:hidden}
/* v115e RSVP: one row of 3 equal buttons, no wrap, 44px+ */
.b15rs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;flex-wrap:nowrap!important;width:100%}
.b15rs>button{min-width:0!important;width:100%!important;min-height:48px!important;margin:0!important;padding:6px 4px!important;white-space:nowrap!important;overflow:visible;text-overflow:clip!important;font-size:clamp(12px,3.4vw,15px)!important;display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:none!important}
.b15rs>button svg,.b15rs>button img{flex:none;width:16px;height:16px}
.b15rsk{margin-top:12px;padding:12px;border-radius:12px;border:2px solid currentColor;font-weight:800;font-size:15px;min-height:44px}
.b15rs.b15rsh{display:none!important}
