.bb-lms-public{--navy:#071b3b;--cyan:#00b2d6;--red:#e53b2e;--line:#dbe7ee;--muted:#64748b;font-family:inherit;color:var(--navy)}.bb-lms-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bb-lms-course-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(7,27,59,.05);text-decoration:none;color:inherit}.bb-lms-course-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#e9fbff,#fff2ee);object-fit:cover;width:100%}.bb-lms-course-body{padding:17px}.bb-lms-course-body h3{margin:6px 0 7px;font-size:20px}.bb-lms-course-meta{display:flex;gap:7px;flex-wrap:wrap}.bb-lms-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edfaff;color:#087f97;font-size:11px;font-weight:800}.bb-lms-pill.paid{background:#fff1ec;color:#c3451d}.bb-lms-course-shell{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px}.bb-lms-course-main,.bb-lms-curriculum{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(7,27,59,.05);overflow:hidden}.bb-lms-course-head{padding:22px;background:linear-gradient(135deg,#effcff,#fff6f2)}.bb-lms-course-head h1{margin:5px 0 8px}.bb-lms-course-progress{height:8px;background:#edf2f5;border-radius:999px;overflow:hidden;margin-top:12px}.bb-lms-course-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#3157e6)}.bb-lms-lesson-content{padding:18px 22px}.bb-lms-curriculum{padding:15px;max-height:760px;overflow:auto}.bb-lms-module{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}.bb-lms-module h3{margin:0;padding:12px 13px;background:#f8fbfd;font-size:15px}.bb-lms-module a,.bb-lms-module span.bb-lms-lesson-link{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid #edf2f5;text-decoration:none;color:var(--navy);font-size:14px}.bb-lms-module a.active{background:#edfbff;color:#087f97;font-weight:800}.bb-lms-module .locked{opacity:.55}.bb-lms-demo{color:var(--red);font-size:10px;font-weight:900}.bb-lms-lock-card{padding:25px;text-align:center;border:1px dashed #f0b8ac;border-radius:16px;background:#fff8f6}.bb-lms-cta{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:11px;background:var(--red);color:#fff!important;text-decoration:none;font-weight:800;border:0}.bb-lms-secondary{background:#fff;color:var(--navy)!important;border:1px solid var(--line)}.bb-lms-live-strip{margin:18px 0;padding:15px;border:1px solid #ffd8c9;border-radius:16px;background:#fff8f4}.bb-lms-live-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0}.bb-lms-live-item+.bb-lms-live-item{border-top:1px solid #f6e2da}.bb-lms-exam-links{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.bb-lms-calendar-public{display:grid;gap:10px}.bb-lms-calendar-item{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:13px 15px;background:#fff}.bb-lms-calendar-item strong{display:block}.bb-lms-calendar-item small{color:var(--muted)}
/* Custom player */
.bb-lms-player{background:#050b15;border-radius:18px;overflow:hidden;color:#fff;box-shadow:0 16px 40px rgba(0,0,0,.16);position:relative}.bb-lms-player-stage{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;touch-action:pan-y}.bb-lms-player-media,.bb-lms-player-media iframe,.bb-lms-player-media video,.bb-lms-player-media>div{position:absolute!important;inset:0;width:100%!important;height:100%!important;border:0;background:#000}.bb-lms-player-tap{position:absolute;top:0;bottom:74px;width:34%;z-index:4}.bb-lms-player-tap.left{left:0}.bb-lms-player-tap.right{right:0}.bb-lms-player-seek-pop{position:absolute;top:50%;transform:translateY(-50%);padding:10px 13px;border-radius:999px;background:rgba(0,0,0,.62);font-weight:900;opacity:0;transition:opacity .15s;z-index:7;pointer-events:none}.bb-lms-player-seek-pop.left{left:12%}.bb-lms-player-seek-pop.right{right:12%}.bb-lms-player-seek-pop.show{opacity:1}.bb-lms-player-controls{position:absolute;left:0;right:0;bottom:0;z-index:8;padding:34px 12px 11px;background:linear-gradient(transparent,rgba(0,0,0,.88));display:grid;grid-template-columns:auto auto 1fr auto auto auto auto auto auto;gap:8px;align-items:center}.bb-lms-player button,.bb-lms-player select{height:34px;border:0;border-radius:8px;background:rgba(255,255,255,.12);color:#fff;padding:0 9px;cursor:pointer}.bb-lms-player select option{color:#111}.bb-lms-player button:hover{background:rgba(255,255,255,.2)}.bb-lms-player-time{font-size:12px;white-space:nowrap}.bb-lms-player-progress{grid-column:1/-1;width:100%;accent-color:#ff3b30;cursor:pointer}.bb-lms-player-volume{width:90px;accent-color:#fff}.bb-lms-player-quiz{position:absolute;inset:0;z-index:12;background:rgba(4,10,20,.88);display:none;align-items:center;justify-content:center;padding:22px}.bb-lms-player-quiz.show{display:flex}.bb-lms-player-quiz-card{max-width:520px;width:100%;padding:23px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:#101b2c;text-align:center}.bb-lms-player-quiz-card h3{color:#fff;margin:0 0 8px}.bb-lms-player-quiz-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:15px}.bb-lms-player-quiz-actions a,.bb-lms-player-quiz-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;text-decoration:none;font-weight:800}.bb-lms-player-quiz-actions a{background:var(--red);color:#fff}.bb-lms-player-volume-toast{position:absolute;right:18px;top:50%;transform:translateY(-50%);z-index:9;background:rgba(0,0,0,.68);border-radius:12px;padding:9px 11px;display:none}.bb-lms-player-volume-toast.show{display:block}.bb-lms-player-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;background:#07111e;color:#fff}.bb-lms-player-nav{display:flex;justify-content:space-between;gap:10px;padding:12px 0}.bb-lms-player-nav a{font-weight:800;text-decoration:none;color:var(--navy)}
@media(max-width:950px){.bb-lms-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bb-lms-course-shell{grid-template-columns:1fr}.bb-lms-curriculum{max-height:none}.bb-lms-player-controls{grid-template-columns:auto auto 1fr auto auto}.bb-lms-player-volume,.bb-lms-player-quality,.bb-lms-player-pip{display:none}}
@media(max-width:620px){.bb-lms-course-grid{grid-template-columns:1fr}.bb-lms-course-head,.bb-lms-lesson-content{padding:16px}.bb-lms-player{border-radius:12px}.bb-lms-player-controls{gap:5px;padding-left:7px;padding-right:7px}.bb-lms-player button,.bb-lms-player select{padding:0 7px}.bb-lms-player-speed{max-width:70px}.bb-lms-player-time{font-size:10px}}

/* v0.2.1 — canonical MCQ student-panel integration */
.bbmcq-nav .bb-lms-student-nav{display:flex;align-items:center;gap:10px;margin:8px 0!important;min-height:48px;padding:10px 13px!important;border-radius:13px!important;text-decoration:none!important;color:#17305f!important;font-weight:850}.bbmcq-nav .bb-lms-student-nav:hover,.bbmcq-nav .bb-lms-student-nav.active{background:#eafaff!important;color:#087f97!important}.bb-lms-student-nav-icon{width:22px;height:22px;display:grid;place-items:center}.bb-lms-student-nav-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bb-lms-dashboard-widget{margin:20px 0 24px;padding:22px;border:1px solid #d9e8ef;border-radius:22px;background:linear-gradient(135deg,#f1fcff,#fff8f4);box-shadow:0 12px 32px rgba(7,27,59,.05)}.bb-lms-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.bb-lms-dashboard-head small,.bb-lms-student-section-head small,.bb-lms-student-hero span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#0792ae}.bb-lms-dashboard-head h2,.bb-lms-student-section-head h2{margin:4px 0 2px;font-size:24px;color:#071b3b}.bb-lms-dashboard-head p{margin:0;color:#64748b}.bb-lms-dashboard-head>a{font-weight:900;color:#e53b2e;text-decoration:none;white-space:nowrap}.bb-lms-dashboard-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.bb-lms-course-card.compact .bb-lms-course-thumb{aspect-ratio:16/8}.bb-lms-course-card.compact .bb-lms-course-body{padding:13px}.bb-lms-course-card.compact h3{font-size:16px;margin-bottom:5px}.bb-lms-card-cta{display:block;margin-top:10px;color:#e53b2e;font-size:12px}.bb-lms-course-thumb-empty{display:grid;place-items:center}.bb-lms-course-thumb-empty span{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#e53b2e;font-size:20px;box-shadow:0 10px 24px rgba(7,27,59,.08)}
.bb-lms-continue{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:15px 16px;margin:0 0 15px;border-radius:17px;border:1px solid #cde8ef;background:#fff;text-decoration:none;color:#071b3b!important}.bb-lms-continue.compact{margin-bottom:14px}.bb-lms-continue-play{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#e9faff;color:#0792ae;font-weight:900}.bb-lms-continue-copy{min-width:0}.bb-lms-continue-copy small{display:block;color:#0792ae;font-weight:900;font-size:9px;letter-spacing:.08em}.bb-lms-continue-copy strong,.bb-lms-continue-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-lms-continue-copy strong{font-size:16px}.bb-lms-continue-copy span{font-size:12px;color:#64748b;margin-top:2px}.bb-lms-continue>b{text-align:right;font-size:17px}.bb-lms-continue>b em{font-size:10px;color:#e53b2e;font-style:normal;white-space:nowrap}.bb-lms-mini-progress{height:5px;border-radius:999px;background:#edf2f5;overflow:hidden;margin-top:7px}.bb-lms-mini-progress i{display:block;height:100%;background:#00b2d6}
.bb-lms-student-courses{max-width:1240px}.bb-lms-student-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 30px;margin-bottom:22px;border-radius:24px;border:1px solid #d9e8ef;background:linear-gradient(125deg,#eefcff,#fff 55%,#fff1ed)}.bb-lms-student-hero h1{margin:5px 0 7px;font-size:32px}.bb-lms-student-hero p{margin:0;color:#64748b;max-width:720px}.bb-lms-student-section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:26px 0 13px}.bb-lms-student-section-head>span{font-size:12px;color:#64748b;font-weight:800}.bb-lms-empty{grid-column:1/-1;padding:32px;border:1px dashed #bfd3de;border-radius:18px;text-align:center;background:#fff}.bb-lms-empty p{margin:5px 0 0;color:#64748b}
@media(max-width:900px){.bb-lms-dashboard-course-grid{grid-template-columns:1fr 1fr}.bb-lms-student-hero{align-items:flex-start;flex-direction:column}.bb-lms-student-hero h1{font-size:27px}}@media(max-width:620px){.bb-lms-dashboard-widget{padding:16px}.bb-lms-dashboard-head{align-items:flex-start;flex-direction:column}.bb-lms-dashboard-course-grid{grid-template-columns:1fr}.bb-lms-continue{grid-template-columns:auto 1fr}.bb-lms-continue>b{grid-column:2;text-align:left}.bb-lms-student-hero{padding:20px}.bb-lms-student-hero h1{font-size:24px}}

/* v0.2.2 player initialization/provider error state */
.bb-lms-player-stage{position:relative}.bb-lms-player-error{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:24px;text-align:center;background:rgba(5,18,39,.92);color:#fff}.bb-lms-player-error strong{font-size:18px}.bb-lms-player-error span{max-width:620px;color:#d8e6f5;font-size:13px}
/* v0.2.4 — premium player polish + watermark deterrence */
.bb-lms-player{outline:none}.bb-lms-player:focus-visible{box-shadow:0 0 0 3px rgba(0,178,214,.32),0 18px 48px rgba(0,0,0,.2)}
.bb-lms-player-top{position:absolute;left:0;right:0;top:0;z-index:7;display:flex;align-items:center;gap:10px;padding:14px 16px 30px;background:linear-gradient(rgba(0,0,0,.72),transparent);pointer-events:none;transition:opacity .2s ease}.bb-lms-player-top strong,.bb-lms-player-top small{display:block;color:#fff}.bb-lms-player-top small{opacity:.72;font-size:11px;margin-top:2px}.bb-lms-player-brand{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#7ce7f4;border:1px solid rgba(124,231,244,.36);padding:5px 7px;border-radius:999px}
.bb-lms-player-center{position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%);z-index:7!important;width:66px;height:66px!important;border-radius:50%!important;background:rgba(3,10,20,.66)!important;backdrop-filter:blur(8px);font-size:25px!important;box-shadow:0 10px 28px rgba(0,0,0,.28);transition:opacity .18s ease,transform .18s ease!important}.bb-lms-player-center:hover{transform:translate(-50%,-50%) scale(1.05)!important}.bb-lms-player-center.is-playing{opacity:0;pointer-events:none}
.bb-lms-player-watermark{position:absolute;z-index:6;max-width:48%;padding:6px 9px;border-radius:8px;background:rgba(0,0,0,.18);color:rgba(255,255,255,.5);font-size:11px;font-weight:700;letter-spacing:.02em;pointer-events:none;user-select:none;transition:top .5s,left .5s,right .5s,bottom .5s,opacity .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.45)}.bb-lms-player-watermark.is-user{color:rgba(255,255,255,.58);background:rgba(0,0,0,.22)}.bb-lms-player-watermark.wm-tl{top:18%;left:4%;right:auto;bottom:auto}.bb-lms-player-watermark.wm-tr{top:18%;right:4%;left:auto;bottom:auto}.bb-lms-player-watermark.wm-cl{top:47%;left:5%;right:auto;bottom:auto}.bb-lms-player-watermark.wm-cr{top:47%;right:5%;left:auto;bottom:auto}.bb-lms-player-watermark.wm-bl{bottom:19%;left:5%;right:auto;top:auto}.bb-lms-player-watermark.wm-br{bottom:19%;right:5%;left:auto;top:auto}
.bb-lms-player-seek-preview{position:absolute;z-index:10;bottom:68px;left:50%;transform:translateX(-50%);padding:6px 9px;border-radius:8px;background:rgba(2,8,16,.82);color:#fff;font-size:12px;font-weight:800;opacity:0;pointer-events:none;transition:opacity .12s}.bb-lms-player-seek-preview.show{opacity:1}
.bb-lms-player-controls{transition:opacity .2s ease,transform .2s ease}.bb-lms-player.is-idle .bb-lms-player-controls,.bb-lms-player.is-idle .bb-lms-player-top{opacity:0}.bb-lms-player.is-idle .bb-lms-player-controls{transform:translateY(6px)}.bb-lms-player.is-idle{cursor:none}.bb-lms-player.is-idle .bb-lms-player-watermark{opacity:.38}
.bb-lms-player-progress{height:5px}.bb-lms-player-progress:hover{height:7px}
@media(max-width:620px){.bb-lms-player-top{padding:10px 11px 25px}.bb-lms-player-brand{display:none}.bb-lms-player-top strong{font-size:13px}.bb-lms-player-center{width:54px;height:54px!important;font-size:21px!important}.bb-lms-player-watermark{font-size:9px;max-width:62%;padding:5px 7px}.bb-lms-player-seek-preview{bottom:60px}}
/* v0.3.0 — course assessment recipes: auto pool exams + student-custom practice */
.bb-lms-module-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 13px;background:#f8fbfd}.bb-lms-module-title h3{padding:0!important;background:transparent!important}.bb-lms-module-exam-badge{display:inline-flex!important;padding:3px 7px!important;border:0!important;border-radius:999px;background:#e9faff!important;color:#087f97!important;font-size:9px!important;font-weight:900!important;letter-spacing:.05em!important;text-transform:uppercase}
.bb-lms-assessment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;margin:18px 0;padding:17px 18px;border:1px solid #cfe5ed;border-radius:17px;background:linear-gradient(135deg,#f2fcff,#fff 58%,#fff7f3);box-shadow:0 8px 24px rgba(7,27,59,.035)}.bb-lms-assessment-card.custom{grid-template-columns:minmax(0,1fr) auto auto}.bb-lms-assessment-copy>span,.bb-lms-assessment-card>div:first-child>span{display:block;font-size:9px;font-weight:950;letter-spacing:.09em;color:#0792ae}.bb-lms-assessment-card h3{margin:4px 0 3px;font-size:18px;color:#071b3b}.bb-lms-assessment-card p{margin:0;color:#64748b;font-size:12px}.bb-lms-assessment-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.bb-lms-assessment-controls label{display:grid;gap:3px;font-size:10px;font-weight:800;color:#516579}.bb-lms-assessment-controls input,.bb-lms-assessment-controls select{height:36px;min-width:72px;padding:0 8px;border:1px solid #cfdde5;border-radius:9px;background:#fff;color:#071b3b}.bb-lms-assessment-status{grid-column:1/-1;min-height:0;font-size:11px;font-weight:800}.bb-lms-assessment-status.loading{color:#087f97}.bb-lms-assessment-status.ok{color:#08764e}.bb-lms-assessment-status.error{color:#b42318}.bb-lms-assessment-card button.bb-lms-cta{cursor:pointer;white-space:nowrap}.bb-lms-assessment-card button.bb-lms-cta:disabled{opacity:.65;cursor:progress}
@media(max-width:780px){.bb-lms-assessment-card,.bb-lms-assessment-card.custom{grid-template-columns:1fr;align-items:stretch}.bb-lms-assessment-card .bb-lms-cta{width:100%}.bb-lms-assessment-controls{align-items:stretch}.bb-lms-assessment-controls label{flex:1 1 90px}}

/* v0.3.3 — physical-key shortcuts + unified player settings */
.bb-lms-player[data-provider="youtube"] .bb-lms-player-media iframe,.bb-lms-player[data-provider="vimeo"] .bb-lms-player-media iframe,.bb-lms-player-media video{pointer-events:none}
.bb-lms-player-settings-menu{display:none;position:absolute;right:12px;bottom:58px;z-index:11;width:min(310px,calc(100% - 24px));padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(5,11,21,.96);box-shadow:0 16px 42px rgba(0,0,0,.38);backdrop-filter:blur(12px)}
.bb-lms-player-settings-menu.is-open{display:block}.bb-lms-player-settings-title{font-size:12px;font-weight:900;color:#fff;margin:0 0 10px}.bb-lms-player-settings-group{padding-top:10px;border-top:1px solid rgba(255,255,255,.11)}.bb-lms-player-settings-group+.bb-lms-player-settings-group{margin-top:10px}.bb-lms-player-settings-group>span{display:block;margin-bottom:7px;color:rgba(255,255,255,.72);font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.bb-lms-player-option-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.bb-lms-player-option-grid.quality{grid-template-columns:repeat(3,minmax(0,1fr))}.bb-lms-player-option-grid button{height:32px!important;padding:0 6px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.07)!important;font-size:11px!important}.bb-lms-player-option-grid button:hover{background:rgba(255,255,255,.14)!important}.bb-lms-player-option-grid button.is-active{background:#00b2d6!important;border-color:#35d2ee!important;color:#03131a!important;font-weight:900}
.bb-lms-player-settings-button{display:inline-flex!important;align-items:center;justify-content:center;padding:0!important;font-size:17px}.bb-lms-player-controls{grid-template-columns:40px 48px minmax(90px,1fr) 48px 40px 90px 40px auto 40px;gap:8px}.bb-lms-player-time{min-width:0}.bb-lms-player-progress{grid-column:1/-1}
@media(max-width:950px){
  .bb-lms-player-controls{grid-template-columns:40px 48px minmax(0,1fr) 48px 40px 40px;gap:6px;padding:31px 9px 9px}
  .bb-lms-player-volume,.bb-lms-player-pip,.bb-lms-player [data-mute]{display:none!important}
  .bb-lms-player-time{min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:11px}
  .bb-lms-player-controls button{min-width:0;padding:0 5px}
  .bb-lms-player-settings-menu{right:8px;bottom:54px;width:min(290px,calc(100% - 16px))}
}
@media(max-width:620px){
  .bb-lms-player-controls{grid-template-columns:36px 44px minmax(72px,1fr) 44px 36px 36px;gap:4px;padding:27px 6px 7px}
  .bb-lms-player-controls button{height:32px;font-size:12px;padding:0 3px}
  .bb-lms-player-settings-button{font-size:16px!important}
  .bb-lms-player-time{font-size:9.5px}.bb-lms-player-progress{height:4px;margin:0}
  .bb-lms-player-settings-menu{right:6px;bottom:49px;width:min(280px,calc(100% - 12px));padding:10px}
  .bb-lms-player-option-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.bb-lms-player-option-grid.quality{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bb-lms-player-seek-preview{bottom:52px}.bb-lms-player-top small{display:none}
}
@media(max-width:380px){
  .bb-lms-player-controls{grid-template-columns:34px 40px minmax(62px,1fr) 40px 34px 34px;gap:3px;padding-left:5px;padding-right:5px}
  .bb-lms-player-time{font-size:9px;letter-spacing:-.02em}.bb-lms-player-option-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* v0.4.0 — Learning Experience Engine / classroom */
.bb-lms-classroom{position:relative}.bb-lms-classroom-topbar{display:none}.bb-lms-course-shell{align-items:start}.bb-lms-course-main{min-width:0}.bb-lms-course-meta .flow{background:#f1f5ff;color:#4051b5}.bb-lms-progress-line{display:flex;justify-content:space-between;gap:12px;margin-top:7px;color:var(--muted);font-size:12px}.bb-lms-progress-line b{color:var(--navy)}
.bb-lms-lesson-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 14px}.bb-lms-lesson-heading small{display:block;color:#0792ae;font-size:9px;font-weight:950;letter-spacing:.1em}.bb-lms-lesson-heading h2{margin:4px 0 0;font-size:28px;line-height:1.2;color:var(--red)}.bb-lms-lesson-state{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#eef8fb;color:#087f97;font-size:11px;font-weight:900;white-space:nowrap}.bb-lms-lesson-state.done{background:#ecfdf3;color:#08764e}.bb-lms-lesson-state.locked{background:#f1f5f9;color:#64748b}
.bb-lms-completion-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:18px 0;padding:14px 15px;border:1px solid #d9e8ef;border-radius:15px;background:linear-gradient(135deg,#f7fcfe,#fff)}.bb-lms-completion-card.is-complete{border-color:#ccebd9;background:#f6fff9}.bb-lms-completion-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eafaff;color:#087f97;font-size:19px;font-weight:950}.bb-lms-completion-card.is-complete .bb-lms-completion-icon{background:#dcfce7;color:#08764e}.bb-lms-completion-copy{min-width:0}.bb-lms-completion-copy small,.bb-lms-completion-copy strong,.bb-lms-completion-copy span{display:block}.bb-lms-completion-copy small{color:#0792ae;font-size:8px;font-weight:950;letter-spacing:.09em}.bb-lms-completion-copy strong{margin-top:2px;font-size:14px}.bb-lms-completion-copy span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.bb-lms-completion-status{grid-column:2/-1;color:#08764e;font-size:10px;font-weight:800}
.bb-lms-assessment-card.locked,.bb-lms-assessment-locked{border-color:#e1e8ee;background:#f8fafc;color:#64748b}.bb-lms-assessment-card.locked{grid-template-columns:1fr auto}.bb-lms-lock-symbol{font-size:25px}.bb-lms-assessment-locked{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1px solid #e1e8ee;border-radius:12px}.bb-lms-assessment-locked span{font-size:19px}.bb-lms-assessment-locked strong,.bb-lms-assessment-locked small{display:block}.bb-lms-assessment-locked small{margin-top:2px}.bb-lms-assessment-card.is-unlocked,.bb-lms-assessment-locked.is-unlocked{border-color:#bce4cb;background:#f5fff8;color:#08764e}
.bb-lms-curriculum{position:sticky;top:18px;padding:0;max-height:calc(100vh - 36px);overscroll-behavior:contain}.bb-lms-curriculum-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 13px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.bb-lms-curriculum-head small{display:block;color:#0792ae;font-size:8px;font-weight:950;letter-spacing:.1em}.bb-lms-curriculum-head h2{margin:2px 0 0;font-size:18px}.bb-lms-curriculum-head button{display:none;border:0;background:#f1f5f9;width:36px;height:36px;border-radius:50%;font-size:22px;color:var(--navy)}.bb-lms-module{margin:12px;border-radius:13px}.bb-lms-module-title{padding:11px 12px}.bb-lms-module-title>div{min-width:0}.bb-lms-module-title h3{font-size:14px!important;white-space:normal}.bb-lms-module-title small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.bb-lms-module-title>span{font-size:10px;font-weight:900;color:#087f97}.bb-lms-module-progress{height:3px;background:#edf2f5}.bb-lms-module-progress i{display:block;height:100%;background:var(--cyan)}.bb-lms-module a{justify-content:flex-start!important;align-items:center;gap:10px!important;min-height:54px;padding:9px 11px!important}.bb-lms-module a>span{min-width:0;display:block}.bb-lms-module a b,.bb-lms-module a small{display:block}.bb-lms-module a b{font-size:12px;line-height:1.3;white-space:normal}.bb-lms-module a small{margin-top:2px;color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.04em}.bb-lms-module a.locked{opacity:.58;cursor:not-allowed}.bb-lms-module a.completed{background:#f8fffb}.bb-lms-curriculum-icon{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf7fa;color:#087f97;font-size:11px;font-style:normal;font-weight:950}.bb-lms-curriculum-icon.done{background:#dcfce7;color:#08764e}.bb-lms-curriculum-icon.locked{background:#f1f5f9;color:#7a899b}.bb-lms-curriculum-backdrop{display:none}
.bb-lms-curriculum-toggle{border:0;background:#eafaff;color:#087f97;border-radius:10px;min-height:38px;padding:0 12px;font-weight:900}.bb-lms-curriculum-toggle span{margin-left:5px}

/* v0.4 player settings: visibility/pointer model instead of display toggling */
.bb-lms-player-settings-menu{display:block!important;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(8px) scale(.98);transform-origin:bottom right;transition:opacity .14s ease,transform .14s ease,visibility .14s ease}.bb-lms-player-settings-menu.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}.bb-lms-player.settings-open .bb-lms-player-controls{opacity:1!important;transform:none!important}.bb-lms-player.settings-open{cursor:default!important}.bb-lms-player-settings-button[aria-expanded="true"]{background:#00b2d6!important;color:#03131a!important}

@media(max-width:950px){
 body.bb-lms-curriculum-open{overflow:hidden}.bb-lms-classroom-topbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:9px 10px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 8px 25px rgba(7,27,59,.08);backdrop-filter:blur(12px)}.bb-lms-classroom-topbar>div{min-width:0;text-align:right}.bb-lms-classroom-topbar strong,.bb-lms-classroom-topbar small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-lms-classroom-topbar strong{font-size:11px}.bb-lms-classroom-topbar small{color:var(--muted);font-size:9px}.bb-lms-course-shell{display:block}.bb-lms-curriculum{position:fixed;z-index:100002;top:0;bottom:0;right:0;width:min(390px,90vw);max-height:none;border-radius:18px 0 0 18px;transform:translateX(105%);transition:transform .22s ease;box-shadow:-18px 0 55px rgba(7,27,59,.2)}.bb-lms-classroom.curriculum-open .bb-lms-curriculum{transform:none}.bb-lms-curriculum-head button{display:grid;place-items:center;cursor:pointer}.bb-lms-curriculum-backdrop{position:fixed;inset:0;z-index:100001;background:rgba(7,27,59,.46);backdrop-filter:blur(2px)}.bb-lms-classroom.curriculum-open .bb-lms-curriculum-backdrop{display:block}.bb-lms-course-main{width:100%}.bb-lms-progress-line{font-size:10px}.bb-lms-lesson-heading h2{font-size:24px}
}
@media(max-width:620px){
 .bb-lms-classroom{margin-left:-2px;margin-right:-2px}.bb-lms-course-main{border-radius:15px}.bb-lms-course-head{padding:14px}.bb-lms-course-head h1{font-size:23px;line-height:1.2}.bb-lms-course-head p{font-size:12px;line-height:1.45}.bb-lms-course-meta{gap:5px}.bb-lms-pill{padding:4px 7px;font-size:8.5px}.bb-lms-progress-line{align-items:flex-start;flex-direction:column;gap:2px}.bb-lms-lesson-content{padding:13px}.bb-lms-lesson-heading{align-items:flex-start;gap:8px}.bb-lms-lesson-heading h2{font-size:22px}.bb-lms-lesson-state{min-height:26px;padding:0 8px;font-size:9px}.bb-lms-completion-card{grid-template-columns:auto 1fr;padding:12px}.bb-lms-completion-card>.bb-lms-cta{grid-column:1/-1;width:100%}.bb-lms-completion-status{grid-column:1/-1}.bb-lms-player-nav{font-size:11px}.bb-lms-curriculum{width:94vw}.bb-lms-classroom-topbar{margin:0 0 8px;border-radius:12px}.bb-lms-curriculum-toggle{min-height:34px;padding:0 9px;font-size:10px}
}


/* v0.5.0 — Topic-aware classroom curriculum */
.bb-lms-topic-group{margin:6px 7px 10px;padding:5px 0 7px;border:1px solid #e6eef4;border-radius:11px;background:#fbfdff;overflow:hidden}
.bb-lms-topic-label{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid #edf2f6;background:#f3fbfd}
.bb-lms-topic-label span{font-size:7.5px;letter-spacing:.09em;font-weight:950;color:#0792ae}.bb-lms-topic-label strong{font-size:10.5px;color:var(--navy)}
.bb-lms-topic-group a{margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important}
.bb-lms-module a.type-practice .bb-lms-curriculum-icon{background:#ecfdf5;color:#067647}.bb-lms-module a.type-exam .bb-lms-curriculum-icon{background:#fff2ed;color:#b42318}.bb-lms-module a.type-resource .bb-lms-curriculum-icon{background:#f1f5ff;color:#4051b5}

/* v0.6.0 — Discussion + Player 2.0 + Learning Analytics hooks */
.bb-lms-discussion{margin:24px 0 10px;padding:18px;border:1px solid #d9e8ef;border-radius:18px;background:linear-gradient(135deg,#fbfeff,#fff 64%,#fff9f6)}
.bb-lms-discussion-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.bb-lms-discussion-head small{font-size:9px;font-weight:950;letter-spacing:.09em;color:#0792ae}.bb-lms-discussion-head h3{margin:3px 0 4px;font-size:22px;color:#071b3b}.bb-lms-discussion-head p{margin:0;color:#64748b;font-size:13px}.bb-lms-discussion-head>span{font-size:12px;font-weight:900;color:#087f97;white-space:nowrap}
.bb-lms-discussion-login,.bb-lms-comment-empty,.bb-lms-comment-loading{padding:14px;border-radius:12px;background:#f6fafc;color:#64748b}.bb-lms-comment-form{margin:0 0 16px}.bb-lms-comment-form textarea{width:100%;resize:vertical;min-height:88px;padding:12px 14px;border:1px solid #cfdee7;border-radius:13px;font:inherit;box-sizing:border-box;background:#fff}.bb-lms-comment-form>div{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:8px}.bb-lms-comment-form [data-comment-status]{margin-right:auto;color:#64748b;font-size:12px}.bb-lms-comment-cancel{border:0;background:transparent;color:#64748b;font-weight:800;cursor:pointer}
.bb-lms-comment-list{display:grid;gap:12px}.bb-lms-comment{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:13px;border:1px solid #e2edf3;border-radius:14px;background:#fff}.bb-lms-comment.pinned{border-color:#bfe8ef;background:#f8fdff}.bb-lms-comment.reply{margin-top:9px;padding:10px;background:#fbfdff}.bb-lms-comment-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#edf5f8}.bb-lms-comment.reply .bb-lms-comment-avatar{width:34px;height:34px}.bb-lms-comment-content{min-width:0}.bb-lms-comment-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bb-lms-comment-meta strong{color:#071b3b}.bb-lms-comment-meta small{color:#94a3b8;font-size:11px}.bb-lms-comment-badge{padding:3px 7px;border-radius:999px;background:#e9faff;color:#087f97;font-size:9px;font-weight:950}.bb-lms-comment-badge.pin{background:#fff3e8;color:#b45309}.bb-lms-comment-body{margin:6px 0 8px;color:#253b5b;line-height:1.55;white-space:pre-wrap}.bb-lms-comment-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.bb-lms-comment-action{border:0;background:transparent;padding:0;color:#64748b;font-size:11px;font-weight:850;cursor:pointer}.bb-lms-comment-action:hover,.bb-lms-comment-action.liked{color:#e53b2e}.bb-lms-comment-action.danger{color:#b42318}.bb-lms-comment-replies{margin-top:10px;padding-left:10px;border-left:2px solid #e7f2f5}
.bb-lms-player-settings-menu{position:absolute;right:12px;bottom:62px;z-index:20;width:min(330px,calc(100% - 24px));max-height:min(70vh,430px);overflow:auto;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(10,18,31,.96);box-shadow:0 18px 50px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(8px);transition:.16s}.bb-lms-player-settings-menu.is-open{opacity:1;visibility:visible;transform:none}.bb-lms-player-settings-title{font-size:13px;font-weight:950;margin-bottom:10px}.bb-lms-player-settings-group{padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.bb-lms-player-settings-group>span{display:block;margin-bottom:7px;font-size:11px;color:#b9c5d7;font-weight:850}.bb-lms-player-option-grid{display:flex;gap:6px;flex-wrap:wrap}.bb-lms-player-option-grid button.is-active,.bb-lms-player-toggle-option.is-active{background:#fff;color:#071b3b}.bb-lms-player-toggle-option{width:100%;display:flex;justify-content:space-between;align-items:center}.bb-lms-player-toggle-option em{font-style:normal;opacity:.75}.bb-lms-player-settings-button[aria-expanded="true"]{background:#fff;color:#071b3b}.bb-lms-player.is-idle:not(.settings-open) .bb-lms-player-controls,.bb-lms-player.is-idle:not(.settings-open) .bb-lms-player-top{opacity:0;pointer-events:none}.bb-lms-player-controls,.bb-lms-player-top{transition:opacity .2s}.bb-lms-player-error{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:24px;background:#08111f;color:#fff}.bb-lms-player-error span{color:#cbd5e1;font-size:13px}
@media(max-width:700px){.bb-lms-discussion{padding:14px}.bb-lms-discussion-head{display:block}.bb-lms-discussion-head>span{display:block;margin-top:6px}.bb-lms-comment{grid-template-columns:34px minmax(0,1fr);padding:10px}.bb-lms-comment-avatar{width:34px;height:34px}.bb-lms-player-settings-menu{right:7px;bottom:58px;width:calc(100% - 14px)}}

/* v0.7.0 Live Class + Academic Calendar */
.bb-lms-calendar-v2{display:grid;gap:14px}.bb-lms-calendar-summary{display:flex;justify-content:space-between;align-items:end;gap:12px}.bb-lms-calendar-summary small,.bb-lms-event-type{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--cyan)}.bb-lms-calendar-summary h3{margin:2px 0 0}.bb-lms-calendar-item{position:relative}.bb-lms-calendar-item>div{display:flex;flex-direction:column;gap:3px}.bb-lms-live-status{display:inline-flex;align-self:flex-start;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em;background:#eef4f7;color:#506274}.bb-lms-live-status.live{background:#e7fff0;color:#15803d}.bb-lms-live-status.ended{background:#f1f5f9;color:#64748b}.bb-lms-live-card.live{border-color:#9fe5bb;box-shadow:0 8px 24px rgba(22,163,74,.08)}.bb-lms-join-wait{font-size:11px;font-weight:800;color:var(--muted);max-width:150px;text-align:right}.bb-lms-live-strip-head,.bb-lms-dashboard-live-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.bb-lms-live-strip-head a,.bb-lms-dashboard-live-head a{font-size:12px;font-weight:800;color:#087f97;text-decoration:none}.bb-lms-live-strip .bb-lms-calendar-item{margin-top:8px}.bb-lms-dashboard-live{border:1px solid #dbe7ee;border-radius:16px;padding:13px;background:#f9fdff;margin:12px 0}.bb-lms-dashboard-live .bb-lms-calendar-item{box-shadow:none;margin-top:8px}.bb-lms-calendar-item.type-exam{border-color:#ffd7cc}.bb-lms-calendar-item.type-practice{border-color:#ded5ff}
@media(max-width:700px){.bb-lms-calendar-item{align-items:flex-start;flex-direction:column}.bb-lms-calendar-item .bb-lms-cta,.bb-lms-join-wait{width:100%;max-width:none;text-align:center}.bb-lms-calendar-summary{align-items:flex-start;flex-direction:column}}
.bb-lms-calendar-view-tabs{display:flex;gap:8px;flex-wrap:wrap}.bb-lms-calendar-view-tabs a{display:inline-flex;padding:8px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--navy);font-weight:800;background:#fff}.bb-lms-calendar-view-tabs a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.bb-lms-student-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.bb-lms-student-day{border:1px solid var(--line);border-radius:14px;background:#fff;min-height:180px;padding:10px}.bb-lms-student-day.today{outline:2px solid rgba(0,178,214,.25)}.bb-lms-student-day header{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.bb-lms-student-day header span{color:var(--muted);font-size:11px}.bb-lms-week-event{display:flex;gap:6px;align-items:flex-start;margin:6px 0;padding:7px;border-radius:8px;background:#eefaff;text-decoration:none;color:var(--navy);font-size:11px}.bb-lms-week-event.exam{background:#fff1ed}.bb-lms-week-event.practice{background:#f3f0ff}.bb-lms-week-event time{font-weight:900}.bb-lms-day-empty{color:var(--muted)}.bb-lms-calendar-month-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.bb-lms-calendar-month-nav a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--navy)}.bb-lms-student-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.bb-lms-month-head{text-align:center;font-size:11px;color:var(--muted);padding:4px}.bb-lms-month-day{min-height:105px;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.bb-lms-month-day.muted{opacity:.42}.bb-lms-month-day.today{outline:2px solid rgba(0,178,214,.3)}.bb-lms-month-day>span{display:block;font-weight:900;margin-bottom:4px}.bb-lms-month-day>a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0;padding:4px 5px;border-radius:6px;background:#eefaff;color:#087f97;text-decoration:none;font-size:10px}.bb-lms-month-day>a.live{background:#fff1ed;color:#b93d1a}.bb-lms-month-day>a.exam{background:#fff1ed;color:#b93d1a}.bb-lms-month-day>a.practice{background:#f3f0ff;color:#6d45b8}.bb-lms-month-day em{font-size:10px;color:var(--muted)}
@media(max-width:900px){.bb-lms-student-week{grid-template-columns:1fr}.bb-lms-student-day{min-height:0}.bb-lms-student-month{grid-template-columns:repeat(2,minmax(0,1fr))}.bb-lms-month-head{display:none}}@media(max-width:560px){.bb-lms-student-month{grid-template-columns:1fr}.bb-lms-month-day.muted{display:none}}


/* v0.7.2 — reusable question-explanation player + related course card */
.bb-lms-player-explanation{margin:14px 0;max-width:760px;border-radius:16px;box-shadow:0 12px 32px rgba(7,28,58,.14)}
.bb-lms-player-explanation .bb-lms-player-top small{letter-spacing:.05em}
.bb-lms-related-question-course{margin:14px 0 2px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid #d8e6ec;border-radius:14px;background:linear-gradient(135deg,#f7fdff,#fff 62%,#fff7f4)}
.bb-lms-related-question-course img{width:72px;height:52px;border-radius:9px;object-fit:cover;background:#eef6f8}.bb-lms-related-question-course div{min-width:0;display:grid;gap:2px}.bb-lms-related-question-course small{font-size:9px;font-weight:950;letter-spacing:.08em;color:#078aa5;text-transform:uppercase}.bb-lms-related-question-course strong{color:#071b3b;font-size:15px}.bb-lms-related-question-course span{color:#64748b;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-lms-related-question-course a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:10px;background:#e53b2e;color:#fff;text-decoration:none;font-weight:900;white-space:nowrap}
@media(max-width:620px){.bb-lms-related-question-course{grid-template-columns:1fr}.bb-lms-related-question-course img{width:100%;height:120px}.bb-lms-related-question-course a{width:100%}}
