/*!
 * Tutor LMS Enhancements (Minisandook) — frontend styles.
 * Loaded only on Tutor course/lesson pages. See assets/js/ for behaviour.
 */
.tutor-video-player{position:relative}
@keyframes tleWmFade{0%{opacity:0}
12.5%{opacity:.72}
87.5%{opacity:.72}
100%{opacity:0}
}
.tle-wm{position:absolute;font-family:Arial,Helvetica,sans-serif;pointer-events:none;z-index:2147483645;white-space:nowrap;line-height:1.25;padding:4px 8px;border-radius:4px;text-shadow:1px 1px 2px rgba(0,0,0,.55);display:none;animation:tleWmFade 8s ease-in-out forwards}
@media (min-width:768px){.tle-wm{font-size:16px}
}
@media (max-width:767px){.tle-wm{font-size:12px}
}
.tle-flash{position:absolute;top:14px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.72);color:#fff;padding:6px 14px;border-radius:7px;font:600 14px/1 Arial,sans-serif;z-index:2147483646;pointer-events:none;opacity:0;transition:opacity .18s ease}
.tle-hd{position:absolute;top:10px;left:10px;z-index:2147483646;background:rgba(0,0,0,.6);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:5px;font:600 12px/1 Arial,sans-serif;padding:6px 9px;cursor:pointer;outline:none;opacity:.5;transition:opacity .15s ease}
.tutor-video-player:hover .tle-hd{opacity:1}
.tle-help-btn{position:absolute;top:10px;right:10px;z-index:2147483646;background:rgba(0,0,0,.6);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:5px;padding:6px 9px;line-height:1;cursor:pointer;font:600 12px/1 Arial,sans-serif;opacity:.5;transition:opacity .15s ease}
.tutor-video-player:hover .tle-help-btn{opacity:1}
.tutor-video-player.tle-mini .tle-hd,.tutor-video-player.tle-mini .tle-help-btn{display:none}
.plyr:focus,.plyr:focus-visible,.tutor-video-player:focus{outline:none}
.tle-hd.tle-pchidden,.tle-help-btn.tle-pchidden,.tle-exfile.tle-pchidden{opacity:0!important;pointer-events:none}
.plyr--hide-controls .tle-hd,.plyr--hide-controls .tle-help-btn,.plyr--hide-controls .tle-exfile{opacity:0!important;pointer-events:none}
.tutor-video-player:has(.plyr--hide-controls) .tle-hd,.tutor-video-player:has(.plyr--hide-controls) .tle-help-btn,.tutor-video-player:has(.plyr--hide-controls) .tle-exfile{opacity:0!important;pointer-events:none}
.tutor-video-player.tle-mini{position:fixed!important;right:18px;bottom:18px;width:340px;max-width:46vw;z-index:2147483600;box-shadow:0 10px 30px rgba(0,0,0,.45);border-radius:8px;overflow:hidden}
.tle-mini-close{position:absolute;top:4px;right:6px;z-index:2147483647;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:50%;width:24px;height:24px;cursor:pointer;font:700 14px/1 Arial}
.tle-bm{margin:14px 0;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;font-family:Arial,sans-serif}
.tle-bm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;margin-bottom:8px}
.tle-bm-add{cursor:pointer;border:1px solid rgba(0,0,0,.2);background:#f3f3f3;border-radius:6px;padding:5px 10px;font:600 12px/1 Arial}
.tle-bm-empty{color:#888;font-size:13px}
.tle-bm ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tle-bm li{display:flex;align-items:center;gap:10px}
.tle-bm-title{flex:1;font-size:14px;color:inherit}
.tle-bm-go{cursor:pointer;border:0;background:#2b6cb0;color:#fff;border-radius:6px;padding:5px 9px;font:600 12px/1 Arial;white-space:nowrap}
.tle-bm-del{cursor:pointer;border:0;background:transparent;color:#c00;font:700 15px/1 Arial}
#tle-help{position:fixed;inset:0;z-index:2147483647;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center}
#tle-help.tle-open{display:flex}
.tle-help-card{background:#fff;color:#222;border-radius:12px;padding:22px 26px;max-width:420px;width:90%;font-family:Arial,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.tle-help-h{font-size:18px;font-weight:700;margin-bottom:14px}
.tle-help-card table{width:100%;border-collapse:collapse}
.tle-help-card td{padding:6px 4px;font-size:14px;vertical-align:middle}
.tle-help-card kbd{background:#222;color:#fff;border-radius:5px;padding:3px 8px;font:600 12px/1 Arial;white-space:nowrap}
.tle-help-x{margin-top:14px;color:#888;font-size:12px;text-align:center}
.tle-scroll{scrollbar-width:none;-ms-overflow-style:none}
.tle-scroll::-webkit-scrollbar{width:0;height:0;display:none}
.tle-hint{position:sticky;left:0;right:0;height:0;z-index:6;text-align:center;pointer-events:none;transition:opacity .2s ease}
.tle-hint-top{top:0}
.tle-hint-bot{bottom:0}
.tle-hint span{pointer-events:auto;cursor:pointer;display:inline-block;background:rgba(20,20,20,.85);color:#fff;font:600 11px/1 Arial;padding:5px 12px;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.tle-hint-top span{transform:translateY(-50%);border-radius:0 0 10px 10px}
.tle-hint-bot span{transform:translateY(-50%);border-radius:10px 10px 0 0}
.tle-live-scroll .tle-hint-bot{bottom:100px}
body.tlls-chat-open .tle-live-scroll .tle-hint-bot{opacity:0!important}
.tle-modal{position:fixed;inset:0;z-index:2147483647;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center}
.tle-modal-card{background:#fff;color:#222;border-radius:12px;padding:22px 24px;width:90%;max-width:420px;font-family:Arial,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.tle-modal-h{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:700;margin-bottom:4px}
.tle-modal-sub{color:#888;font-size:13px;margin-bottom:14px}
.tle-modal-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:15px;outline:none}
.tle-modal-btns{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.tle-modal-btns button{cursor:pointer;border-radius:8px;padding:8px 16px;font:600 14px/1 Arial;border:1px solid #ccc;background:#f3f3f3}
.tle-modal-save{background:#2b6cb0;color:#fff;border-color:#2b6cb0}
.tle-modal-x{background:transparent;border:0;color:#999;font:700 20px/1 Arial;cursor:pointer;padding:0 2px;margin-left:10px}
.tle-modal-body{margin-top:10px;font-size:14px;line-height:1.55;color:inherit}
.tle-modal-wide .tle-modal-card{max-width:680px;max-height:80vh;overflow:auto}
.tle-modal-body textarea{width:100%;box-sizing:border-box}
#tutor-take-lesson-note-btn,#tutor-lesson-nav-take-note-btn{display:none!important}
.tle-modal-body .tutor-comment-box{display:block}
.tle-modal-body .tutor-comment-box .comment-avatar{display:none}
.tle-modal-body .tutor-comment-box .tutor-comment-textarea{width:100%}
.tle-modal-body .tutor-comment-box textarea{width:100%;box-sizing:border-box;min-height:120px;border:1px solid #ccc;border-radius:8px;padding:10px;font:14px/1.5 Arial}
.tle-modal-body .tutor-comment-submit-btn{margin-top:12px;text-align:right}
.tle-exfile{position:absolute;top:50%;right:0;transform:translate(calc(100% - 30px),-50%);z-index:2147483646;display:flex;align-items:center;gap:8px;max-width:80%;background:rgba(43,108,176,.92);color:#fff;border:0;border-radius:8px 0 0 8px;cursor:pointer;font:600 12px/1 Arial;padding:10px 12px;white-space:nowrap;opacity:.6;transition:transform .25s ease,opacity .25s ease}
.tle-exfile:hover{transform:translate(0,-50%);opacity:1}
.tle-exfile svg{flex:0 0 auto}
html.tle-no-page-scrollbar,html.tle-no-page-scrollbar body{scrollbar-width:none;-ms-overflow-style:none}
html.tle-no-page-scrollbar::-webkit-scrollbar,html.tle-no-page-scrollbar body::-webkit-scrollbar{width:0;height:0;display:none}
.tle-ov-host{margin:0 0 16px}
.tle-ov-view{font-size:14px;line-height:1.65;color:inherit}
.tle-ov-view ul,.tle-ov-view ol{margin:8px 0 8px 22px}
.tle-ov-view h2,.tle-ov-view h3,.tle-ov-view h4{margin:12px 0 6px;line-height:1.3}
.tle-ov-view blockquote{margin:8px 0;padding:6px 12px;border-left:3px solid #cbd5e0;color:#555}
.tle-ov-view a{color:#2b6cb0;text-decoration:underline}
.tle-ov-empty{color:#888;font-size:14px;padding:8px 0}
.tle-ov-by{margin-top:10px;color:#9a9a9a;font:500 12px/1.4 Arial,sans-serif}
.tle-ov-bar{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tle-ov-note{margin-top:10px;color:#8a8a8a;font:500 12px/1.5 Arial,sans-serif}
.tle-ov-btn{cursor:pointer;border:1px solid rgba(0,0,0,.18);background:#f3f3f3;border-radius:6px;padding:7px 13px;font:600 13px/1 Arial,sans-serif;color:#333}
.tle-ov-btn:hover{background:#e9e9e9}
.tle-ov-btn:disabled{opacity:.55;cursor:default}
.tle-ov-save{background:#2b6cb0;color:#fff;border-color:#2b6cb0}
.tle-ov-save:hover{background:#255d99}
.tle-ov-delbtn{color:#c0392b;border-color:rgba(192,57,43,.35)}
.tle-ov-delbtn:hover{background:#fbeae8}
.tle-ov-tb{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;border:1px solid #e2e2e2;border-radius:8px;padding:6px;background:#fafafa}
.tle-ov-tb button{cursor:pointer;min-width:34px;height:30px;border:1px solid #d6d6d6;background:#fff;border-radius:5px;font:600 13px/1 Arial,sans-serif;color:#333;padding:0 8px}
.tle-ov-tb button:hover{background:#eef3fb;border-color:#2b6cb0}
.tle-ov-edit{min-height:160px;max-height:46vh;overflow:auto;border:1px solid #ccc;border-radius:8px;padding:10px 12px;font:14px/1.65 Arial,sans-serif;background:#fff;outline:none;color:#222}
.tle-ov-edit:focus{border-color:#2b6cb0;box-shadow:0 0 0 2px rgba(43,108,176,.15)}
.tle-ov-edit ul,.tle-ov-edit ol{margin:8px 0 8px 22px}
.tle-ov-edit:empty:before{content:attr(data-ph);color:#aaa}
.tle-ov-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:12px}
.tle-ov-status{margin-right:auto;color:#888;font:500 12px/1.4 Arial,sans-serif}
/* community overview injected into the spotlight Overview tab */
.tle-ov-wrap{padding-top:20px}
/* bookmark flags on the Plyr progress bar — bright tick + a 🔖 above it */
.plyr__progress{overflow:visible}
.tle-bm-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:4px;height:16px;background:#ff5a36;border:1px solid #fff;border-radius:2px;z-index:6;cursor:pointer;pointer-events:auto;box-shadow:0 0 4px rgba(0,0,0,.75)}
.tle-bm-marker:before{content:'🔖';position:absolute;left:50%;bottom:15px;transform:translateX(-50%);font-size:14px;line-height:1;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85))}
.tle-bm-marker:hover{height:20px;background:#ff7a5c}
.tle-bm-marker:hover:before{transform:translateX(-50%) scale(1.2)}
