:root{color-scheme:dark;--bg:#141513;--surface:#20211f;--surface2:#292a27;--line:#545650;--line2:#70716b;--text:#f3f1ea;--sub:#d4d4cc;--mute:#aeb0a9;--acid:#eaff70;--danger:#f05a3f;--w:1200px}
*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;font-size:16px;background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);line-height:1.5}a{color:inherit;text-decoration:none}a:hover{color:var(--acid)}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{max-width:100%}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.04;letter-spacing:-.055em;font-weight:600}h2{font-size:1.3rem;font-weight:600;letter-spacing:-.035em}p{line-height:1.65}form{min-width:0}.skip{position:absolute;top:-200px;left:20px;z-index:10;padding:10px;background:var(--acid);color:#111}.skip:focus{top:20px}.top{border-bottom:1px solid #545650;display:flex;align-items:center;gap:28px;justify-content:space-between;padding:16px max(22px,calc((100vw - var(--w))/2));min-height:86px;background:#141513}.brand{display:inline-flex;align-items:center;flex:0 1 210px}.brand img{display:block;width:172px;max-height:52px;object-fit:contain;object-position:left center}.top-note{font-size:.65rem;letter-spacing:.25em;color:var(--mute);white-space:nowrap}.top-nav{display:flex;gap:20px;align-items:center;font-size:.82rem}.top-nav form{margin:0}.navlink{background:none;border:0;padding:0;color:var(--sub)}.navlink:hover{color:var(--acid)}.shell{width:min(calc(100% - 48px),var(--w));margin:0 auto;padding:66px 0 90px;flex:1}.footer{border-top:1px solid var(--line);padding:23px max(22px,calc((100vw - var(--w))/2));display:flex;gap:20px;justify-content:space-between;color:var(--mute);font-size:.72rem}.eyebrow{color:var(--acid);font-size:.67rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:13px}.pagehead{margin-bottom:35px;max-width:780px}.pagehead h1{max-width:900px}.lead{color:var(--sub);font-size:1rem;max-width:740px;margin-top:14px}.muted{color:var(--sub)}.smallnote{font-size:.8rem;color:var(--mute);margin-top:16px}.back{display:inline-block;color:var(--sub);font-size:.82rem;margin-bottom:31px}.notice{border:1px solid #536a3f;padding:14px 18px;border-radius:12px;background:#263321;color:#e8f6d5;margin-bottom:25px}.subjectgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.subjectcard{min-height:280px;background:linear-gradient(140deg,#252d21,#171b16);border:1px solid var(--line2);border-radius:17px;padding:27px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s,border-color .15s}.subjectcard:hover{border-color:var(--acid);transform:translateY(-3px);color:var(--text)}.subjectcard strong{font-size:1.6rem;line-height:1.17;letter-spacing:-.045em;font-weight:550}.card-top{font-size:.65rem;letter-spacing:.17em;color:var(--acid);display:flex;justify-content:space-between}.subjectcard .muted{font-size:.79rem}.block{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;margin:20px 0}.blockhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.pill{color:var(--sub);font-size:.72rem;white-space:nowrap;border:1px solid var(--line2);border-radius:99px;padding:5px 12px}.lessonrow{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:18px 0;font-size:.94rem}.lessonrow:hover{color:var(--acid)}.lessonrow .num{color:var(--acid);font:600 .76rem ui-monospace,Consolas,monospace}.lessonname{flex:1}.lessontype{color:var(--mute);font-size:.76rem}.arrow{color:var(--mute)}.playerwrap{width:100%;aspect-ratio:16/9;overflow:hidden;background:#000;border-radius:16px;border:1px solid var(--line);margin:20px 0 35px}.playerwrap iframe{width:100%;height:100%;border:0}.videonote{background:var(--surface);color:var(--sub);padding:40px 25px;border-radius:12px;margin:25px 0}.materials{padding:20px 0}.resource{display:flex;align-items:center;gap:17px;padding:20px;border-bottom:1px solid var(--line)}.resource>span:nth-child(2){flex:1}.resourceico{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--surface2);color:var(--acid)}.lesson-description{margin:0 0 25px}.empty{padding:70px 28px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.empty h2{margin-bottom:10px}.auth.shell{max-width:550px;padding-top:90px}.authcard{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:36px}.authcard>p:not(.eyebrow){margin:18px 0 25px;color:var(--sub)}.authcard .help{font-size:.82rem}.authcard label{margin-top:18px}.authcard form{margin-top:28px}label{display:block;color:var(--sub);font-size:.77rem;font-weight:600;letter-spacing:.015em}label input:not([type=checkbox]),label select,label textarea{display:block;margin-top:8px}input:not([type=checkbox]),textarea,select{width:100%;border:1px solid #424e3e;border-radius:9px;background:#0f130f;color:var(--text);padding:12px 13px;outline:none;font-size:.89rem}input:focus,textarea:focus,select:focus{border-color:var(--acid);box-shadow:0 0 0 2px #dffb8225}textarea{resize:vertical;min-height:70px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:40px;padding:9px 15px;border:1px solid #506048;border-radius:8px;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .12s;white-space:nowrap}.btn.primary{background:var(--acid);color:#131811;border-color:var(--acid);margin-top:16px}.btn.primary:hover{background:#f2ffbf;color:#131811}.btn.secondary{background:var(--surface2);color:var(--text)}.btn.secondary:hover{background:#334031}.btn.danger{background:#3b2526;border-color:#754449;color:var(--danger)}.btn.danger:hover{background:#543035}.auth .btn{width:100%}.tabnav{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--line);margin:16px 0 29px;white-space:nowrap}.tabnav a{padding:14px 19px;color:var(--sub);font-size:.83rem;border-bottom:2px solid transparent}.tabnav a.selected{color:var(--acid);border-color:var(--acid)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.stats>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:7px}.stats strong{font-size:2.1rem;letter-spacing:-.05em;color:var(--acid);line-height:1}.stats span{color:var(--sub);font-size:.77rem}.guidegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.guidegrid a{background:var(--surface2);border:1px solid var(--line);padding:27px;border-radius:15px;display:flex;flex-direction:column;gap:12px}.guidegrid b{font-weight:600;font-size:.98rem}.guidegrid span{color:var(--sub);font-size:.83rem}.split{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;margin-bottom:16px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);padding:26px;border-radius:15px;min-width:0}.panel h2{margin:0 0 22px}.panel form:not(.compact):not(.delete-form):not(.lesson-permission){display:flex;flex-direction:column;gap:17px}.panel .btn.primary{align-self:start}.panel.wide{margin-bottom:17px}.check{display:flex;align-items:center;gap:13px;font-size:.88rem;color:var(--text);margin:5px 0}.check input{accent-color:var(--acid);width:17px;height:17px}.adminitem{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid var(--line);font-size:.87rem}.adminitem>div:first-child{min-width:0}.adminitem strong{display:block;font-weight:600;overflow-wrap:anywhere}.adminitem small{display:block;color:var(--mute);font-size:.71rem;margin-top:3px;overflow-wrap:anywhere}.actions{display:flex;gap:8px;align-items:center}.actions form{margin:0}.compact{display:grid;grid-template-columns:1fr 110px auto;gap:13px;align-items:end;margin:19px 0}.compact>.btn{align-self:end}.delete-form{margin-top:18px}.link-danger{border:0;background:transparent;color:var(--danger);font-size:.79rem;padding:8px 0}.usedin{border-bottom:1px solid var(--line);padding:10px 0;color:var(--sub);font-size:.86rem}.table-scroll{overflow-x:auto}.usertable{width:100%;border-collapse:collapse;text-align:left;font-size:.82rem}.usertable th{color:var(--muted);font-weight:600}.usertable td,.usertable th{padding:12px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.usertable input{accent-color:var(--acid)}.bulk{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin-top:22px}.bulk>label{flex:1 1 170px}.lesson-permission{display:grid;grid-template-columns:minmax(100px,1fr) 180px auto;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:.85rem}.stack{display:flex;flex-direction:column;gap:12px}.stack .btn{margin:0}.footer{margin-top:auto}@media(max-width:900px){.subjectgrid,.stats{grid-template-columns:repeat(2,1fr)}.guidegrid{grid-template-columns:1fr}.split{grid-template-columns:1fr}.top-note{display:none}.compact{grid-template-columns:1fr 90px;}.compact .btn{grid-column:1/-1}}@media(max-width:600px){.shell{width:calc(100% - 28px);padding:35px 0 60px}.top{padding:15px}.brand img{width:115px}.top-nav{gap:10px;font-size:.7rem}.top{gap:10px}.footer{padding:24px 15px;flex-direction:column}.subjectgrid,.stats{grid-template-columns:1fr}.subjectcard{min-height:180px}.block{padding:20px 16px}.lessontype{display:none}.authcard{padding:26px 18px}.panel{padding:20px 16px}.adminitem{align-items:flex-start;flex-direction:column}.actions{flex-wrap:wrap}.lesson-permission{grid-template-columns:1fr 100px}.lesson-permission button{grid-column:1/-1}.compact{grid-template-columns:1fr}}

/* Marca de agua visible: disuasoria, NO DRM ni anticaptura infalible. */
.playerwrap{position:relative}
.viewer-watermark{position:absolute;z-index:2;pointer-events:none;left:6%;bottom:9%;max-width:80%;font-size:clamp(10px,1.1vw,15px);font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.38);text-shadow:0 1px 5px rgba(0,0,0,.65);overflow-wrap:anywhere}

