@charset "UTF-8";
.bb .community-hub .catalog-search{display:flex;align-items:center;gap:10px;padding:0 12px}.bb .community-hub .catalog-search input{border:0;background:transparent;margin:0;padding:12px 4px;min-height:46px}.bb .community-hub .catalog-search>span{font-size:23px}
.bb .catalog-search{margin:0 0 20px;max-width:360px}.bb .public-games{margin-bottom:30px}.bb .public-games .hub-world-copy h3{font-size:22px}.bb .art-credit{display:block;margin-top:16px;font-size:10px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.bb .game-catalog-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:16px 0}.bb .game-picker-results{display:grid;gap:16px;margin:24px 0}.bb .game-picker-results h2{font-size:20px;overflow-wrap:anywhere}.bb .member-surface button:disabled{opacity:.5;cursor:not-allowed}.bb .public-games .hub-world-card[hidden]{display:none}.bb .game-catalog-row strong{overflow-wrap:anywhere;min-width:0}
@media(min-width:600px){.bb .game-picker-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1250px){.bb .public-games{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bb .brand small{letter-spacing:.7px}.bb .hub-heading .hub-welcome{font-size:12px;color:var(--muted);margin-top:7px}.bb .home-cost-strip{display:grid;gap:1px;border:1px solid var(--line);border-radius:12px;background:var(--line);overflow:hidden;margin-bottom:24px}.bb .home-cost-strip a{display:grid;gap:5px;padding:18px 22px;background:#222438;min-width:0}.bb .home-cost-strip a:hover{background:#2b2c43}.bb .home-cost-strip span{font-size:10px;color:var(--muted)}.bb .home-cost-strip strong{font-size:23px;color:var(--gold);letter-spacing:-.5px}.bb .home-cost-strip small{font-size:11px;font-weight:400}.bb .inbox-link{display:inline-flex;gap:5px;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex-shrink:0;color:var(--gold)}.bb .inbox-link b{font-size:9px;border-radius:6px;background:#f2d27e22;padding:1px 5px}.bb .topbar .preview-indicator{gap:9px}.bb .platform-badges{display:flex;align-items:center;justify-content:center;gap:4px}.bb .platform-badge{display:grid;place-items:center;width:21px;height:21px;border:1px solid #8a839c;border-radius:6px;background:#38374b}.bb .platform-badge img{filter:brightness(0) invert(1);width:13px;height:13px}.bb .platform-badge.online{background:#305b43;border-color:#a8dfb3;box-shadow:0 0 8px #8aca9b33}.bb .platform-badge.offline{opacity:.65}.bb .platform-badge.unknown{border-style:dashed;opacity:.65}.bb .playing-now{font-size:9px;color:#c8e8ca;overflow-wrap:anywhere}.bb .person{max-width:90px}.bb .section-intro{color:var(--muted);font-size:14px;max-width:850px;line-height:1.8;margin-bottom:24px}.bb .group-grid,.bb .cost-list{display:grid;gap:20px}.bb .group-card,.bb .cost-item,.bb .notification-card,.bb .notification-settings,.bb .admin-panel{border:1px solid var(--line);border-radius:13px;padding:24px;background:#23253a;margin-bottom:18px;min-width:0;overflow-wrap:anywhere}.bb .group-card h2{margin:0 0 10px}.bb .group-card h3{margin:22px 0 12px;font-size:13px}.bb .group-card>p,.bb .cost-item>p{font-size:13px;color:var(--muted);margin:8px 0}.bb .group-symbol{font-size:30px;color:var(--gold)}.bb .group-roster{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.bb .group-roster>span,.bb .group-roster>a{background:#ffffff08;border:1px solid #ffffff18;border-radius:6px;padding:6px 9px;font-size:11px;color:#ddd7ef}.bb .group-world{display:block;padding:10px 0;border-top:1px solid #7c684333;font-size:13px}.bb .member-surface fieldset{border:1px solid #92774766;border-radius:8px;padding:14px;margin:18px 0;min-width:0}.bb .member-surface legend{font-size:12px;color:var(--muted);padding:0 6px}.bb .member-surface .choice-grid{display:grid;gap:5px}.bb .member-surface .check-option{display:flex;align-items:center;gap:10px;font-size:13px;min-height:44px;margin:0;padding:5px 0;overflow-wrap:anywhere}.bb .member-surface input[type=checkbox]{display:block;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:var(--gold)}.bb .cost-metrics{display:grid;gap:16px;margin:24px 0}.bb .cost-metrics section{display:grid;gap:12px;padding:26px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(130deg,#343047,#25283e);min-width:0}.bb .cost-metrics span{font-size:12px;color:var(--muted)}.bb .cost-metrics strong{color:var(--gold);font-size:32px;letter-spacing:-1px;overflow-wrap:anywhere}.bb .cost-metrics small{font-size:10px;color:var(--muted)}.bb .cost-explanation{padding:18px 20px;border-left:2px solid var(--gold);background:#f2d27e09;font-size:12px;color:#c8c3d6;line-height:1.8;margin-bottom:28px}.bb .personal-cost-list article,.bb .cost-item-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.bb .personal-cost-list article h3{font-size:16px;margin:0 0 5px}.bb .personal-cost-list article p,.bb .cost-item-heading p{font-size:12px;color:var(--muted)}.bb .personal-cost-list article>strong,.bb .cost-item-heading>strong{color:var(--gold);font-size:23px}.bb .personal-cost-list small,.bb .cost-item-heading small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.bb .cost-item-heading h3{font-size:22px;margin:7px 0}.bb .share-list{list-style:none;padding:0;margin:0}.bb .share-list li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #8a714333;font-size:13px}.bb .share-list strong{color:var(--gold);white-space:nowrap}.bb .notification-layout{display:grid;gap:24px;align-items:start}.bb .notification-card.unread{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}.bb .notification-card h2{font-size:20px;margin:12px 0}.bb .notification-card>p{font-size:13px;color:var(--muted)}.bb .notification-card time{font-size:11px;color:var(--muted)}.bb .notification-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}.bb .notification-actions form{margin:0}.bb .notification-settings h2{font-size:21px;margin-top:0}.bb .cost-page-cta{display:inline-flex;padding:12px;color:var(--gold);font-size:13px}.bb .admin-panel>summary{font-size:16px;font-weight:600}
@media(min-width:600px){.bb .home-cost-strip,.bb .cost-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.bb .group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bb .form-pair,.bb .member-surface .choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(min-width:1150px){.bb .notification-layout{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}}
.bb .game-server-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px}
.bb .game-server-list li{border:1px solid var(--line);border-left:4px solid #6b6680;border-radius:14px;background:#23253a;transition:border-color .15s,transform .15s}
.bb .game-server-list li.is-online{border-left-color:#7be3a8}.bb .game-server-list li.is-busy{border-left-color:var(--gold)}.bb .game-server-list li.is-lost{border-left-color:var(--red)}
.bb .game-server-list li:hover,.bb .game-server-list li:focus-within{border-color:var(--gold);transform:translateY(-1px)}
.bb .game-server-list button{display:grid;gap:6px;width:100%;min-height:44px;margin:0;padding:12px 14px;border:0;border-radius:inherit;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.bb .game-server-list button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.bb .game-server-name{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bb .game-server-name strong{font-size:17px;line-height:1.25}
.bb .game-server-open{color:var(--muted);font-size:24px;line-height:1;transition:color .15s,transform .15s}
.bb .game-server-list li:hover .game-server-open,.bb .game-server-list li:focus-within .game-server-open{color:var(--gold);transform:translateX(2px)}
.bb .game-server-text{color:var(--muted);font-size:14px;line-height:1.5}
.bb .game-server-list .server-row-meta{margin-top:2px}
.bb .game-server-version{color:var(--muted);font-size:12px}
.bb .game-servers-dialog .game-admin-actions{margin:0 0 4px}
@media(prefers-reduced-motion:reduce){.bb .game-server-list li,.bb .game-server-open{transition:none}.bb .game-server-list li:hover{transform:none}}
.bb .public-games a.hub-game-art{display:block;cursor:pointer}
.bb .art-current{max-width:420px;margin:16px 0}.bb .art-current img,.bb .art-option img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px}.bb .art-tabs,.bb .art-pages{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.bb .art-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}.bb .art-option{display:grid;gap:6px;margin:0}.bb .member-surface .art-option>button,.bb .art-option>button{position:relative;min-height:0;padding:0;border:2px solid var(--line);border-radius:14px;background:none;cursor:pointer;overflow:hidden}.bb .member-surface .art-option>button:hover,.bb .member-surface .art-option>button:focus-visible{border-color:var(--gold);background:none;outline:none}.bb .art-option button span{position:absolute;inset:auto 0 0;padding:8px;background:rgba(10,8,24,.82);color:var(--gold);font-size:13px;font-weight:700;opacity:0;transition:opacity .15s}.bb .art-option button:hover span,.bb .art-option button:focus-visible span{opacity:1}.bb .art-option small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){.bb .art-option button span{transition:none}}@media (hover:none){.bb .art-option button span{opacity:1}}
.bb .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bb .supporter-tag,.bb .role-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px;vertical-align:middle}.bb .supporter-tag{background:#ff5c8a22;color:#ff8fb0;border:1px solid #ff5c8a66}.bb .supporter-tag.big{font-size:14px;padding:6px 14px}.bb .role-tag{background:#f2d27e1f;color:var(--gold);border:1px solid #f2d27e55}
.bb .level-chip{display:inline-block;padding:1px 6px;border-radius:6px;background:#7b5cff33;color:#c9bbff;font-size:10px;font-weight:700}
.bb .progress-card{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:22px 0;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#2a2150cc,#1b1830cc)}.bb .progress-copy{flex:1 1 220px;min-width:0}.bb .progress-copy h2{margin:4px 0 12px}
.bb .level-ring{--p:0;flex:none;display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p)*1%),#ffffff1a 0)}.bb .level-ring>span{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#1b1830;font-size:30px;font-weight:800;line-height:1;color:var(--ink)}.bb .level-ring small{font-size:10px;letter-spacing:1px;color:var(--muted)}.bb .level-ring.small{width:52px;height:52px}.bb .level-ring.small>span{width:42px;height:42px;font-size:18px}
.bb .xp-bar{height:12px;border-radius:999px;background:#ffffff14;overflow:hidden;margin-bottom:8px}.bb .xp-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7b5cff,#ff5c8a,var(--gold));transition:width .6s}
.bb .badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:12px;margin-bottom:24px}.bb .badge-tile{display:grid;gap:4px;justify-items:center;text-align:center;padding:16px 10px;border:1px solid var(--line);border-radius:14px;background:#ffffff08;opacity:.45;filter:grayscale(1)}.bb .badge-tile.is-earned{opacity:1;filter:none;border-color:#f2d27e88;background:#f2d27e12;box-shadow:0 0 18px #f2d27e1f}.bb .badge-icon{font-size:30px;line-height:1.1}.bb .badge-tile small{color:var(--muted);font-size:12px}
.bb .xp-log{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:6px}.bb .xp-log li,.bb .contribution-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#ffffff08;overflow-wrap:anywhere}.bb .xp-log strong{color:var(--gold);white-space:nowrap}.bb .xp-log small{color:var(--muted)}
.bb .xp-summary{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;margin:8px 0 18px}.bb .xp-summary small{display:block;color:var(--muted);font-size:12px}
.bb .mini-leaderboard,.bb .leaderboard{list-style:none;padding:0;margin:0;display:grid;gap:8px}.bb .mini-leaderboard li{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;font-size:14px}.bb .mini-leaderboard small{color:var(--muted);font-size:12px}.bb .mini-leaderboard .is-me strong,.bb .leaderboard .is-me .leader-name>strong{color:var(--gold)}
.bb .leaderboard li{display:grid;grid-template-columns:34px auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#ffffff06}.bb .leaderboard li.is-me{border-color:var(--gold)}.bb .leaderboard .rank{font-size:20px;text-align:center}.bb .leader-name{min-width:0;overflow-wrap:anywhere}.bb .leader-name small{display:block;color:var(--muted)}.bb .leader-xp{font-size:18px;white-space:nowrap}.bb .leader-xp small{font-size:11px;color:var(--muted)}
.bb .how-to-xp{margin:24px 0}.bb .level-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:8px}.bb .level-list li{padding:8px 10px;border-radius:10px;background:#ffffff08}.bb .level-list small{color:var(--muted)}
.bb .support-panel{margin:24px 0;padding:22px;border:1px solid #ff5c8a55;border-radius:18px;background:linear-gradient(135deg,#ff5c8a12,#7b5cff12)}.bb .support-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.bb .support-head>div{flex:1 1 260px}
.bb .pay-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin:16px 0}.bb .pay-option{padding:16px;border:1px solid var(--line);border-radius:14px;background:#1b1830aa;min-width:0}.bb .pay-option dl{margin:8px 0 0}.bb .pay-option dt{color:var(--gold);font-size:11px;margin-top:10px}.bb .pay-option dd{margin:4px 0}.bb .copy-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.bb .copy-row code{overflow-wrap:anywhere;font-size:14px}.bb .copy-row input{flex:1 1 200px;min-width:0}
.bb .contribution-list{list-style:none;padding:0;display:grid;gap:6px}.bb .contribution-list .is-confirmed strong{color:#7be3a8}.bb .contribution-list .is-pending strong{color:var(--gold)}.bb .contribution-list .is-declined strong{color:var(--muted)}
.bb .admin-support{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.bb .review-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.bb .review-row form{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.bb .invite-links{margin-bottom:30px}.bb .invite-link-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;margin-top:18px}.bb .invite-link-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#ffffff06;min-width:0}.bb .invite-link-card.is-inactive{opacity:.6}.bb .invite-link-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.bb .invite-link-top h3{margin:0;overflow-wrap:anywhere}.bb .invite-code code{font-size:18px;letter-spacing:1px;color:var(--gold)}.bb .joined-list{font-size:14px;overflow-wrap:anywhere}
.bb .reward-toast{border-color:var(--gold);box-shadow:0 0 30px #f2d27e44}
@media (prefers-reduced-motion:reduce){.bb .xp-bar i{transition:none}}
@media (max-width:520px){.bb .leaderboard li{grid-template-columns:28px 1fr auto}.bb .leaderboard .player-avatar{display:none}}
/* Progress steps as classes: the CSP forbids inline style attributes. */
.bb .level-ring.pct-0{--p:0}.bb .xp-bar i.pct-0{width:0%}.bb .level-ring.pct-5{--p:5}.bb .xp-bar i.pct-5{width:5%}.bb .level-ring.pct-10{--p:10}.bb .xp-bar i.pct-10{width:10%}.bb .level-ring.pct-15{--p:15}.bb .xp-bar i.pct-15{width:15%}.bb .level-ring.pct-20{--p:20}.bb .xp-bar i.pct-20{width:20%}.bb .level-ring.pct-25{--p:25}.bb .xp-bar i.pct-25{width:25%}.bb .level-ring.pct-30{--p:30}.bb .xp-bar i.pct-30{width:30%}.bb .level-ring.pct-35{--p:35}.bb .xp-bar i.pct-35{width:35%}.bb .level-ring.pct-40{--p:40}.bb .xp-bar i.pct-40{width:40%}.bb .level-ring.pct-45{--p:45}.bb .xp-bar i.pct-45{width:45%}.bb .level-ring.pct-50{--p:50}.bb .xp-bar i.pct-50{width:50%}.bb .level-ring.pct-55{--p:55}.bb .xp-bar i.pct-55{width:55%}.bb .level-ring.pct-60{--p:60}.bb .xp-bar i.pct-60{width:60%}.bb .level-ring.pct-65{--p:65}.bb .xp-bar i.pct-65{width:65%}.bb .level-ring.pct-70{--p:70}.bb .xp-bar i.pct-70{width:70%}.bb .level-ring.pct-75{--p:75}.bb .xp-bar i.pct-75{width:75%}.bb .level-ring.pct-80{--p:80}.bb .xp-bar i.pct-80{width:80%}.bb .level-ring.pct-85{--p:85}.bb .xp-bar i.pct-85{width:85%}.bb .level-ring.pct-90{--p:90}.bb .xp-bar i.pct-90{width:90%}.bb .level-ring.pct-95{--p:95}.bb .xp-bar i.pct-95{width:95%}.bb .level-ring.pct-100{--p:100}.bb .xp-bar i.pct-100{width:100%}
.bb .activity-list li.is-reward .activity-dot{background:var(--gold);box-shadow:0 0 10px var(--gold)}.bb .activity-list li.is-reward p{color:var(--ink)}
.bb .delete-form{margin:10px 0 0}.bb .button.danger,.bb .member-surface form>button.danger,.bb .delete-form>button{min-height:36px;padding:7px 12px;border:1px solid #ff6b6b88;border-radius:8px;background:transparent;color:#ff9b9b;font:600 13px "Segoe UI",sans-serif;cursor:pointer}.bb .button.danger:hover,.bb .delete-form>button:hover,.bb .delete-form>button:focus-visible{background:#ff6b6b1f;border-color:#ff8f8f;color:#ffc2c2}.bb .danger-zone{margin-top:28px;padding:16px;border:1px solid #ff6b6b55;border-radius:14px}.bb .game-admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:-4px 0 10px}.bb .game-admin-actions .delete-form{margin:0}
/* Next rounds: small calendar cards (top of the member homepage) */
.bb .next-rounds{margin:0 0 24px}.bb .next-rounds .section-heading{align-items:flex-end;gap:12px;flex-wrap:wrap}
.bb .round-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.bb .round-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.bb .round-card.is-today{border-color:#f2d27e99;box-shadow:0 0 18px #f2d27e1a}
.bb .round-head{display:flex;align-items:flex-start;gap:12px;min-width:0}
.bb .cal{flex:none;display:flex;flex-direction:column;width:56px;overflow:hidden;text-align:center;border:1px solid var(--line);border-radius:12px;background:#1d1f33}
.bb .cal-month{padding:4px 0;background:var(--red);color:#1d1424;font-size:11px;font-weight:800;letter-spacing:1px}
.bb .round-card.is-today .cal-month{background:var(--gold);color:#292336}
.bb .cal strong{padding-top:4px;font-size:24px;line-height:1.1;color:var(--ink)}.bb .cal-weekday{padding-bottom:4px;font-size:12px;color:var(--muted)}
.bb .round-info{min-width:0}.bb .round-when{font-size:12px;font-weight:700;color:var(--gold)}
.bb .round-info h3{margin:4px 0;font-size:16px;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bb .round-meta{margin:0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.bb .round-meta strong{color:#a8dfb3}
.bb .round-notes{margin:0;font-size:13px;color:var(--muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.bb .round-empty{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:20px;border:1px dashed #f2d27e66;border-radius:16px}.bb .round-empty>span{font-size:32px}.bb .round-empty>div{flex:1 1 200px}
@media (max-width:599px){.bb .round-cards{display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:8px}.bb .round-card{flex:0 0 min(86%,300px);scroll-snap-align:start}}
/* Lobby: compact player cards, swipeable on phones */
.bb .lobby{margin:0 0 24px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#212337}
.bb .lobby-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px}.bb .lobby-head h2{font-size:15px;margin:0}.bb .lobby-head p{color:var(--muted);font-size:12px;margin:0}.bb .lobby-head strong{color:#a8dfb3}
.bb .lobby-cards{list-style:none;display:flex;gap:10px;margin:12px 0 0;padding:2px 2px 8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;overscroll-behavior-x:contain}
.bb .player-card{flex:0 0 184px;scroll-snap-align:start;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffff08;min-width:0}
.bb .player-card{position:relative}
.bb .player-card .player-avatar{width:38px;height:38px;font-size:12px}
.bb .player-card.is-online{border-color:#a8dfb366;background:#a8dfb30f;box-shadow:0 0 14px #a8dfb31a}.bb .player-card.is-away .player-avatar{opacity:.7}
.bb .player-info{min-width:0}.bb .player-info strong,.bb .player-info small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb .player-info strong{font-size:14px;color:var(--ink)}.bb .player-info small{font-size:11px;color:var(--muted);margin-top:2px}
.bb .player-card.is-online .player-info small{color:#a8dfb3}.bb .supporter-heart{color:#ff8fb0}
/* Linked platforms: tiny badges hanging on the card's bottom edge, right side (status colours and tooltips stay), not a third row.
   The ring in the lobby's colour cuts them cleanly out of the border; the lobby's bottom padding leaves room below the card. */
.bb .player-platforms{position:absolute;right:12px;bottom:-7px;z-index:1;display:flex}
.bb .player-platforms .platform-badges{gap:3px;justify-content:flex-end}
.bb .player-platforms .platform-badge{width:15px;height:15px;border-radius:5px;box-shadow:0 0 0 2px #212337}
.bb .player-platforms .platform-badge img{width:9px;height:9px}
.bb .player-platforms .playing-now,.bb .player-platforms .platform-last-seen{display:none}
@media (max-width:520px){.bb .player-card{flex-basis:160px}}
/* Profile: support card */
.bb .support-card{margin:22px 0;padding:20px 22px;border:1px solid #ff5c8a55;border-radius:18px;background:linear-gradient(135deg,#ff5c8a12,#7b5cff12)}.bb .support-card h2{margin:4px 0 8px}.bb .support-card .account-actions{margin-top:14px}
.bb .gift-bar i{background:linear-gradient(90deg,#ff5c8a,var(--gold))}
/* Actions look like buttons; plain navigation stays a link. */

.bb .community-hub details>summary,.bb .member-surface details>summary,.bb .hub-dialog details>summary{display:inline-flex;align-items:center;gap:10px;min-height:40px;margin:8px 0 0;padding:8px 14px;list-style:none;border:1px solid #f2d27e66;border-radius:8px;background:#f2d27e0f;color:var(--gold);font-size:13px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s}
.bb .community-hub details>summary::-webkit-details-marker,.bb .member-surface details>summary::-webkit-details-marker,.bb .hub-dialog details>summary::-webkit-details-marker{display:none}
.bb .community-hub details>summary::after,.bb .member-surface details>summary::after,.bb .hub-dialog details>summary::after{content:"▾";font-size:12px;transition:transform .15s}
.bb .community-hub details[open]>summary::after,.bb .member-surface details[open]>summary::after,.bb .hub-dialog details[open]>summary::after{transform:rotate(180deg)}
.bb .community-hub details>summary:hover,.bb .member-surface details>summary:hover,.bb .hub-dialog details>summary:hover,.bb .community-hub details>summary:focus-visible,.bb .member-surface details>summary:focus-visible,.bb .hub-dialog details>summary:focus-visible{border-color:var(--gold);background:#f2d27e1f;outline:none}
.bb .community-hub details[open]>summary,.bb .member-surface details[open]>summary,.bb .hub-dialog details[open]>summary{background:#f2d27e24;margin-bottom:12px}
.bb .admin-panel>summary{font-size:14px}
@media (prefers-reduced-motion:reduce){.bb details>summary,.bb details>summary::after{transition:none}}
/* Wish cards with the wished game's artwork */
.bb .request-card.has-art{padding-top:0;overflow:hidden}.bb .request-art{display:block;width:calc(100% + 40px);max-width:none;height:120px;margin:0 -20px 14px;object-fit:cover;border-radius:11px 11px 0 0}
/* Links inside member-written text */
.bb main :is(p,pre,dd,span)>a[rel~="nofollow"]{color:#ccbcff;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.bb main :is(p,pre,dd,span)>a[rel~="nofollow"]:hover,.bb main :is(p,pre,dd,span)>a[rel~="nofollow"]:focus-visible{color:var(--gold)}
.bb .upload-limits{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#ffffff08;font-size:14px}
/* Button groups (DESIGN.md): one row, 8px gaps, equal 44px height, primary first, delete last */
.bb .button.small{min-height:44px;padding:8px 14px;font-size:13px;gap:8px}
.bb .button.danger,.bb .delete-form>button{min-height:44px;padding:8px 14px;font-size:13px}
.bb .actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.bb .actions-row>*{margin:0}.bb .actions-row>details>summary{margin:0}
.bb .actions-row>details[open]{flex-basis:100%;order:-1}
.bb .actions-row>.delete-form{margin-left:auto}
.bb .rsvp-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:auto 0 0;padding:0}.bb .rsvp-buttons .button{width:100%;justify-content:center;padding-left:6px;padding-right:6px}
.bb .card-admin{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--line)}.bb .card-admin .delete-form{margin:0}
.bb .rsvp-buttons .button{min-height:44px;padding:8px 4px;font-size:13px;white-space:nowrap;gap:4px}.bb .rsvp-buttons .button[aria-pressed=true]{border-color:var(--gold)}
.bb details>.delete-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}

.bb dialog .actions-row .button,.bb dialog .actions-row .delete-form>button{width:auto;margin-top:0}
/* Files page: filters, upload panel, per-server sections with version groups */
.bb .file-filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.bb .file-filters a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}
.bb .file-filters a span{padding:1px 8px;border-radius:999px;background:#ffffff14;color:var(--muted);font-size:12px}
.bb .file-filters a:hover,.bb .file-filters a:focus-visible{border-color:var(--gold)}.bb .file-filters a[aria-current="page"]{border-color:var(--gold);background:#f2d27e1f;color:var(--gold)}
.bb .upload-panel{margin:8px 0 24px}.bb .upload-panel form{margin-top:4px}.bb .upload-panel small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.bb .file-world{margin:32px 0 0}.bb .file-world-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.bb .file-world-head img{width:96px;height:54px;object-fit:cover;border-radius:10px}.bb .file-world-head h2{margin:2px 0 0;overflow-wrap:anywhere}
.bb .file-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}
.bb .file-group{display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.bb .file-head{display:flex;align-items:flex-start;gap:12px}.bb .file-head>div{flex:1;min-width:0}.bb .file-head h3{margin:0;font-size:17px;overflow-wrap:anywhere}.bb .file-head p{margin:2px 0 0;font-size:13px}
.bb .file-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#ffffff0d;font-size:20px}
.bb .file-release{margin:0;color:#a8dfb3;font-size:13px;font-weight:600}
.bb .file-notes{margin:0;font-size:14px;overflow-wrap:anywhere}.bb .file-meta{margin:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.bb .file-group .actions-row{margin-top:auto;padding-top:8px}
.bb .inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.bb .inline-form label{flex:1 1 160px;margin:0}
.bb .file-versions ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bb .file-versions li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-radius:12px;background:#ffffff08}
.bb .file-versions li>div:first-child{min-width:0;flex:1 1 180px}.bb .file-versions small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.bb .file-versions li .actions-row{margin:0}
/* Trusted devices in the profile */
.bb .device-list{list-style:none;margin:16px 0;padding:0;display:grid;gap:8px}
.bb .device-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#ffffff08}
.bb .device-list small{display:block;color:var(--muted);margin-top:4px}
.bb .device-list form,.bb .device-section form{margin:0}
.bb .round-card.is-live{border-color:#7be3a8aa;box-shadow:0 0 18px #7be3a81f}.bb .round-card.is-live .round-when{color:#7be3a8}.bb .round-card.is-live .cal-month{background:#7be3a8;color:#16251c}
/* Postfach: notification sound picker with preview buttons, and the per-device system notification switch. */
.bb .sound-settings{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.bb .sound-settings form{display:grid;gap:12px}
.bb .sound-settings fieldset{margin:0;padding:0;border:0}
.bb .sound-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px}
.bb .sound-choice{display:flex;align-items:center;gap:4px;min-height:48px;padding:2px 2px 2px 10px;border:1px solid #54496f;border-radius:10px;background:#1c1d31}
.bb .sound-choice:has(input:checked){border-color:var(--gold);background:#f2d27e1f}
.bb .sound-choice{position:relative}
.bb .sound-choice label{display:flex;flex:1;align-items:center;min-width:0;min-height:44px;margin:0;font-size:14px;color:var(--ink);cursor:pointer}
.bb .sound-choice input{position:absolute;opacity:0;pointer-events:none}
.bb .sound-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.bb .member-surface .sound-choice button.sound-preview{margin:0;padding:0;border-color:transparent;background:transparent;color:var(--ink);font-size:15px}
.bb .desktop-notify{margin-top:20px}
.bb .desktop-notify h3{margin:0 0 6px;font-size:16px}
.bb .desktop-state{margin:8px 0;font-size:14px}
/* "Was geht?": messages are ordinary feed lines, highlighted with a lavender tint (gold for your own). */
.bb .activity-list li.is-chat{margin:2px -8px;padding:6px 4px 6px 8px;border-radius:10px;background:#b5a1ff1a}
.bb .activity-list li.is-chat.is-mine{background:#f2d27e14}
.bb .activity-list li.is-chat .activity-dot{background:var(--accent);box-shadow:0 0 8px #b5a1ff99}
.bb .activity-list li.is-chat.is-mine .activity-dot{background:var(--gold);box-shadow:0 0 8px #f2d27e99}
.bb .activity-list li.is-chat>div{flex:1;min-width:0}
.bb .chat-line{color:var(--ink);font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.bb .chat-text{padding:0}
.bb .activity-list li.is-new{animation:chat-in .35s ease-out}
.bb .activity-list li[hidden]{display:none}
.bb .feed-filter{display:flex;gap:4px;flex-wrap:wrap}
.bb .feed-filter button{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.bb .feed-filter button[aria-pressed="true"]{border-color:var(--accent);background:#b5a1ff26;color:var(--ink)}
.bb .is-chat .context-menu>summary.icon-button{width:30px;min-height:28px;height:28px;border-color:transparent;background:transparent;color:var(--muted);font-size:16px}
.bb .community-hub .is-chat .context-menu>summary::after{content:none}
.bb .chat-form{position:relative;display:flex;align-items:center;gap:4px;margin-top:14px;padding:4px 4px 4px 16px;border:1px solid #6a5a85;border-radius:999px;background:#1c1d31;transition:border-color .15s,box-shadow .15s}
.bb .chat-form:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #f2d27e26}
.bb .community-hub .chat-form input:not([type=hidden]),.bb .chat-form input:not([type=hidden]){flex:1;min-width:0;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:15px/1.4 "Segoe UI",Arial,sans-serif;box-shadow:none;outline:none}
.bb .chat-form input::placeholder{color:#8f8aa6}
.bb .community-hub .chat-form button.icon-button,.bb .chat-form .icon-button{flex-shrink:0;width:44px;height:44px;margin:0;padding:0 0 0 3px;border:0;border-radius:50%;background:var(--gold);color:#1c1d31;font-size:18px;transition:transform .12s,filter .12s}
.bb .chat-form .icon-button:hover,.bb .chat-form .icon-button:focus-visible{filter:brightness(1.08);transform:scale(1.05)}
.bb .chat-form .icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.bb .chat-form .icon-button:disabled{opacity:.6;transform:none}
@media(prefers-reduced-motion:reduce){.bb .chat-form,.bb .chat-form .icon-button{transition:none}}
.bb .chat-sound{display:flex;align-items:flex-end;gap:8px}.bb .chat-sound label{flex:1}
@keyframes chat-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* Slash commands (ChatCommands): suggestions above the input, and MMO-style lines – whispers pink, emotes orange, dice gold. */
.bb .chat-suggest{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:20;max-height:260px;margin:0;padding:6px;overflow-y:auto;list-style:none;border:1px solid #6a5a85;border-radius:14px;background:#1c1d31;box-shadow:0 10px 30px #0008}
.bb .chat-suggest li{display:flex;align-items:baseline;gap:10px;padding:7px 10px;border-radius:9px;color:var(--muted);font-size:13px;cursor:pointer}
.bb .chat-suggest li[aria-selected=true],.bb .chat-suggest li:hover{background:#b5a1ff26;color:var(--ink)}
.bb .chat-suggest code{flex-shrink:0;min-width:110px;color:var(--gold);font:600 13px/1.4 ui-monospace,Consolas,monospace}
.bb .chat-suggest .is-name{color:var(--ink);font-weight:600}
.bb .chat-icon{display:inline-block;transform-origin:50% 80%}
.bb .activity-list li.is-whisper{background:#ff7ad91c}
.bb .activity-list li.is-whisper .activity-dot{background:#ff8ae2;box-shadow:0 0 8px #ff8ae299}
.bb .is-whisper .chat-line,.bb .is-whisper .chat-line .member-link{color:#ffa6ec}
.bb .is-emote .chat-line,.bb .chat-me{color:#ffbf7a}
.bb .chat-me{font-style:italic}
.bb .is-emote .is-you{color:var(--gold)}
.bb .roll-result{color:var(--gold);font-size:15px}
.bb .roll-range{color:var(--muted)}
.bb .is-crit .roll-result{text-shadow:0 0 10px #f2d27ecc}
.bb .is-crit .roll-result::after{content:" 👑"}
.bb .is-fail .roll-result{color:#ff8a8a}
.bb .is-fail .roll-result::after{content:" 💀"}
/* The icon plays a few times when the line appears and again while it is hovered. */
.bb .chat-icon[data-anim=dance]{animation:emote-dance .7s ease-in-out 5}
.bb .chat-icon[data-anim=wave]{animation:emote-wave .5s ease-in-out 4}
.bb .chat-icon[data-anim=burst],.bb .chat-icon[data-anim=pulse]{animation:emote-pulse .6s ease-in-out 3}
.bb .chat-icon[data-anim=shake]{animation:emote-shake .4s ease-in-out 4}
.bb .chat-icon[data-anim=bow]{animation:emote-bow 1.2s ease-in-out 2}
.bb .chat-icon[data-anim=bounce]{animation:emote-bounce .6s ease-out 3}
.bb .chat-icon[data-anim=sleep]{animation:emote-sleep 2s ease-in-out 2}
.bb .chat-icon[data-anim=roll]{animation:emote-roll .8s cubic-bezier(.2,.8,.3,1) 1}
.bb .chat-icon[data-anim=flip]{animation:emote-flip .9s ease-out 1}
.bb .is-chat:hover .chat-icon[data-anim]{animation-iteration-count:infinite}
.bb .chat-panel{position:relative}
.bb .chat-particle{position:absolute;left:var(--x);top:var(--y);z-index:15;font-size:22px;pointer-events:none;animation:chat-float 1.7s ease-out var(--delay) both}
.bb .chat-panel.is-disco{animation:chat-disco 1.05s linear 4}
@keyframes emote-dance{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-14deg)}50%{transform:translateY(0) rotate(0) scale(1.1)}75%{transform:translateY(-4px) rotate(14deg)}}
@keyframes emote-wave{0%,100%{transform:rotate(0)}30%{transform:rotate(22deg)}70%{transform:rotate(-12deg)}}
@keyframes emote-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@keyframes emote-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px) rotate(-6deg)}75%{transform:translateX(3px) rotate(6deg)}}
@keyframes emote-bow{0%,100%{transform:rotate(0)}40%,60%{transform:rotate(28deg) translateY(2px)}}
@keyframes emote-bounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}70%{transform:translateY(1px)}}
@keyframes emote-sleep{0%,100%{transform:rotate(0);opacity:1}50%{transform:rotate(-10deg) translateY(1px);opacity:.6}}
@keyframes emote-roll{0%{transform:translate(-14px,-8px) rotate(-540deg) scale(.6)}70%{transform:translate(2px,0) rotate(20deg) scale(1.15)}100%{transform:none}}
@keyframes emote-flip{0%{transform:translateY(0) rotateY(0)}45%{transform:translateY(-10px) rotateY(720deg)}100%{transform:translateY(0) rotateY(1080deg)}}
@keyframes chat-float{0%{opacity:0;transform:translate(0,0) scale(.5)}15%{opacity:1;transform:translate(calc(var(--dx)*.2),-14px) scale(1.1)}100%{opacity:0;transform:translate(var(--dx),-120px) rotate(var(--spin)) scale(.9)}}
@keyframes chat-disco{0%{box-shadow:0 0 0 2px #ff7ad9,0 0 28px #ff7ad966}33%{box-shadow:0 0 0 2px #7ad9ff,0 0 28px #7ad9ff66}66%{box-shadow:0 0 0 2px #f2d27e,0 0 28px #f2d27e66}100%{box-shadow:0 0 0 2px #ff7ad9,0 0 28px #ff7ad966}}
@media(prefers-reduced-motion:reduce){.bb .chat-icon[data-anim],.bb .chat-panel.is-disco{animation:none}.bb .chat-particle{display:none}}
@media(prefers-reduced-motion:reduce){.bb .activity-list li.is-new{animation:none}}
/* Below the two-column layout the sidebar would come after servers and wishes; let the sections share one
   column instead so "Was geht?" sits right under the lobby. No duplicated markup. */
@media(max-width:1249px){
.bb .hub-columns>.hub-main,.bb .hub-columns>.hub-side{display:contents}
.bb .hub-columns>.hub-main>*,.bb .hub-columns>.hub-side>*{order:10;min-width:0}
.bb .hub-main>.next-rounds{order:1}.bb .hub-main>.lobby{order:2}.bb .hub-side>.chat-panel{order:3;margin-top:0}
.bb .hub-side>.xp-panel{order:20}.bb .hub-side>.poll-panel{order:21}.bb .hub-side>.hub-file-link{order:22}
.bb .hub-columns>.hub-main>.hub-section{margin-top:4px}
}
/* Top bar: inbox as a round button with a counter badge, account as a pill with avatar (44px targets). */
.bb .topbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0}
.bb .topbar-inbox{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid #6b5c3f;border-radius:50%;background:#1f2136;color:var(--ink);font-size:18px;text-decoration:none;transition:border-color .15s,background .15s}
.bb .topbar-bell{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bb .topbar-inbox b{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--bg);border-radius:999px;background:var(--red);color:#1c1d31;font-size:11px;font-weight:800;line-height:1}
.bb .topbar-inbox b[hidden]{display:none}
.bb .topbar-account{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:220px;min-height:44px;padding:4px 14px 4px 4px;border:1px solid #6b5c3f;border-radius:999px;background:#1f2136;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s}
.bb .topbar-account.is-guest{padding:4px 16px}
.bb .topbar-avatar{flex-shrink:0;width:34px;height:34px;border-radius:50%;object-fit:cover}
.bb .topbar-avatar.is-initials{display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--accent));color:#201737;font-size:12px;font-weight:800}
.bb .topbar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bb .topbar-inbox:hover,.bb .topbar-inbox:focus-visible,.bb .topbar-account:hover,.bb .topbar-account:focus-visible{border-color:var(--gold);background:#f2d27e14;color:var(--ink)}
.bb .topbar-inbox:focus-visible,.bb .topbar-account:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:599px){.bb .topbar-account:not(.is-guest){padding:4px}.bb .topbar-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.bb .topbar-inbox,.bb .topbar-account{transition:none}}
/* Budenverwaltung → Texte & Sprüche */
.bb .site-texts form{display:grid;gap:4px;max-width:640px}
.bb .notification-card.is-read-now{transition:background .6s,border-color .6s}
/* Budenverwaltung → Mitglieder: one row per person with role, lock and delete; icons first, the rare final action in the ⋯ menu. */
.bb .member-admin-hint{margin:6px 0 0;font-size:13px}
.bb .member-admin{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.bb .member-admin-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px 14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#ffffff08}
.bb .member-admin-row.is-disabled{border-style:dashed;border-color:#ff757e66;background:#ff757e0d}
.bb .member-admin-row .player-avatar{width:40px;height:40px;font-size:13px}
.bb .member-admin-who{min-width:0}.bb .member-admin-who strong{display:block;overflow-wrap:anywhere;font-size:15px}
.bb .member-admin-who>small{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:3px;color:var(--muted);font-size:12px}
.bb .member-chip.is-locked{color:#ffb8ba;font-weight:600}
.bb .member-role-form{display:flex;align-items:center;gap:6px;margin:0}
.bb .member-role-form select{width:auto;min-height:40px;margin:0}
.bb .member-role-form .icon-button{width:40px;height:40px;min-height:40px;margin:0}
.bb .member-admin-who strong small{display:inline;margin:0 0 0 4px;font-size:12px;font-weight:400}
@media(max-width:700px){.bb .member-admin-row{grid-template-columns:auto minmax(0,1fr) auto}.bb .member-admin-row .member-role-form{grid-column:1/-1}.bb .member-admin-row .action-group{grid-column:3;grid-row:1}}
/* Who answered a round: avatar stack with counts on the card, full list grouped by answer in a popup.
   Replies and the answer buttons form the card's footer, pinned to the bottom so rows line up across cards. */
.bb .round-foot{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #51483e80}
.bb .round-foot .rsvp-buttons{margin:0}
.bb .round-people{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin:0;padding:4px 8px;border:1px solid transparent;border-radius:12px;background:none;color:var(--muted);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.bb .round-people:hover,.bb .round-people:focus-visible{border-color:#f2d27e66;background:#f2d27e0f;color:var(--ink)}
.bb .round-people.is-empty{cursor:default;padding-left:8px;display:flex;align-items:center}.bb .round-people.is-empty:hover{border-color:transparent;background:none;color:var(--muted)}
.bb .round-people-text{flex:1;min-width:0;overflow-wrap:anywhere}.bb .round-people-text strong{color:#a8dfb3;font-weight:750}
.bb .round-people-open{font-size:20px;line-height:1}
.bb .avatar-stack{display:flex;flex-shrink:0}.bb .avatar-stack .player-avatar{width:28px;height:28px;font-size:10px;border-radius:50%;border:2px solid var(--panel);box-sizing:content-box}.bb .avatar-stack .player-avatar+.player-avatar{margin-left:-8px}
.bb .avatar-stack .is-more{background:#2b2940;color:var(--ink)}
/* The ⋯ menu stays quiet next to the title, as in the club feed (no frame, no arrow, 44px target). */
.bb .round-menu .context-menu>summary.icon-button{width:44px;height:44px;border-color:transparent;background:transparent;color:var(--muted);font-size:18px}
.bb .round-menu .context-menu>summary.icon-button:hover,.bb .round-menu .context-menu>summary.icon-button:focus-visible,.bb .round-menu .context-menu[open]>summary.icon-button{border-color:var(--gold);color:var(--ink);background:#f2d27e1f}
.bb .community-hub .round-menu .context-menu>summary::after{content:none}
.bb .round-head .round-menu{margin:-8px -8px 0 auto}
.bb .round-people-dialog .people-group{margin-top:16px}.bb .round-people-dialog h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bb .round-people-dialog .is-yes h3{color:#a8dfb3}.bb .round-people-dialog h3 .count{padding:1px 8px;border-radius:999px;background:#ffffff12;color:var(--ink);font-size:11px}
.bb .round-people-dialog ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:8px}
.bb .round-people-dialog li{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}
.bb .round-people-dialog li .player-avatar{width:32px;height:32px;font-size:11px;border-radius:50%}.bb .round-people-dialog .is-no li{opacity:.7}

/* Authenticator app: profile section, setup page and the quiet home-page tip */
.bb .two-factor-state{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:12px}
.bb .two-factor-state p{margin:8px 0 4px}
.bb .two-factor-state>div{min-width:0;flex:1 1 260px}
.bb .totp-key{margin:16px 0}
.bb .totp-key code{display:inline-block;max-width:100%;padding:12px 16px;border:1px dashed var(--line);border-radius:12px;background:#ffffff08;font-size:18px;letter-spacing:.08em;overflow-wrap:anywhere}
.bb .recovery-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:16px 0;padding:0;list-style:none}
.bb .recovery-codes li{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#ffffff08;text-align:center}
.bb .recovery-codes code{font-size:17px;letter-spacing:.06em}
.bb .totp-hint{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:10px 12px 10px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffff08}
.bb .totp-hint p{flex:1;min-width:0;margin:0;font-size:14px}
.bb .totp-hint-icon{font-size:20px}
.bb .totp-qr{width:min(100%,260px);margin:16px 0;border-radius:12px;overflow:hidden;line-height:0}.bb .totp-qr svg{display:block;width:100%;height:auto}
