@font-face{font-family:Montserrat;font-weight:400;font-display:swap;src:url(/assets/fonts/montserrat-400.woff2) format("woff2")}@font-face{font-family:Montserrat;font-weight:600;font-display:swap;src:url(/assets/fonts/montserrat-600.woff2) format("woff2")}@font-face{font-family:Montserrat;font-weight:700;font-display:swap;src:url(/assets/fonts/montserrat-700.woff2) format("woff2")}:root{--navy:#002858;--navy-deep:#011d3f;--white:#fff;--accent:#6FA3D8;--accent-2:#A9C2E0;--font:"Gotham","Montserrat","Century Gothic","Segoe UI",system-ui,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}html,body{overflow:hidden;background:var(--navy-deep);font-family:var(--font);color:var(--white)}body.idle{cursor:none}button,select,input{font-family:inherit}#stage{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(130% 130% at 50% 38%,#073056,#021734 55%,#01091c);display:flex;align-items:center;justify-content:center}.layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .55s ease}.layer.show{opacity:1}.media{width:100%;height:100%;object-fit:contain;display:block;border:0}.layer.show .media{animation:slidein .65s cubic-bezier(.22,.61,.36,1)}@keyframes slidein{0%{transform:scale(1.028);opacity:.55}to{transform:scale(1);opacity:1}}video.media{background:#000}iframe.media{object-fit:fill;background:#fff}#chrome{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;transition:opacity .3s ease}body.idle #chrome{opacity:0}#preslogo{position:fixed;top:18px;left:26px;height:30px;z-index:30;cursor:pointer;opacity:.97;filter:drop-shadow(0 1px 5px rgba(0,0,0,.7));transition:opacity .2s,transform .15s}#preslogo:hover{opacity:1;transform:translateY(-1px)}.bar{position:absolute;left:0;right:0;display:flex;align-items:center;gap:18px;padding:18px 26px}.bar.top{top:0;background:linear-gradient(to bottom,#0112268c,#01122600)}.bar.top .logo{height:30px;pointer-events:auto;cursor:pointer;opacity:.95}.bar.top .logo:hover{opacity:1}.spacer{flex:1}.counter{font-weight:600;font-size:15px;letter-spacing:1px;background:#00285873;padding:7px 14px;border-radius:999px}.iconbtn{pointer-events:auto;width:42px;height:42px;border-radius:10px;border:none;background:#00285873;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s}.iconbtn:hover{background:var(--navy);transform:translateY(-1px)}.iconbtn svg{width:20px;height:20px}.nav{position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:#00285866;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s}.nav:hover{background:var(--navy)}.nav.prev{left:26px}.nav.next{right:26px}.nav svg{width:26px;height:26px}.nav:disabled{opacity:.25;cursor:default}#progress{position:absolute;left:0;bottom:0;height:4px;width:100%;background:#ffffff1a}#progressFill{height:100%;background:linear-gradient(90deg,var(--accent),#d6e6f7);box-shadow:0 0 12px #6fa3d8a6;transition:width .5s ease}#start{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:36px 20px;background:radial-gradient(1200px 700px at 75% 30%,#06356b 0%,var(--navy) 45%,var(--navy-deep) 100%)}#start .deco{position:absolute;border-radius:50%;background:#ffffff0d}#start .startlogo{height:clamp(96px,14vh,150px);margin-bottom:16px;filter:drop-shadow(0 8px 30px rgba(0,0,0,.35))}#start h1{font-size:clamp(36px,5.8vw,62px);font-weight:700;letter-spacing:-1px;line-height:1.05}#start .rule{width:120px;height:6px;border-radius:3px;background:var(--accent);margin:16px 0}.btn-primary{margin-top:10px;pointer-events:auto;border:none;cursor:pointer;background:var(--white);color:var(--navy);font-weight:700;font-size:20px;padding:16px 44px;border-radius:999px;letter-spacing:.5px;box-shadow:0 10px 40px #00000059;transition:transform .15s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 50px #00000073}.btn-secondary{margin-top:14px;pointer-events:auto;border:1.5px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-weight:600;font-size:16px;padding:12px 30px;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}.btn-secondary:hover{background:#ffffff1f;border-color:#fff}#start .hints{margin-top:20px;font-size:14px;color:#7fa3cc}#start .foot{margin-top:22px;font-size:13px;letter-spacing:3px;color:#5e83ae;font-weight:600}kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:2px 8px;font-family:var(--font);font-size:13px}#dragveil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:none;align-items:center;justify-content:center;background:#011226d9;font-size:28px;font-weight:600;border:4px dashed var(--accent);text-align:center;padding:30px}body.dragging #dragveil{display:flex}#manager{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#011226fa;display:flex;flex-direction:column}.mhead{display:flex;align-items:center;gap:14px;padding:18px 28px;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap}.mhead .mtitle h2{font-size:22px;font-weight:700}.mhead .mtitle .hint{font-size:12px;color:#7fa3cc;margin-top:3px}#mCount{font-size:14px;color:var(--accent-2);font-weight:600;white-space:nowrap}.mbtn{pointer-events:auto;border:1px solid rgba(255,255,255,.25);background:#ffffff0f;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 15px;border-radius:10px;white-space:nowrap;transition:background .15s}.mbtn:hover{background:#ffffff29}.mbtn.primary{background:var(--accent);border-color:var(--accent);color:var(--navy)}.mbtn.primary:hover{background:#8ab6e2}#mBody{flex:1;overflow-y:auto;padding:18px 28px 70px}.catsec{margin-bottom:22px}.cathead{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1);cursor:pointer;-webkit-user-select:none;user-select:none}.cathead .chev{display:inline-block;font-size:12px;color:#7fa3cc;transition:transform .15s}.catsec.collapsed .chev{transform:rotate(-90deg)}.catsec.collapsed .catrow{display:none}.cathead .cname{font-size:17px;font-weight:700;color:#fff}.cathead .ccount{font-size:13px;color:#7fa3cc}.cathead .cbtns{display:flex;gap:6px;opacity:.5;transition:opacity .15s}.cathead:hover .cbtns{opacity:1}.cathead .cbtns button{border:none;background:#ffffff14;color:#cfe0f2;cursor:pointer;width:28px;height:28px;border-radius:7px;font-size:14px}.cathead .cbtns button:hover{background:var(--accent);color:var(--navy)}.catrow{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));padding:8px;border:2px dashed transparent;border-radius:12px;min-height:74px}.catrow.dragover{border-color:var(--accent);background:#6fa3d817}.catrow .vacio{grid-column:1/-1;color:#5b7798;font-size:13px;text-align:center;padding:16px}.thumb{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#0a2143;border:2px solid transparent;transition:border-color .15s,transform .12s,box-shadow .15s}.thumb:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.thumb.current{border-color:var(--accent)}.thumb.dragging{opacity:.35}.thumb.ins-before{box-shadow:-5px 0 0 0 var(--accent),0 8px 24px #00000059}.thumb.ins-after{box-shadow:5px 0 0 0 var(--accent),0 8px 24px #00000059}.thumb .pv{position:relative;aspect-ratio:16/9;background:#000;cursor:pointer}.thumb .pv>img,.thumb .pv>video{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.thumb.off .pv{opacity:.4;filter:grayscale(.6)}.htmlph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#0a2143,#06356b);color:#cfe0f2}.htmlph .ic{font-size:34px;font-weight:700}.htmlph .nm{font-size:12px;opacity:.8;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb .num{position:absolute;top:7px;left:7px;background:#002858d9;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px}.thumb .badge{position:absolute;bottom:7px;left:7px;background:var(--accent);color:var(--navy);font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;letter-spacing:.5px}.thumb .sel{position:absolute;top:7px;right:7px;width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:#0112268c;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.thumb .sel svg{width:15px;height:15px;opacity:0}.thumb .sel.checked{background:var(--accent);border-color:#fff}.thumb .sel.checked svg{opacity:1;color:var(--navy)}.thumb .del{position:absolute;top:7px;right:42px;width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,180,180,.7);background:#0112268c;color:#ffb3b3;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}.thumb .del:hover{background:#c0392b;color:#fff;border-color:#fff}.thumb .thumbhead{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#0a2143;border-bottom:1px solid rgba(255,255,255,.08)}.thumb .tnum{flex:0 0 auto;background:#002858e6;color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px}.thumb .tname{flex:1;min-width:0;background:transparent;border:1px solid transparent;border-radius:6px;color:#dbe7f5;font-size:12px;font-weight:600;font-family:var(--font);padding:4px 6px;outline:none}.thumb .tname:hover{border-color:#ffffff2e}.thumb .tname:focus{background:#06203f;border-color:var(--accent)}.thumb .footbar{display:flex;gap:6px;align-items:center;padding:6px;background:#0a2143}.thumb .grip{cursor:grab;color:#6f86a3;font-size:16px;padding:0 2px;-webkit-user-select:none;user-select:none}.thumb select{flex:1;min-width:0;background:#06203f;color:#dbe7f5;border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:5px 6px;font-size:12px;cursor:pointer}.thumb .dl{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:#06203f;border:1px solid rgba(255,255,255,.18);color:#cfe0f2;cursor:pointer;text-decoration:none}.thumb .dl:hover{background:var(--accent);border-color:var(--accent);color:var(--navy)}.thumb .dl svg{width:16px;height:16px}#blackout{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#000}#help{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#011226eb;display:flex;align-items:center;justify-content:center}#help .card{background:var(--navy);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:34px 42px;max-width:560px}#help h3{font-size:23px;margin-bottom:20px;font-weight:700}#help .row{display:flex;justify-content:space-between;gap:30px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px}#help .row:last-child{border:none}#help .k{color:var(--accent-2)}#toast{position:fixed;bottom:34px;left:50%;transform:translate(-50%);z-index:70;background:var(--navy);color:#fff;padding:12px 22px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 10px 40px #0006;border:1px solid rgba(255,255,255,.12);max-width:80vw;text-align:center}#loading{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#7fa3cc;font-size:16px;background:var(--navy-deep);z-index:80}#login{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;padding:36px 20px;background:radial-gradient(1200px 700px at 75% 30%,#06356b 0%,var(--navy) 45%,var(--navy-deep) 100%)}#login .deco{position:absolute;border-radius:50%;background:#ffffff0d}#login .startlogo{height:clamp(92px,13vh,140px);margin-bottom:16px;filter:drop-shadow(0 8px 30px rgba(0,0,0,.35))}#login h1{font-size:clamp(30px,4.6vw,52px);font-weight:700;letter-spacing:-1px}#login .rule{width:120px;height:6px;border-radius:3px;background:var(--accent);margin:16px 0}#login .loginsub{font-size:clamp(15px,1.9vw,19px);color:var(--accent-2);margin-bottom:26px;max-width:520px}#login .gbtn{min-height:44px;display:flex;justify-content:center}#login .loginerr{margin-top:16px;color:#ffb3b3;font-size:14px;max-width:380px}#login .foot{margin-top:30px;font-size:13px;letter-spacing:3px;color:#5e83ae;font-weight:600}#topright{position:fixed;top:14px;right:16px;z-index:46;display:flex;align-items:center;gap:14px}#profile{position:relative}.pbtn{display:flex;align-items:center;gap:9px;background:#0028588c;border:1px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;padding:6px 12px 6px 6px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s}.pbtn:hover{background:var(--navy)}.pavatar{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block;border:1px solid rgba(255,255,255,.25)}.pavatar.pinitial{display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--navy);font-weight:700;font-size:15px;border:none}.pname{font-size:14px;font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcaret{width:16px;height:16px;opacity:.8}.pmenu{position:absolute;top:52px;right:0;min-width:248px;background:var(--navy);border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 14px 40px #00000073;overflow:hidden}.pmenu .pinfo{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}.pavatar.lg{width:44px;height:44px;font-size:19px}.pmenu .pmeta{min-width:0;text-align:left}.pmenu .pn{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pmenu .pe{font-size:13px;color:var(--accent-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plogout{width:100%;display:flex;align-items:center;gap:10px;padding:13px 16px;background:transparent;border:none;color:#fff;font-size:15px;font-weight:600;cursor:pointer;text-align:left}.plogout:hover{background:#ffffff14}.plogout svg{width:18px;height:18px}.presence{display:flex;align-items:center}.presence .pavwrap{position:relative;margin-left:-9px}.presence .pavwrap:first-child{margin-left:0}.presence .pav{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.55);overflow:hidden;background:var(--accent);box-shadow:0 1px 4px #0000004d;display:block;transition:transform .12s}.presence .pavwrap:hover .pav{transform:translateY(-2px) scale(1.08);border-color:#fff}.presence .pav img{width:100%;height:100%;object-fit:cover;display:block}.presence .pav .ini{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px}.presence .pav.more{display:flex;align-items:center;justify-content:center;background:#1c436e;color:#cfe0f2;font-size:12px;font-weight:700}.presence .ptip{position:absolute;top:42px;left:50%;transform:translate(-50%);background:var(--navy);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;padding:5px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px #0006;opacity:0;pointer-events:none;transition:opacity .15s;z-index:50}.presence .pavwrap:hover .ptip{opacity:1}.catgrip{cursor:grab;color:#6f86a3;font-size:16px;padding:0 4px;-webkit-user-select:none;user-select:none}.catgrip:hover{color:#fff}.cathead.cat-drop{background:#6fa3d826;box-shadow:inset 0 3px 0 0 var(--accent)}.annot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;width:100vw;height:100vh;pointer-events:none;touch-action:none}.annot.active{pointer-events:auto;cursor:crosshair}.iconbtn.on{background:#2e90ff;color:#fff}.iconbtn.on:hover{background:#1f7ae6}#manager.fileover{outline:3px dashed var(--accent);outline-offset:-12px}#manager.fileover:after{content:"Suelta para subir tus archivos";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;background:#0112268c;pointer-events:none;z-index:5}.catsel-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;background:#06203f;color:#dbe7f5;border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:6px 8px;font-size:12px;cursor:pointer;font-family:var(--font)}.catsel-btn:hover{border-color:var(--accent)}.catsel-btn.open{border-color:var(--accent);box-shadow:0 0 0 2px #6fa3d840}.catsel-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catsel-btn svg{width:15px;height:15px;flex:0 0 auto;opacity:.8}.catsel-menu{background:#0a2143;border:1px solid rgba(255,255,255,.18);border-radius:10px;box-shadow:0 14px 40px #00000080;overflow-y:auto;padding:5px;z-index:90}.catsel-opt{padding:8px 12px;border-radius:7px;font-size:13px;color:#dbe7f5;cursor:pointer;white-space:nowrap}.catsel-opt:hover{background:#6fa3d82e}.catsel-opt.sel{background:var(--accent);color:var(--navy);font-weight:700}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:flex;align-items:center;justify-content:center;background:#010c1c99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(440px,92vw);background:var(--navy);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:26px 28px;box-shadow:0 24px 70px #0000008c;animation:modalin .18s ease}@keyframes modalin{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.modal-card h3{font-size:20px;font-weight:700;margin-bottom:16px}.modal-input{width:100%;background:#06203f;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:12px 14px;font-size:16px;font-family:var(--font);outline:none}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6fa3d840}.modal-msg{font-size:15px;color:var(--accent-2);line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.fileslide{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(120% 120% at 50% 40%,#073056,#021734 60%,#01091c);color:#fff}.fileslide .fic{font-size:6vw;font-weight:800;letter-spacing:2px;color:var(--accent);border:3px solid var(--accent);border-radius:18px;padding:18px 28px}.fileslide .fnm{font-size:2vw;color:var(--accent-2);max-width:80vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileslide .fopen{font-size:1.5vw;font-weight:700;color:var(--navy);background:#fff;padding:10px 24px;border-radius:999px;text-decoration:none}.fileslide .fopen:hover{background:var(--accent-2)}
