.oc-unit-shell,.oc-unit-shell *{box-sizing:border-box}
.oc-unit-shell{max-width:1280px;margin:28px auto;padding:clamp(18px,3vw,36px);background:linear-gradient(145deg,#071b31,#0d2947);border:1px solid #b88a28;border-radius:18px;color:#f8f3e8;font-family:inherit;box-shadow:0 18px 48px #020b16aa;overflow:hidden}
.oc-unit-header{padding-bottom:18px;border-bottom:1px solid #b88a2866;margin-bottom:22px}
.oc-unit-kicker{color:#e0b84f;font-size:14px;font-weight:700}
.oc-unit-header h1{font-size:clamp(24px,3vw,36px);line-height:1.4;margin:10px 0 0;color:#fff}
.oc-unit-cover{max-width:800px;margin:0 auto 24px}
.oc-unit-cover img{display:block;width:100%;height:auto;border:2px solid #c89b36;border-radius:12px}
.oc-unit-public-summary{margin:0 0 22px;color:#fff}
.oc-unit-public-summary .oc-lesson-public-stats-heading{text-align:center;margin-bottom:14px}
.oc-unit-public-summary .oc-public-lesson-students{display:inline-block;padding:8px 16px;border:1px solid #b88a28;border-radius:999px;color:#e7c15a;background:#06172a}
.oc-unit-public-summary .oc-lesson-teachers{border-color:#b88a28!important;background:#09233d!important;color:#fff!important}
.oc-unit-public-summary .oc-lesson-teachers-heading span{color:#e7c15a!important}
.oc-unit-public-summary .oc-lesson-teachers-heading strong,.oc-unit-public-summary .oc-lesson-teacher{color:#fff!important}
.oc-unit-intro-note{padding:18px 20px;margin:18px 0 24px;border:1px solid #b88a28;border-left:5px solid #e2b94d;border-radius:12px;background:#06182c;color:#f8f3e8}
.oc-unit-intro-note strong{display:block;color:#e7c15a;font-size:18px;margin-bottom:6px}
.oc-unit-intro-note p{margin:4px 0;color:#f8f3e8}
.oc-unit-standards{margin:18px 0 24px;padding:clamp(18px,3vw,28px);border:1px solid #b88a28;border-radius:12px;background:#f8f5ec;color:#102744}
.oc-unit-standards h2{margin:0 0 14px;color:#102744;font-size:clamp(21px,2.5vw,28px);line-height:1.4}
.oc-unit-standards-content,.oc-unit-standards-content p,.oc-unit-standards-content li{color:#102744;line-height:1.75}
.oc-unit-standards-content img{max-width:100%;height:auto}
.oc-unit-standards-content table{width:100%;border-collapse:collapse;margin:14px 0;background:#fff}
.oc-unit-standards-content th,.oc-unit-standards-content td{padding:10px;border:1px solid #d7bd7b;vertical-align:top;text-align:left}
.oc-unit-standards-content th{background:#0d2947;color:#fff}
.oc-unit-standards-button{display:block!important;width:min(100%,520px);margin:18px auto!important;text-align:center}
.oc-unit-back-nav{display:flex;width:100%;margin:0 0 16px;justify-content:flex-start}
.oc-unit-back-nav-bottom{margin:18px 0 0}
.oc-unit-back-nav a{display:inline-flex;min-height:44px;padding:10px 18px;align-items:center;border:1px solid #d4a83f;border-radius:999px;background:#071a38;color:#f0ca68!important;font-weight:700;text-decoration:none!important;box-shadow:0 6px 18px rgba(2,11,22,.16)}
.oc-unit-back-nav a:hover{background:#d4a83f;color:#071a38!important}
.oc-unit-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:24px}
.oc-unit-layout-content{grid-template-columns:minmax(0,1fr)}
.oc-unit-layout-content .oc-unit-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;width:100%;max-height:none}
.oc-unit-layout-content .oc-unit-menu h2{grid-column:1/-1;margin:0 0 4px}
.oc-unit-layout-content .oc-unit-menu a,.oc-unit-layout-content .oc-unit-menu button{height:100%;margin:0}
.oc-unit-menu{background:#06182c;border:1px solid #b88a28;border-radius:12px;padding:16px;align-self:start}
.oc-unit-menu h2{font-size:20px;margin:0 0 16px;color:#fff!important;opacity:1!important;-webkit-text-fill-color:#fff!important}
body .oc-unit-shell .oc-unit-layout .oc-unit-menu>h2{color:#fff!important;opacity:1!important;-webkit-text-fill-color:#fff!important}
.oc-unit-menu a,.oc-unit-menu button{display:flex;align-items:flex-start;gap:10px;padding:12px;margin:8px 0;width:100%;border:1px solid #b88a2866;border-radius:8px;background:#0d2947;text-decoration:none;color:#fff;line-height:1.5;font:inherit;text-align:left}
.oc-unit-menu a:hover,.oc-unit-menu a[aria-current]{background:#c39532;color:#07182b;border-color:#edc860}
.oc-unit-menu .oc-unit-pretest-link{border-color:#c39532;color:#e7c15a}
.oc-unit-menu .oc-unit-standards-link{border-color:#c39532;color:#f0ca68}
.oc-unit-menu .oc-unit-ai-assessment-link{border:2px solid #d4af37;background:linear-gradient(135deg,#172b40,#071a38);color:#ffe39a;font-weight:700}
.oc-unit-menu .oc-unit-ai-assessment-link:hover{background:#d4af37;color:#07182b}
.oc-unit-menu .oc-unit-clip-link.is-complete{border:2px solid #d4af37!important;color:#f0ce64!important;background:#071a38!important;box-shadow:inset 0 0 0 1px rgba(240,206,100,.2)}
.oc-unit-menu .oc-unit-clip-link.is-complete:hover,.oc-unit-menu .oc-unit-clip-link.is-complete[aria-current]{background:#d4af37!important;color:#07182b!important}
.oc-unit-clip-done-mark{margin-left:auto;color:inherit!important}
.oc-unit-menu a span{flex-shrink:0;font-weight:700}
.oc-unit-menu button:disabled{opacity:.6;cursor:not-allowed}
.oc-unit-menu .oc-unit-posttest-locked:disabled{border-color:#9a7a37;color:#dbc27f;opacity:.82;background:#101f32}
.oc-unit-main{min-width:0;max-width:100%;overflow:hidden;overflow-wrap:normal;word-break:normal;padding:18px;background:#f8f5ec;border:1px solid #b88a28;border-radius:12px;color:#102744}
.oc-unit-main p,.oc-unit-main li,.oc-unit-main h1,.oc-unit-main h2,.oc-unit-main h3{overflow-wrap:break-word;word-break:normal}
.oc-unit-main h2{font-size:24px;line-height:1.45;color:#102744}
.oc-unit-main video{width:100%;height:auto;max-height:70vh;background:#020a13;border:2px solid #c89b36;border-radius:10px;display:block}
.oc-unit-video-player{width:100%;overflow:hidden;border:2px solid #c89b36;border-radius:11px;background:#020a13;box-shadow:0 12px 28px rgba(2,10,19,.22)}
.oc-unit-video-player .oc-unit-video{border:0;border-radius:0;max-height:70vh}
.oc-unit-player-controls{display:flex;min-height:58px;align-items:center;gap:12px;padding:10px 13px;background:linear-gradient(180deg,#0d2947,#06182c);color:#fff}
.oc-unit-player-controls button{min-width:44px;min-height:38px;padding:7px 11px;border:1px solid #d4af37;border-radius:7px;background:#071a38;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.oc-unit-player-controls button:hover{background:#d4af37;color:#071a38}
.oc-unit-player-time{min-width:92px;color:#fff;font-variant-numeric:tabular-nums;font-size:14px;text-align:center}
.oc-unit-player-progress{position:relative;flex:1;height:12px;overflow:hidden;border:1px solid #82681f;border-radius:999px;background:#24384e;cursor:not-allowed}
.oc-unit-player-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#b88a28,#f0ce64);transition:width .15s linear}
.oc-unit-player-progress.is-seekable{cursor:pointer}
.oc-unit-clip-status{margin-top:14px;padding:13px 16px;border:1px solid #c8b98c;border-radius:9px;background:#eee9dc;color:#33445a;font-weight:700;text-align:center}
.oc-unit-clip-status.is-warning{border-color:#c78a21;background:#fff4d8;color:#784f00}
.oc-unit-clip-status.is-complete{border:2px solid #d4af37;background:#071a38;color:#f0ce64;box-shadow:0 8px 20px rgba(7,26,56,.16)}
.oc-unit-main .elementor,.oc-unit-main [data-elementor-type],.oc-unit-main .elementor-section-wrap,.oc-unit-main .elementor-section,.oc-unit-main .e-con{max-width:100%!important;width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;transform:none!important;left:auto!important;right:auto!important}
.oc-unit-main .elementor-widget-html,.oc-unit-main .elementor-widget-html>.elementor-widget-container{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;align-self:stretch!important;flex:0 0 100%!important;flex-basis:100%!important}
.oc-unit-main .elementor-widget-html>.elementor-widget-container>section[class*="ddl-u"]{display:block!important;width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;float:none!important;transform:none!important}
.oc-unit-main section[class*="ddl-u"]{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;float:none!important;left:auto!important;right:auto!important;transform:none!important}
.oc-unit-main section.ddl-unit1-cover{width:100%!important;max-width:100%!important}
.oc-unit-main img,.oc-unit-main iframe{max-width:100%!important;height:auto}
.oc-unit-notice,.oc-unit-score{padding:18px;border-left:4px solid #b58b45;background:#fcf8ed;margin:16px 0;border-radius:8px;color:#102744!important;-webkit-text-fill-color:#102744!important;font-weight:600;line-height:1.7;opacity:1!important}
.oc-unit-shell .oc-unit-notice,.oc-unit-shell .oc-unit-notice p,.oc-unit-shell .oc-unit-notice span,.oc-unit-shell .oc-unit-score,.oc-unit-shell .oc-unit-score strong{color:#102744!important;-webkit-text-fill-color:#102744!important;opacity:1!important}
.oc-unit-admin-note{padding:12px;background:#173858;color:#fff;border:1px solid #b88a2866;border-radius:8px;font-size:14px}
.oc-unit-shell .oc-button{display:inline-block;padding:12px 20px;background:#c39532;color:#07182b;border:1px solid #efcf71;border-radius:8px;text-decoration:none;line-height:1.5;font:inherit;font-weight:700;cursor:pointer;margin:6px 0}
.oc-unit-shell .oc-button:hover{background:#e2b94d;color:#07182b}
.oc-unit-account-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px}
.oc-unit-account-actions .oc-button{margin:0}
.oc-unit-account-actions .oc-button-register{background:#071a38;color:#fff;border-color:#d4a83f}
.oc-unit-account-actions .oc-button-register:hover{background:#102e5c;color:#fff}
.oc-unit-admin-enrol-preview{cursor:default}
.oc-unit-shell .oc-button-outline{background:transparent;color:#e7c15a}
.oc-unit-shell a:focus-visible,.oc-unit-shell button:focus-visible{outline:3px solid #b58b45;outline-offset:3px}
.oc-unit-enrolled{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.oc-unit-enrolled a{display:flex;flex-direction:column;gap:12px;border:1px solid #e8dfcf;padding:20px;border-radius:10px;color:#152c47;text-decoration:none}
.oc-unit-enrolled span{font-size:14px;color:#856223}
@media(max-width:760px){
  .oc-unit-account-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .oc-unit-account-actions .oc-button{width:100%;text-align:center}
  .oc-unit-shell{width:calc(100% - 8px);max-width:none;margin:8px 4px;padding:10px;border-radius:12px}
  .oc-unit-header{margin-bottom:14px;padding-bottom:12px}
  .oc-unit-layout,.oc-unit-layout-content{grid-template-columns:minmax(0,1fr);gap:12px;width:100%}
  .oc-unit-menu,.oc-unit-layout-content .oc-unit-menu{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%;max-height:none;padding:10px;overflow:visible}
  .oc-unit-menu h2,.oc-unit-layout-content .oc-unit-menu h2{grid-column:1/-1;margin:0 0 4px;font-size:18px}
  .oc-unit-menu a,.oc-unit-menu button,.oc-unit-layout-content .oc-unit-menu a,.oc-unit-layout-content .oc-unit-menu button{min-width:0;height:auto;margin:0;padding:10px;font-size:14px;overflow-wrap:break-word}
  .oc-unit-main{width:100%;min-width:0;padding:8px;border-radius:9px;overflow:hidden}
  .oc-unit-main h2{font-size:20px;line-height:1.35}
  .oc-unit-main .elementor,.oc-unit-main [data-elementor-type],.oc-unit-main .elementor-section-wrap,.oc-unit-main .elementor-section,.oc-unit-main .e-con{width:100%!important;max-width:100%!important;min-width:0!important}
  .oc-unit-main section[class*="ddl-u"]{width:100%!important;max-width:100%!important;margin-right:auto!important;margin-left:auto!important;padding-right:clamp(6px,2.5vw,12px)!important;padding-left:clamp(6px,2.5vw,12px)!important}
  .oc-unit-main section[class*="ddl-u"] [class*="grid"],
  .oc-unit-main section[class*="ddl-u"] [class*="cards"],
  .oc-unit-main section[class*="ddl-u"] [class*="items"]{grid-template-columns:minmax(0,1fr)!important}
  .oc-unit-main section[class*="ddl-u"] [class*="card"],
  .oc-unit-main section[class*="ddl-u"] [class*="item"]{width:100%!important;max-width:100%!important;min-width:0!important}
  .oc-unit-main img,.oc-unit-main iframe,.oc-unit-main video{max-width:100%!important}
  .oc-unit-standards{padding:15px;overflow-x:auto}
  .oc-unit-standards-content table{min-width:560px}
  .oc-unit-back-nav a{width:100%;justify-content:center}
  .oc-unit-player-controls{gap:7px;padding:8px;flex-wrap:wrap}
  .oc-unit-player-controls button{min-width:40px;padding:6px 8px}
  .oc-unit-player-play span{display:none}
  .oc-unit-player-time{min-width:86px;font-size:12px}
  .oc-unit-player-progress{order:5;flex-basis:100%;height:14px}
}
@media(max-width:420px){
  .oc-unit-menu,.oc-unit-layout-content .oc-unit-menu{grid-template-columns:1fr}
  .oc-unit-main{padding:5px}
}

/* Optional activity app, configured separately for each unit. */
.oc-unit-menu .oc-unit-activity-link{border-color:#dfb851;background:#172b40;color:#ffe3a0!important;font-weight:700}
.oc-unit-menu .oc-unit-activity-link[aria-current="page"]{background:#dfb851;color:#071b31!important}
.oc-unit-activity{min-width:0}
.oc-unit-activity p{line-height:1.8}
.oc-unit-activity-frame{display:block;width:100%;height:780px;height:clamp(600px,80vh,900px);border:1px solid #b88a28;border-radius:12px;background:#150826}
.oc-unit-activity-help{font-size:14px}
@media(max-width:767px){.oc-unit-activity-frame{height:75vh;min-height:560px}.oc-unit-activity-open{display:block;text-align:center}}

/* Fullscreen must not inherit the lesson's 70vh video cap. */
.oc-unit-video-player:fullscreen{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#000!important;overflow:hidden!important}
.oc-unit-video-player:fullscreen .oc-unit-video{display:block!important;flex:1 1 0%!important;width:100%!important;height:0!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:contain!important;background:#000!important}
.oc-unit-video-player:fullscreen .oc-unit-player-controls{flex:0 0 auto!important;width:100%!important;margin:0!important;box-sizing:border-box!important}
.oc-unit-video-player:-webkit-full-screen{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#000!important;overflow:hidden!important}
.oc-unit-video-player:-webkit-full-screen .oc-unit-video{display:block!important;flex:1 1 0%!important;width:100%!important;height:0!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:contain!important;background:#000!important}
.oc-unit-video-player:-webkit-full-screen .oc-unit-player-controls{flex:0 0 auto!important;width:100%!important;margin:0!important;box-sizing:border-box!important}
.oc-unit-video-player.oc-is-fullscreen{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#000!important;overflow:hidden!important}
.oc-unit-video-player.oc-is-fullscreen .oc-unit-video{display:block!important;flex:1 1 0%!important;width:100%!important;height:0!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:contain!important;background:#000!important}
.oc-unit-video-player.oc-is-fullscreen .oc-unit-player-controls{flex:0 0 auto!important;width:100%!important;margin:0!important;box-sizing:border-box!important}

/* A completed clip exposes a native slider for mouse, touch and keyboard review. */
input.oc-unit-player-progress{--oc-player-progress:0%;display:block;appearance:none;-webkit-appearance:none;flex:1 1 0%;min-width:24px;width:100%;height:12px;margin:0;padding:0;border:1px solid #82681f;border-radius:999px;background:linear-gradient(to right,#e0b84f 0%,#e0b84f var(--oc-player-progress),#24384e var(--oc-player-progress),#24384e 100%);overflow:visible;box-shadow:none;opacity:1;direction:ltr}
input.oc-unit-player-progress::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#e0b84f;cursor:pointer}
input.oc-unit-player-progress::-moz-range-thumb{width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:#e0b84f;cursor:pointer}
input.oc-unit-player-progress:disabled{cursor:not-allowed;opacity:.7}
input.oc-unit-player-progress:disabled::-webkit-slider-thumb{opacity:0;cursor:not-allowed}
input.oc-unit-player-progress:disabled::-moz-range-thumb{opacity:0;cursor:not-allowed}
input.oc-unit-player-progress.is-seekable{cursor:pointer}
input.oc-unit-player-progress:focus-visible{outline:3px solid #f3d77a;outline-offset:6px}
