/* 온라인 강의 실제 화면. 승인된 강의실의 조판과 색을 이어 쓴다. */
.oc-text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:650;color:#30343a}
[data-course-page="library"] .filter-tabs button{min-width:44px}
.oc-product{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:80px;padding:64px 0 72px;border-bottom:1px solid #e1e4e8}
.oc-eyebrow{font-size:12px;letter-spacing:.08em;font-weight:650;color:#60656e}
.oc-product h1{font-size:76px;font-weight:780;line-height:1.1;letter-spacing:-.055em;margin:20px 0 28px;color:#24272c}
.oc-product h1 span{color:#60656e}.oc-lead{font-size:18px;line-height:1.7;color:#454c55}
.oc-facts{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:32px;font-size:12px;color:#60656e}
.oc-purchase{padding-top:12px}.oc-purchase h2{font-size:26px;line-height:1.4;font-weight:700;margin:14px 0 32px;letter-spacing:-.035em;color:#24272c}
.oc-purchase dl{margin:0 0 24px}.oc-purchase dl>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e1e4e8}.oc-purchase dt{color:#60656e}.oc-purchase dd{margin:0;text-align:right;font-weight:700}
.oc-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:0;border-radius:4px;background:#292c31;color:white;font:650 15px/1.4 var(--class-body);cursor:pointer}
.oc-primary:hover{background:#44494f}.oc-purchase>.oc-primary{width:100%}.oc-muted{font-size:12px;line-height:1.65;color:#60656e;margin-top:12px!important}
.oc-consent{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;font-size:12px;line-height:1.7;color:#454c55;min-height:44px;cursor:pointer}.oc-consent input{flex-shrink:0;width:20px;height:20px;margin:2px 0;accent-color:#292c31}.oc-consent a{text-decoration:underline;text-underline-offset:3px}
.oc-message{font-size:14px;line-height:1.65;padding:16px;border-left:3px solid #60656e;background:#f5f6f8;margin:16px 0!important;color:#30343a;overflow-wrap:anywhere}
.oc-curriculum{padding:40px 0}.oc-curriculum h2{font-size:26px;font-weight:700;margin:8px 0 24px}.oc-curriculum details{border-top:1px solid #e1e4e8}.oc-curriculum summary{min-height:56px;cursor:pointer;font-weight:650;padding:16px 0}.oc-curriculum ol{padding:0;list-style:none}.oc-curriculum li{display:flex;justify-content:space-between;gap:24px;padding:12px 0;font-size:14px}.oc-curriculum li span{font-size:12px;color:#60656e;white-space:nowrap}
.oc-empty{padding:64px 0;color:#60656e;font-size:15px}.oc-library-cover{min-height:0!important;height:240px!important;padding:28px;background:#292c31;color:#fff;border-radius:4px;display:flex;flex-direction:column;justify-content:space-between}.oc-library-cover span{font-size:12px;font-weight:600;letter-spacing:.08em}.oc-library-cover strong{font-size:36px;line-height:1.2;font-weight:750;color:#fff;letter-spacing:-.035em}.oc-library-cover small{font-size:12px;color:#c4c8ce}
.oc-video-stage{background:#202226!important}.oc-video-stage video{display:block;width:100%;height:100%;object-fit:contain;background:#202226}.oc-video-cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:6%;background:#292c31;color:#c4c8ce}.oc-video-cover>span{font-size:12px;letter-spacing:.08em}.oc-video-cover h1{color:white;font-size:34px;font-weight:750;line-height:1.3;margin:16px 0;letter-spacing:-.03em}.oc-video-cover p{font-size:14px;margin-bottom:20px;line-height:1.6}.oc-video-cover .oc-primary{background:#fff;color:#292c31;min-height:44px}
.oc-controls{position:absolute;inset:auto 0 0;padding:24px 12px 4px;background:linear-gradient(transparent,#000b 55%,#000d);color:#fff}.oc-controls input{display:block;width:100%;min-height:44px;margin:0;accent-color:#fff;cursor:pointer}.oc-control-row{display:flex;align-items:center;gap:4px}.oc-control-row button,.oc-control-row select{min-width:44px;min-height:44px;background:transparent;border:0;color:white;border-radius:3px;font-size:16px;padding:0 6px}.oc-control-row button:hover{background:#ffffff26}.oc-control-row button span{display:block;font-size:12px;line-height:1}.oc-control-row select{margin-left:auto;font-size:14px;max-width:64px}.oc-control-row option{background:#202226}.oc-time{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.oc-controls :focus-visible{outline:2px solid white;outline-offset:-2px}
.oc-video-stage:fullscreen{width:100%;height:100%;aspect-ratio:auto;background:#000}.oc-video-stage:fullscreen .oc-video-cover{align-items:center}.oc-ended .oc-primary{background:#60656e}.oc-first-note{font-size:12px;color:#60656e;margin-top:12px!important}
/* 모바일에서도 전체 화면 진입점을 유지한다. */
@media(max-width:640px){[data-course-page="watch"] .wide-view-button{display:flex;margin-left:12px;font-size:12px;padding:0 8px}}
@media(max-width:1000px){.oc-product{gap:40px;grid-template-columns:minmax(0,1fr) minmax(260px,1fr)}.oc-product h1{font-size:60px}.oc-video-cover h1{font-size:23px;margin:10px 0}.oc-video-cover p{font-size:12px;margin-bottom:12px}}
@media(max-width:640px){.oc-product{display:block;padding:36px 0 40px}.oc-product h1{font-size:56px}.oc-lead{font-size:16px}.oc-purchase{margin-top:40px;padding-top:32px;border-top:1px solid #e1e4e8}.oc-purchase h2{font-size:24px}.oc-facts{margin-top:24px;gap:8px 16px}.oc-library-cover{height:184px!important;padding:22px}.oc-library-cover strong{font-size:30px}.oc-video-cover{padding:5%}.oc-video-cover h1{font-size:20px;margin:8px 0}.oc-video-cover p{font-size:12px;margin-bottom:10px}.oc-controls{padding-inline:6px}.oc-control-row{gap:0}.oc-time{font-size:12px;letter-spacing:-.03em}.oc-control-row select{min-width:44px;width:44px;padding:0;font-size:12px}}

/* 재생 안내는 영상 안에 겹쳐 표시해 문서 높이를 바꾸지 않는다. */
.oc-seek-notice,.oc-player-notice{position:absolute;z-index:4;pointer-events:none;color:#fff;background:#000b;border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.4;top:38%;transform:translateY(-50%)}
.oc-seek-notice[data-direction=back]{left:12%}.oc-seek-notice[data-direction=forward]{right:12%}.oc-player-notice{left:50%;transform:translate(-50%,-50%);white-space:nowrap}.oc-seek-notice[hidden],.oc-player-notice[hidden]{display:none}
