/* BPM 280 — Innovations communautaires */
.bpm280-page{width:min(1280px,calc(100% - 32px));margin:28px auto 90px;color:var(--text,#f8fafc)}
.bpm280-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid rgba(14,165,255,.22);border-radius:26px;background:radial-gradient(circle at 10% 0%,rgba(14,165,255,.17),transparent 35%),linear-gradient(135deg,rgba(15,23,42,.98),rgba(3,7,18,.97));box-shadow:0 22px 70px rgba(0,0,0,.24);margin-bottom:24px}.bpm280-hero h1{margin:.25rem 0 .5rem;font-size:clamp(2rem,5vw,4.4rem);line-height:.95;font-family:var(--head,'Bebas Neue',sans-serif);letter-spacing:.03em}.bpm280-hero p{margin:0;max-width:760px;color:var(--muted,#94a3b8)}.bpm280-kicker{display:inline-flex;align-items:center;gap:8px;color:#38bdf8;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.bpm280-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.bpm280-panel{border:1px solid rgba(148,163,184,.16);border-radius:22px;background:linear-gradient(180deg,rgba(15,23,42,.9),rgba(2,6,23,.94));padding:22px;box-shadow:0 16px 50px rgba(0,0,0,.2)}.bpm280-section{margin:26px 0}.bpm280-section-head,.bpm280-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.bpm280-section-head span,.bpm280-panel-head span{color:#38bdf8;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.bpm280-section-head h2,.bpm280-panel-head h2{margin:.2rem 0 0}.bpm280-section-head p,.bpm280-section-head small,.bpm280-panel-head small{color:var(--muted,#94a3b8)}.bpm280-grid{display:grid;gap:20px}.bpm280-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.bpm280-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.bpm280-notice{display:flex;gap:18px;align-items:center}.bpm280-notice>i{font-size:2rem;color:#38bdf8}.bpm280-flash{padding:13px 16px;border-radius:14px;margin:0 0 18px;font-weight:800}.bpm280-flash.ok{background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.35);color:#bbf7d0}.bpm280-flash.bad{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.35);color:#fecaca}.bpm280-form{display:grid;gap:14px}.bpm280-form label{display:grid;gap:7px;color:#cbd5e1;font-size:.83rem;font-weight:800}.bpm280-form input,.bpm280-form textarea,.bpm280-form select,.bpm280-filter-bar input,.bpm280-filter-bar select,.bpm280-host-controls select{width:100%;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#070d1a;color:#fff;padding:12px 13px}.bpm280-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bpm280-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.bpm280-check input{width:auto}.bpm280-empty{grid-column:1/-1;text-align:center;padding:45px 22px;color:var(--muted,#94a3b8);border:1px dashed rgba(148,163,184,.2);border-radius:20px}.bpm280-empty>i{font-size:2.2rem;color:#38bdf8}.bpm280-empty h2,.bpm280-empty h3{color:#fff}.bpm280-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bpm280-room-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;border:1px solid rgba(148,163,184,.17);border-radius:18px;background:rgba(15,23,42,.72);color:#fff;text-decoration:none;transition:.2s ease}.bpm280-room-card:hover{transform:translateY(-3px);border-color:rgba(56,189,248,.55);background:rgba(14,165,255,.08)}.bpm280-room-card h3{margin:.2rem 0 .35rem}.bpm280-room-card p,.bpm280-room-card small{margin:0;color:var(--muted,#94a3b8);font-size:.78rem}.bpm280-room-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#0ea5e9,#7c3aed);position:relative}.bpm280-room-icon i{font-size:1.45rem}.bpm280-room-icon b{position:absolute;right:-5px;bottom:-5px;min-width:22px;height:22px;border-radius:999px;background:#020617;border:2px solid #0ea5e9;display:grid;place-items:center;font-size:.65rem}.bpm280-room-shell{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:20px}.bpm280-room-main{border:1px solid rgba(148,163,184,.15);border-radius:24px;background:#070d18;padding:24px}.bpm280-room-head{display:flex;justify-content:space-between;gap:20px}.bpm280-room-head h2{font-size:2rem;margin:.25rem 0}.bpm280-room-head p,.bpm280-room-head small{color:var(--muted,#94a3b8)}.bpm280-live-dot{display:inline-block;width:9px;height:9px;background:#22c55e;border-radius:50%;box-shadow:0 0 0 6px rgba(34,197,94,.12);margin-right:8px}.bpm280-room-code{border:1px solid rgba(56,189,248,.25);border-radius:14px;padding:10px 14px;text-align:center;height:max-content}.bpm280-room-code small{display:block}.bpm280-room-code strong{letter-spacing:.18em}.bpm280-now-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin:26px 0;padding:24px;border-radius:22px;background:radial-gradient(circle at 10% 20%,rgba(14,165,255,.18),transparent 35%),#0b1220}.bpm280-now-cover{width:150px;aspect-ratio:1;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:#111827}.bpm280-now-cover img{width:100%;height:100%;object-fit:cover}.bpm280-now-cover i{font-size:3.4rem;color:#38bdf8}.bpm280-now-card h3{font-size:1.65rem;margin:.25rem 0}.bpm280-now-card p,.bpm280-now-card small{color:var(--muted,#94a3b8);margin:0}.bpm280-big-play{width:62px;height:62px;border:0;border-radius:50%;background:#fff;color:#020617;font-size:1.5rem;cursor:pointer}.bpm280-big-play.enabled{background:#22c55e}.bpm280-room-progress{height:6px;background:rgba(148,163,184,.16);border-radius:999px;overflow:hidden;margin-top:18px}.bpm280-room-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#0ea5e9,#8b5cf6)}.bpm280-room-times{display:flex;justify-content:space-between;color:#64748b;font-size:.72rem;margin-top:6px}.bpm280-host-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:16px;border:1px solid rgba(56,189,248,.18);border-radius:18px}.bpm280-host-controls>div{margin-right:auto}.bpm280-host-controls small{display:block;color:var(--muted,#94a3b8)}.bpm280-host-controls select{width:min(360px,100%)}.bpm280-room-side{display:grid;gap:20px;align-content:start}.bpm280-member-list{display:grid;gap:10px}.bpm280-member-list>div{display:flex;align-items:center;gap:10px}.bpm280-member-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#111827}.bpm280-member-avatar img{width:100%;height:100%;object-fit:cover}.bpm280-member-list small{display:block;color:var(--muted,#94a3b8)}.bpm280-chat-panel{min-height:420px;display:grid;grid-template-rows:auto 1fr auto}.bpm280-room-messages{overflow:auto;max-height:440px;display:grid;gap:12px;padding-right:4px}.bpm280-room-messages>div{background:rgba(148,163,184,.08);padding:10px 12px;border-radius:13px}.bpm280-room-messages strong{font-size:.78rem;color:#7dd3fc}.bpm280-room-messages p{margin:.25rem 0;white-space:pre-wrap}.bpm280-room-messages small{color:#64748b;font-size:.67rem}.bpm280-room-chat{display:flex;gap:8px;margin-top:12px}.bpm280-room-chat input{flex:1;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:#050a14;color:#fff;padding:11px}.bpm280-room-chat button{width:44px;border:0;border-radius:12px;background:#0ea5e9;color:#fff}.bpm280-join-box{margin-top:18px;padding:18px;border-radius:18px;background:rgba(14,165,255,.08);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.bpm280-join-box h3{margin:0 auto 0 0}.bpm280-join-box input{padding:11px;border-radius:10px;border:1px solid rgba(148,163,184,.2);background:#020617;color:#fff}.bpm280-modal{position:fixed;inset:0;z-index:5000;background:rgba(2,6,23,.78);backdrop-filter:blur(14px);display:grid;place-items:center;padding:20px}.bpm280-modal[hidden]{display:none}.bpm280-modal>section{width:min(560px,100%);position:relative;background:#07101e;border:1px solid rgba(56,189,248,.25);border-radius:24px;padding:28px}.bpm280-modal>section>button{position:absolute;right:14px;top:14px;border:0;background:transparent;color:#fff;font-size:1.3rem}.bpm280-filter-bar{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end;padding:16px;border:1px solid rgba(148,163,184,.15);border-radius:18px;background:#070d18}.bpm280-filter-bar label{display:grid;gap:6px;color:#94a3b8;font-size:.75rem;font-weight:800}.bpm280-chart-list{display:grid;gap:8px}.bpm280-chart-row{display:grid;grid-template-columns:46px 56px minmax(0,1fr) auto 48px;align-items:center;gap:14px;padding:10px 14px;border:1px solid rgba(148,163,184,.12);border-radius:15px;background:rgba(15,23,42,.55)}.bpm280-rank{font-size:1.2rem;font-weight:900;color:#64748b;text-align:center}.bpm280-rank.top{color:#fbbf24}.bpm280-chart-cover,.bpm280-mini-cover{width:52px;height:52px;border-radius:11px;overflow:hidden;display:grid;place-items:center;background:#111827}.bpm280-chart-cover img,.bpm280-mini-cover img{width:100%;height:100%;object-fit:cover}.bpm280-chart-copy a{display:block;color:#fff;text-decoration:none}.bpm280-chart-copy a:nth-child(2),.bpm280-chart-copy small{color:var(--muted,#94a3b8);font-size:.78rem}.bpm280-chart-stats{display:flex;gap:14px;color:#94a3b8;font-size:.78rem}.bpm280-chart-stats span{display:flex;gap:5px;align-items:center}.bpm280-chart-play{width:42px;height:42px;border:0;border-radius:50%;background:#0ea5e9;color:#fff}.bpm280-provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bpm280-smart-list{display:grid;gap:12px}.bpm280-smart-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:14px;background:rgba(148,163,184,.07)}.bpm280-smart-list small,.bpm280-smart-list code{display:block;color:#94a3b8;font-size:.72rem}.bpm280-smart-list code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bpm280-smart-public{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:42px 18px;position:relative;overflow:hidden}.bpm280-smart-bg{position:absolute;inset:-40px;background:center/cover;filter:blur(55px) brightness(.3);opacity:.65;transform:scale(1.1)}.bpm280-smart-card{position:relative;width:min(520px,100%);text-align:center;padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:rgba(3,7,18,.86);backdrop-filter:blur(20px);box-shadow:0 30px 90px rgba(0,0,0,.45)}.bpm280-smart-cover{width:220px;aspect-ratio:1;margin:0 auto 20px;border-radius:22px;overflow:hidden;display:grid;place-items:center;background:#111827}.bpm280-smart-cover img{width:100%;height:100%;object-fit:cover}.bpm280-smart-cover i{font-size:4rem;color:#38bdf8}.bpm280-smart-card h1{font-size:2.2rem;margin:.25rem 0}.bpm280-smart-artist{color:#7dd3fc;text-decoration:none;font-weight:800}.bpm280-smart-card p{color:#cbd5e1}.bpm280-platform-links{display:grid;gap:10px;margin:22px 0}.bpm280-platform-links a{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:14px;background:#fff;color:#020617;text-decoration:none;font-weight:900}.bpm280-powered{color:#64748b;text-decoration:none;font-size:.75rem}.bpm280-submission-list,.bpm280-admin-missions{display:grid;gap:10px}.bpm280-submission-list>div,.bpm280-admin-missions>div{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:14px;background:rgba(148,163,184,.07)}.bpm280-submission-list small,.bpm280-admin-missions small{display:block;color:#94a3b8}.bpm280-status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(148,163,184,.15);font-size:.67rem;font-weight:900;text-transform:uppercase}.bpm280-status-pill.accepted,.bpm280-status-pill.ok{background:rgba(34,197,94,.14);color:#86efac}.bpm280-status-pill.rejected{background:rgba(239,68,68,.14);color:#fca5a5}.bpm280-status-pill.reviewing{background:rgba(245,158,11,.14);color:#fcd34d}.bpm280-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.bpm280-tabs a{padding:9px 13px;border-radius:999px;background:#0b1220;color:#94a3b8;text-decoration:none}.bpm280-tabs a.active{background:#0ea5e9;color:#fff}.bpm280-admin-submissions{display:grid;gap:16px}.bpm280-meta-row{display:flex;gap:18px;flex-wrap:wrap;color:#94a3b8}.bpm280-review-form{display:grid;grid-template-columns:180px 1fr auto;gap:10px;margin-top:16px}.bpm280-review-form input,.bpm280-review-form select{background:#050a14;color:#fff;border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:10px}.bpm280-passport-score{text-align:center;min-width:130px;padding:14px;border-radius:18px;background:rgba(14,165,255,.1);border:1px solid rgba(14,165,255,.25)}.bpm280-passport-score small,.bpm280-passport-score span{display:block;color:#94a3b8}.bpm280-passport-score strong{display:block;font-size:2rem;color:#38bdf8}.bpm280-mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bpm280-mission-card{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:20px;border-radius:20px;border:1px solid rgba(148,163,184,.15);background:linear-gradient(180deg,#0b1220,#050914)}.bpm280-mission-card form{grid-column:2}.bpm280-mission-card.done{border-color:rgba(34,197,94,.35)}.bpm280-mission-icon{width:52px;height:52px;border-radius:16px;background:rgba(14,165,255,.12);display:grid;place-items:center;color:#38bdf8;font-size:1.5rem}.bpm280-mission-card h2{margin:.25rem 0}.bpm280-mission-card p,.bpm280-mission-card small{color:#94a3b8}.bpm280-mission-progress{height:8px;border-radius:999px;background:rgba(148,163,184,.12);overflow:hidden}.bpm280-mission-progress span{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#8b5cf6)}.bpm280-mission-foot{display:flex;justify-content:space-between;margin-top:7px;font-size:.75rem}.bpm280-schema-state{padding:16px;border-radius:18px;text-align:center;min-width:170px}.bpm280-schema-state.ok{background:rgba(34,197,94,.1);color:#86efac}.bpm280-schema-state.wait{background:rgba(245,158,11,.1);color:#fcd34d}.bpm280-schema-state i{display:block;font-size:2rem}.bpm280-feature-list{display:grid;gap:10px;color:#cbd5e1}.bpm280-checks{display:grid;gap:8px}.bpm280-checks span{display:flex;align-items:center;gap:7px;padding:8px;border-radius:10px;background:rgba(148,163,184,.06);font-size:.78rem}.bpm280-checks span.ok{color:#86efac}.bpm280-checks span.bad{color:#fca5a5}.bpm280-report{display:flex;gap:10px;padding:10px;border-radius:12px;margin-bottom:8px}.bpm280-report.ok{background:rgba(34,197,94,.08)}.bpm280-report.bad{background:rgba(239,68,68,.08)}.bpm280-report small{display:block;color:#94a3b8}.bpm280-upgrade-form{display:flex;gap:10px;justify-content:center;margin:24px 0}.bpm280-toast{position:fixed;right:20px;bottom:90px;z-index:9999;padding:12px 16px;border-radius:12px;background:#0f172a;color:#fff;border:1px solid rgba(56,189,248,.35);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.bpm280-toast.show{opacity:1;transform:none}.bpm280-toast.bad{border-color:rgba(239,68,68,.5)}
@media(max-width:980px){.bpm280-grid-2,.bpm280-grid-3,.bpm280-room-shell,.bpm280-mission-grid{grid-template-columns:1fr}.bpm280-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bpm280-filter-bar{grid-template-columns:1fr 1fr}.bpm280-hero{align-items:flex-start;flex-direction:column}.bpm280-room-side{grid-template-columns:1fr 1fr}.bpm280-review-form{grid-template-columns:1fr}.bpm280-now-cover{width:110px}.bpm280-chart-row{grid-template-columns:36px 50px minmax(0,1fr) 44px}.bpm280-chart-stats{display:none}}
@media(max-width:640px){.bpm280-page{width:min(100% - 18px,1280px);margin-top:12px}.bpm280-hero,.bpm280-panel,.bpm280-room-main{padding:16px;border-radius:18px}.bpm280-room-grid,.bpm280-filter-bar,.bpm280-provider-grid,.bpm280-form-row,.bpm280-room-side{grid-template-columns:1fr}.bpm280-now-card{grid-template-columns:1fr;text-align:center}.bpm280-now-cover{width:min(72vw,240px);margin:auto}.bpm280-big-play{margin:auto}.bpm280-host-controls{align-items:stretch}.bpm280-host-controls>*{width:100%!important}.bpm280-room-head{flex-direction:column}.bpm280-chart-row{grid-template-columns:32px 46px minmax(0,1fr) 40px;padding:8px}.bpm280-chart-copy small{display:none}.bpm280-smart-cover{width:min(70vw,220px)}.bpm280-submission-list>div,.bpm280-admin-missions>div{grid-template-columns:1fr}.bpm280-mission-card{grid-template-columns:1fr}.bpm280-mission-card form{grid-column:1}.bpm280-hero-actions{width:100%}.bpm280-hero-actions .btn{flex:1}.bpm280-upgrade-form{flex-direction:column}}
.bpm280-save-pref{display:flex;justify-content:flex-end;margin:10px 0 0}
