:root{--bg:var(--cf-bg);--card-bg:#040c12eb;--primary:var(--cf-cyan);--mint:var(--cf-mint);--danger:var(--cf-red);--text-main:#f4fbff;--text-dim:#fff9;--border:#00f0ff47;--input-bg:#02080ce6;--dif-azul:var(--cf-blue);--dif-amarillo:var(--cf-amber);--dif-rojo:var(--cf-red);--chamfer:polygon(var(--c,14px) 0, 100% 0, 100% calc(100% - var(--c,14px)), calc(100% - var(--c,14px)) 100%, 0 100%, 0 var(--c,14px));--chamfer-in:polygon(calc(var(--c,14px) - 1px) 0, 100% 0, 100% calc(100% - var(--c,14px) + 1px), calc(100% - var(--c,14px) + 1px) 100%, 0 100%, 0 calc(var(--c,14px) - 1px))}*,:before,:after{box-sizing:border-box}body{background:linear-gradient(180deg, #03070adb, #03070af2 60%), url(/assets/bg-city-CJVlRLe_.webp) center top / cover fixed, var(--cf-bg);min-height:100vh;color:var(--text-main);font-family:var(--cf-font);margin:0;padding:24px}body:before{content:"";z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 4px);position:fixed;inset:0}.container{z-index:1;max-width:1400px;margin:0 auto;position:relative}header,.news-card,.modal-content,.field-group,.login-container{isolation:isolate;background:var(--frame,#00f0ff4d);clip-path:var(--chamfer);position:relative}header:before,.news-card:before,.modal-content:before,.field-group:before,.login-container:before{content:"";z-index:-1;background:var(--fill,var(--card-bg));clip-path:var(--chamfer-in);position:absolute;inset:1px}#auth-overlay{z-index:9999;background:radial-gradient(ellipse at 50% 45%, #00f0ff14, transparent 65%), linear-gradient(180deg, #03070acc, #03070af2), url(/assets/bg-city-CJVlRLe_.webp) center top / cover, var(--cf-bg);flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.login-container{--c:22px;--frame:linear-gradient(90deg, var(--cf-cyan), #00f0ff59 60%, var(--cf-cyan));--fill:linear-gradient(180deg, #06121cf5, #030a10fa);text-align:center;width:100%;max-width:420px;padding:44px 40px 36px;animation:.5s cubic-bezier(.22,1,.36,1) loginAppear}.login-container h2{font-family:var(--cf-pixel);letter-spacing:.08em;text-shadow:0 0 .4em #00f0ff80}@keyframes loginAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.login-form{margin-top:20px}#password-input{font-family:var(--cf-mono);letter-spacing:.2em;text-align:center;padding:15px;font-size:1rem}#password-input::placeholder{font-family:var(--cf-font);letter-spacing:.04em;font-weight:500}.password-field{position:relative}.password-field #password-input{padding-left:48px;padding-right:48px}.password-toggle{width:36px;height:36px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle[aria-pressed=true]{color:var(--primary)}.password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}header{--c:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:24px 28px;display:flex}header h1{font-family:var(--cf-font);text-shadow:0 0 .4em #00f0ff73}header>div:last-child{flex-wrap:wrap}.filters-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px;display:flex}.filters-bar>span{height:40px;font-family:var(--cf-pixel);letter-spacing:.12em;border-right:1px solid #00f0ff40;align-items:center;gap:8px;margin-right:4px;padding-right:14px;display:flex;color:var(--cf-cyan)!important;font-size:.75rem!important;font-weight:400!important}.filters-bar>span:before{content:"◢"}.filter-select{min-width:190px;color:var(--text-main);font-family:var(--cf-font);cursor:pointer;appearance:none;background-color:#040e12e6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2300f0ff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:calc(100% - 12px);background-repeat:no-repeat;background-size:14px;border:1px solid #00f0ff59;border-radius:0;outline:none;padding:12px 40px 12px 14px;font-size:.85rem;font-weight:600;transition:border-color .2s,background-color .2s}.filter-select:hover{border-color:var(--cf-mint)}.filter-select:focus{border-color:var(--cf-cyan);background-color:#00f0ff1a}.filter-select option{color:var(--text-main);background:#071118}.counter-badge{color:var(--cf-cyan);font-family:var(--cf-pixel);letter-spacing:.08em;background:#00f0ff14;border:1px solid #00f0ff66;margin-left:auto;padding:8px 14px;font-size:.75rem}.btn{font-family:var(--cf-font);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:12px 22px;font-size:.8rem;font-weight:800;text-decoration:none;transition:background .2s,color .2s,border-color .2s,filter .2s;display:inline-flex}.btn-primary{background:var(--cf-cyan);color:#031014;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.btn-primary:hover{filter:brightness(1.12)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--cf-cyan);font-family:var(--cf-font);letter-spacing:.06em;background:#040e12cc;border:1px solid #00f0ff73;font-weight:800}.btn-outline:hover{border-color:var(--cf-cyan);color:#fff;background:#00f0ff1f}.news-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px;display:grid}.news-card{--c:18px;--frame:#00f0ff47;flex-direction:column;transition:transform .25s;display:flex;overflow:hidden}.news-card:hover{--frame:var(--cf-cyan);transform:translateY(-4px)}.card-image{background:#010406;border-bottom:1px solid #00f0ff33;width:100%;height:180px;position:relative}.card-image img{object-fit:cover;width:100%;height:100%;display:block}.veredicto-float{color:#04090c;letter-spacing:.12em;text-transform:uppercase;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);padding:6px 12px;font-size:.68rem;font-weight:900;position:absolute;bottom:12px;left:14px}.card-content{padding:22px 24px}.card-title{color:#fff;margin:0 0 18px;font-size:1.15rem;font-weight:800;line-height:1.35}.info-dash{background:#00f0ff0a;border-left:3px solid #00f0ff66;grid-template-columns:1fr 1fr;gap:12px;padding:14px;display:grid}.dash-item{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.dash-label{color:var(--text-dim);font-family:var(--cf-pixel);letter-spacing:.06em;text-transform:uppercase;font-size:.6rem}.dash-val{color:#fff;font-family:var(--cf-mono);font-size:.8rem;font-weight:700}.tag-pill{letter-spacing:.1em;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);padding:3px 9px;font-size:.65rem;font-weight:900}.dif-facil{background:var(--dif-azul);color:#020c1c}.dif-medio{background:var(--dif-amarillo);color:#1a0f00}.dif-dificil{background:var(--dif-rojo);color:#1c0303}.nivel-tag{border:1px solid var(--cf-cyan);color:var(--cf-cyan);clip-path:none;background:#00f0ff0f}.card-footer{border-top-color:#00f0ff26!important}.badge-real{background:var(--cf-green)}.badge-falso{background:var(--cf-red)}.badge-impreciso{background:#ff8a3d}.badge-engañoso{background:var(--cf-amber)}.badge-incompleto{background:#ffd34d}.badge-irreal{background:#a66bff}.modal{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020609e0;padding:24px;display:none;position:fixed;inset:0;overflow-y:auto}.modal-content{--c:24px;--frame:linear-gradient(90deg, var(--cf-cyan), #00f0ff59 60%, var(--cf-cyan));--fill:linear-gradient(180deg, #06121cf7, #030a10fa);width:100%;max-width:1100px;margin:0 auto;padding:36px}.modal-header{border-bottom:1px solid #00f0ff40;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:16px;display:flex}.modal-header h2{text-shadow:0 0 .4em #00f0ff73}#close-modal-btn{width:40px!important;height:40px!important;color:var(--cf-cyan)!important;background:#040e12e6!important;border:1px solid #00f0ff80!important;border-radius:0!important}#close-modal-btn:hover{background:var(--cf-cyan)!important;color:#031014!important}.field-group{--c:14px;--frame:#00f0ff2e;--fill:#02080c99;grid-template-columns:repeat(12,1fr);gap:18px;margin-bottom:24px;padding:24px;display:grid}.section-header{color:var(--cf-cyan);font-family:var(--cf-pixel);letter-spacing:.12em;text-transform:uppercase;grid-column:span 12;align-items:center;gap:10px;margin-bottom:4px;font-size:.8rem;display:flex}.section-header:before{content:"◢"}.section-header:after{content:"";background:#00f0ff40;flex:1;height:1px}.w-12{grid-column:span 12}.w-8{grid-column:span 8}.w-6{grid-column:span 6}.w-4{grid-column:span 4}.w-3{grid-column:span 3}.form-group label{color:var(--text-dim);font-family:var(--cf-pixel);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:.65rem;display:block}.form-group input,.form-group textarea,.form-group select{background:var(--input-bg);color:#fff;width:100%;font-family:var(--cf-font);border:1px solid #00f0ff47;border-radius:0;outline:none;padding:13px 14px;font-size:.9rem;transition:border-color .2s,background .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--cf-cyan);background:#00f0ff0d}.form-group select option{background:#071118}.form-group .cf-field>input,.form-group .cf-field>input:focus{background:var(--fill);border:0}.form-group input[type=file]{padding:10px;font-size:.8rem}.analysis-block{border-left:4px solid var(--cf-cyan);background:#00f0ff0a;grid-column:span 12;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px;display:grid}.img-edit-preview{background:#010406;border:1px dashed #00f0ff66;justify-content:center;align-items:center;width:100%;height:200px;margin-bottom:10px;display:flex;overflow:hidden}.img-edit-preview img{object-fit:contain;max-width:100%;max-height:100%}.toast{--toast:var(--cf-green);z-index:10000;isolation:isolate;background:var(--toast);color:#fff;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);max-width:400px;padding:14px 20px 14px 22px;font-size:.85rem;font-weight:700;animation:.3s slideIn;position:fixed;top:20px;right:20px}.toast:before{content:"";z-index:-1;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);background:#030a0ef7;position:absolute;inset:1px 1px 1px 4px}.toast-error{--toast:var(--cf-red)}.toast-success{--toast:var(--cf-green)}.toast-leaving{animation:.3s slideOut}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:none}}@keyframes slideOut{0%{opacity:1;transform:none}to{opacity:0;transform:translate(100%)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@media (width<=768px){body{padding:12px}header{padding:18px}.news-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column;align-items:stretch}.filters-bar>span{border-bottom:1px solid #00f0ff40;border-right:none;justify-content:center;height:auto;margin:0;padding:0 0 10px}.filter-select{min-width:100%}.counter-badge{text-align:center;order:-1;margin-left:0}.modal{padding:10px}.modal-content{padding:20px 16px}.field-group{gap:14px;padding:16px}.field-group .w-4,.field-group .w-8{grid-column:span 12}.analysis-block{grid-template-columns:1fr}.analysis-block>.form-group{grid-column:auto!important}.login-container{padding:32px 22px}}.ranking-mod{max-width:760px}.ranking-mod__title{color:var(--primary);letter-spacing:-1px;margin:0;font-weight:900}.ranking-mod__close{width:40px;height:40px;color:var(--cf-cyan);cursor:pointer;background:#040e12e6;border:1px solid #00f0ff80;font-size:1.2rem}.ranking-mod__close:hover{background:var(--cf-cyan);color:#031014}.ranking-mod__help{color:var(--text-dim);margin:-12px 0 20px;font-size:.85rem}.ranking-mod__msg{color:var(--text-dim);text-align:center;padding:30px 0}.ranking-mod__table{border-collapse:collapse;width:100%;font-size:.9rem}.ranking-mod__table th{color:var(--cf-cyan);font-family:var(--cf-pixel);letter-spacing:.1em;text-align:left;text-transform:uppercase;border-bottom:1px solid #00f0ff59;padding:10px 12px;font-size:.65rem;font-weight:400}.ranking-mod__table td{border-bottom:1px solid #ffffff0f;padding:8px 12px}.ranking-mod__table tr:hover td{background:#00f0ff0d}.ranking-mod__pos{width:3em;color:var(--text-dim);font-family:var(--cf-mono)}.ranking-mod__name{word-break:break-word;font-weight:700}.ranking-mod__score{color:var(--cf-cyan);font-variant-numeric:tabular-nums;font-weight:900}.ranking-mod__delete{color:#ff8a8a;background:0 0;border:1px solid #ff4a4a99;padding:6px 12px;font-size:.7rem}.ranking-mod__delete:hover:not(:disabled){color:#fff;background:#ff4a4a24}.ranking-mod__delete:disabled{opacity:.45;cursor:not-allowed}@media (width<=600px){.ranking-mod__table th:nth-child(4),.ranking-mod__table td:nth-child(4){display:none}.ranking-mod__table td,.ranking-mod__table th{padding:8px 6px}}.teachers-mod{max-width:1040px}.teachers-mod__add{grid-template-columns:1.3fr 1fr 1.2fr 9em auto;gap:10px;margin-bottom:18px;display:grid}.teachers-mod__add input,.teachers-mod__add select,.teachers-mod .ranking-mod__table select,.teachers-mod__inst{color:var(--cf-text,#fff);font:inherit;background:#040e12e6;border:1px solid #00f0ff4d;padding:10px 12px;font-size:.85rem}.teachers-mod .ranking-mod__table select{padding:6px 8px}.teachers-mod__pending{color:var(--cf-amber,#ffb347);margin:0 0 10px;font-size:.85rem;font-weight:700}.teachers-mod__name{color:var(--text-dim);font-size:.78rem}.teachers-mod__off td{opacity:.75}.teachers-mod .teachers-mod__inst{width:100%;min-width:10em;padding:6px 8px}.teachers-mod__inst.is-missing{border-color:var(--cf-amber,#ffb347)}.teachers-mod__trash{color:#ff6b6b;cursor:pointer;background:0 0;border:1px solid #ff4a4a73;justify-content:center;align-items:center;padding:7px 9px;display:inline-flex}.teachers-mod__trash:hover:not(:disabled),.teachers-mod__trash:focus-visible{color:#fff;background:#ff4a4a24;outline:none}.teachers-mod__trash:disabled{opacity:.45;cursor:not-allowed}.teachers-mod__deleted{flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px;display:flex}@media (width<=760px){.teachers-mod__add{grid-template-columns:1fr}}