/* Cambio lento de posición para desincentivar recortes simples de grabaciones.
   No impide una captura con herramientas del sistema ni la extracción del vídeo. */
@keyframes oisWatermarkDrift {
  0%,14% {left:5%;bottom:8%}
  25%,39% {left:48%;bottom:78%}
  50%,64% {left:12%;bottom:43%}
  75%,89% {left:53%;bottom:16%}
  100% {left:5%;bottom:8%}
}
.viewer-watermark{animation:oisWatermarkDrift 85s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.viewer-watermark{animation:none}}


/* Campus OIS V0.8 — acceso alineado con la web informativa V19.4 */
.brand{flex-basis:285px}.brand img{width:min(250px,100%);max-height:85px}
body.auth-body{background:#f3f1ea;color:#141513}
.auth-body .top,.auth-body .footer{display:none}
.auth-body .auth.shell{width:100%;max-width:none;margin:0;padding:0;display:block}
.auth-split{min-height:100vh;display:grid;grid-template-columns:minmax(320px,0.95fr) minmax(460px,1.05fr)}
.auth-brand{background:#141513;color:#fffdfa;padding:clamp(28px,4.5vw,68px);display:flex;flex-direction:column;justify-content:center;gap:50px}
.auth-brand img{display:block;width:min(530px,100%);max-width:100%;height:auto;object-fit:contain;object-position:left center}
.auth-brand h1{font-weight:900;font-size:clamp(54px,6.5vw,112px);letter-spacing:-.075em;line-height:.92;text-transform:uppercase;color:#fffdfa}
.auth-brand h1 em{font-style:normal;color:#eaff70}
.auth-form-pane{padding:clamp(28px,6vw,90px);display:flex;align-items:center;justify-content:center;color:#141513}
.auth-form-pane .authcard{max-width:460px;width:100%;background:transparent;border:0;border-radius:0;padding:0}
.auth-form-pane .authcard h2{font-weight:900;font-size:clamp(34px,4.4vw,64px);line-height:1.02;letter-spacing:-.07em;text-transform:uppercase;color:#141513;margin-bottom:30px}
.auth-form-pane .authcard .eyebrow{color:#f05a3f;font-size:11px;letter-spacing:.14em}
.auth-form-pane .authcard label{color:#545650;font-weight:700}
.auth-form-pane .authcard input{background:#fffdfa;color:#141513;border:1px solid #aeb0a9;border-radius:0;min-height:55px}
.auth-form-pane .authcard input:focus{border-color:#f05a3f;box-shadow:0 0 0 2px #f05a3f33}
.auth-form-pane .authcard .btn.primary{min-height:54px;border-radius:0;background:#eaff70;color:#141513;border-color:#141513;text-transform:uppercase;font-weight:800;width:100%}
.auth-form-pane .authcard .help{margin-top:17px;color:#545650}
.auth-form-pane .authcard .help a{color:#545650}
.auth-form-pane .authcard .help a:hover{color:#f05a3f}
.auth-body .auth.shell>.authcard{margin:8vh auto;max-width:540px;color:#141513;background:#fffdfa;border-radius:0;border:1px solid #aeb0a9}
.auth-body .auth.shell>.authcard h1{color:#141513}
.auth-body .auth.shell>.authcard input{background:#fffdfa;color:#141513;border-color:#aeb0a9}
@media(max-width:700px){
 .auth-split{display:block;min-height:100vh}
 .auth-brand{min-height:0;align-items:center;text-align:center;padding:32px 20px 39px;gap:25px}
 .auth-brand img{width:min(275px,76vw);margin:0 auto;object-position:center}
 .auth-brand h1{text-align:center;font-size:clamp(44px,11.2vw,72px);max-width:440px}
 .auth-form-pane{padding:39px 22px 65px;display:block}
 .auth-form-pane .authcard{margin:auto}
 .auth-form-pane .authcard h2{font-size:40px}
 .brand img{width:178px;max-height:70px}
 .top{flex-wrap:wrap;justify-content:center;text-align:center}
 .top .brand{flex:0 0 100%;justify-content:center}
 .top .brand img{margin:auto}
 .top-nav{justify-content:center;flex-wrap:wrap}
}

/* V0.9 — Controles de pantalla completa con marca de agua persistente */
.playerwrap:fullscreen{border:0;border-radius:0;margin:0;aspect-ratio:auto;width:100vw;height:100vh}
.playerwrap:fullscreen iframe{width:100%;height:100%}
.player-fullscreen{position:absolute;z-index:3;right:14px;top:14px;background:#141513dd;color:#f3f1ea;border:1px solid #aeb0a9;border-radius:6px;width:43px;height:38px;display:grid;place-items:center;font-size:23px;line-height:1}
.player-fullscreen:hover,.player-fullscreen:focus-visible{border-color:#eaff70;color:#eaff70}
.player-fullscreen[hidden]{display:none}
.playerwrap:fullscreen .viewer-watermark{font-size:clamp(12px,1.25vw,20px);z-index:3}
