/* ============================================================
   NovaVista 2004 — Estilos de aplicaciones
   ============================================================ */

/* ---------------- genérico ---------------- */
.app-pad{padding:10px;background:var(--winbody);height:100%;overflow:auto;}
.panel{border:1px solid #a0a4b8;background:#fdfef8;margin-bottom:10px;border-radius:3px;}
.panel-title{background:linear-gradient(180deg,#f2f4fa,#d8dff0);padding:4px 8px;font-weight:bold;font-size:12px;border-bottom:1px solid #a0a4b8;}
.panel>*:not(.panel-title){margin-left:8px;margin-right:8px;}
.panel>.panel-title{margin:0;}
.cfg-section{margin-bottom:12px;}
.cfg-title{font-weight:bold;margin-bottom:6px;color:#1c3f6e;}
.cfg-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.cfg-sub{font-size:11px;color:#666;line-height:1.35;margin-top:2px;}
.cfg-info{font-size:11px;color:#333;line-height:1.5;padding:4px 0;}
.cfg-info b{color:#123d6e;}

/* pestañas */
.tabs{display:flex;gap:2px;padding:4px 6px 0;background:var(--winface);border-bottom:1px solid #a0a4b8;}
.tab-btn{
  padding:5px 14px;border:1px solid #a0a4b8;border-bottom:none;border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,#f0efe8,#d8d0c5);cursor:pointer;font-size:12px;
}
.tab-btn.on{background:var(--winbody);font-weight:bold;position:relative;top:1px;border-color:#7f9db9;}
.tab-content{padding:10px;height:calc(100% - 37px);overflow:auto;}

/* archivos */
.files-cols{display:flex;gap:12px;align-items:flex-start;}
.files-col{flex:1;min-width:0;}
.inv-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid #e6e2d4;}
.inv-row:last-child{border-bottom:none;}

/* correo */
.mail-title{font-size:15px;font-weight:bold;margin-bottom:8px;color:#1c3f6e;}
.mail-row{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid #e6e2d4;}
.mail-row:last-child{border-bottom:none;}
.mail-row.mail-done{background:#f0f8e8;}
.mail-subj{font-weight:bold;font-size:12px;}
.mail-subj b{font-weight:bold;}

/* banco */
.bank-balance{font-size:26px;font-weight:bold;color:#0a5c2a;padding:6px 0 2px;}
.trade-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0;}
.spark{height:70px;display:flex;align-items:flex-end;gap:2px;margin:8px 0;border-bottom:1px solid #ccc;}
.spark-bar{flex:1;background:linear-gradient(180deg,#3f8fd6,#1c4f86);min-height:2px;}

/* myspace */
.myspace-profile{border:1px solid #a0a4b8;border-radius:3px;margin-bottom:10px;overflow:hidden;background:#fff;}
.myspace-head{background:linear-gradient(90deg,#2a6fd6,#6aa9ee);color:#fff;font-weight:bold;padding:6px 10px;font-size:13px;}
.myspace-inner{display:flex;gap:12px;padding:10px;align-items:center;}
.myspace-name{font-size:18px;font-weight:bold;color:#123d6e;}
.social-big{font-size:20px;font-weight:bold;color:#123d6e;padding:4px 0;}
.post-box{width:100%;height:64px;resize:none;margin-bottom:6px;font-family:inherit;}

/* av / seguridad */
.av-grade{font-size:26px;font-weight:bold;color:#2c5e2c;padding:6px 0;}
.av-quarantine{border-color:#c03030;background:#fff4f0;}
.av-quarantine .panel-title{background:linear-gradient(180deg,#f8d8d8,#f0c0c0);color:#7a1c1c;border-color:#c03030;}
.av-quarantine .xp-btn{display:block;margin:8px 0;}

/* terminal / consola */
.term-body{display:flex;flex-direction:column;height:100%;background:#0a0a12;color:#d8e0d0;font-family:var(--mono);font-size:12px;}
.term-out{flex:1;overflow-y:auto;padding:6px 8px;line-height:1.4;}
.term-out .term-ok{color:#7ed957;}
.term-out .term-warn{color:#f2c14e;}
.term-out .term-err{color:#ff6b6b;}
.term-out .term-dim{color:#8a93a8;}
.term-out .term-cmd{color:#c8d4f0;}
.term-inrow{display:flex;align-items:center;padding:4px 8px;border-top:1px solid #2a2f3d;background:#0d0d16;}
.term-prompt{color:#7ed957;white-space:nowrap;}
.term-in{flex:1;background:transparent;border:0;outline:none;color:#e8f0e0;font-family:var(--mono);font-size:12px;}

/* navegador */
.web-root{display:flex;flex-direction:column;height:100%;background:#f4efe6;}
.web-toolbar{display:flex;align-items:center;gap:4px;padding:5px;background:linear-gradient(180deg,#eef0f6,#d8dff0);border-bottom:1px solid #a0a4b8;}
.web-addr{flex:1;font-size:12px;}
.web-favs{display:flex;gap:2px;padding:3px 5px;background:linear-gradient(180deg,#fdfef8,#ecefe8);border-bottom:1px solid #d0d4c8;overflow-x:auto;}
.web-fav{display:flex;align-items:center;gap:4px;border:0;background:transparent;padding:3px 8px;cursor:pointer;font-size:11px;border-radius:3px;}
.web-fav:hover{background:#dcebfc;}
.web-content{flex:1;overflow:auto;background:#fff;}
.web-status{border-top:1px solid #d0d4c8;padding:2px 8px;font-size:11px;color:#666;background:#f0efe6;}
.web-page{padding:16px;font-family:"Verdana","Tahoma",sans-serif;font-size:13px;color:#222;}
.web-page.web-dark{background:#0c1020;color:#c8d4f0;}
.web-title{font-size:17px;font-weight:bold;margin-bottom:12px;color:#123d6e;}
.web-dark .web-title{color:#9ec5f5;}
.web-logo{font-size:34px;font-weight:bold;color:#4a6fa5;text-align:center;margin:8px 0 4px;font-family:"Georgia",serif;}
.web-search-wrap{text-align:center;margin-top:10vh;}
.web-searchbox{margin:10px auto;width:min(520px,90%);}
.web-q{width:100%;font-size:15px;padding:6px 10px;}
.web-quick{display:flex;justify-content:center;gap:18px;margin:22px 0;flex-wrap:wrap;}
.web-quick-item{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;font-size:11px;color:#123d6e;padding:8px;border-radius:6px;}
.web-quick-item:hover{background:#e4eefc;}
.web-quick-item svg{width:36px;height:36px;}
.web-ad{margin:10px auto;width:min(560px,92%);background:linear-gradient(180deg,#fff6d8,#ffe9a8);border:1px solid #e0b23a;border-radius:6px;padding:8px 12px;font-size:12px;cursor:pointer;text-align:center;}
.web-ad:hover{border-color:#c03030;background:linear-gradient(180deg,#fff0d8,#ffd8a8);}
.web-footer{text-align:center;color:#999;font-size:11px;margin-top:20px;}
.web-results{max-width:640px;margin:0 auto;}
.web-rcount{color:#666;font-size:11px;margin-bottom:12px;}
.web-result{margin-bottom:14px;}
.web-rtitle{font-size:14px;color:#123d6e;}
.web-link{cursor:pointer;color:#123d6e;text-decoration:underline;}
.web-link:hover{color:#c33;}
.web-route{color:#0a7a2a;font-size:11px;}
.web-rd{color:#444;font-size:12px;line-height:1.4;margin-top:2px;}
.web-news-item{margin-bottom:14px;}
.web-dl-item{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid #e6e2d4;}
.web-dl-item:last-child{border-bottom:none;}
.web-click{text-align:center;padding:20px;color:#c8d4f0;}
.web-click-count{font-size:30px;font-weight:bold;margin:8px 0 2px;}
.web-click-value{font-size:14px;color:#9ec5f5;margin-bottom:16px;}
.click-big{
  width:220px;height:220px;border-radius:110px;border:6px solid #1c4f86;cursor:pointer;
  background:radial-gradient(circle at 35% 30%,#7ec8ff,#1a4fa8 70%);
  color:#fff;font-size:22px;font-weight:bold;text-shadow:0 2px 4px rgba(0,0,0,.6);margin-bottom:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.5);
}
.click-big:hover{filter:brightness(1.15);}
.click-big:active{transform:scale(.96);}
.web-dark .web-dl-item{border-color:#22304a;}
.web-404{text-align:center;padding:30px;}
.web-404-code{font-size:64px;font-weight:bold;color:#c03030;font-family:var(--mono);}
.web-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px;color:#666;font-size:12px;}
.web-loading-bar{width:220px;height:8px;border:1px solid #a0a4b8;border-radius:4px;overflow:hidden;position:relative;}
.web-loading-bar:after{content:'';position:absolute;top:0;left:0;height:100%;width:40%;background:#3f8fd6;animation:loadingbar 1s infinite;}
@keyframes loadingbar{from{left:-40%;}to{left:100%;}}

/* net / asaltos */
.net-root{display:flex;flex-direction:column;height:100%;background:var(--winbody);}
.net-top{display:flex;align-items:center;gap:14px;padding:6px 10px;background:linear-gradient(180deg,#d8e4f4,#c4d8f0);border-bottom:1px solid #8fa8c8;font-size:11px;flex-wrap:wrap;}
.net-stat{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.net-lbl{font-weight:bold;color:#1c3f6e;}
.net-content{flex:1;overflow:auto;display:flex;flex-direction:column;}
.net-map{flex:1;overflow:auto;padding:10px;background:#0c1020;}
.net-cols{display:flex;gap:14px;align-items:flex-start;min-width:min-content;padding-bottom:10px;}
.net-col{display:flex;flex-direction:column;gap:8px;min-width:130px;}
.net-col-head{color:#6a8ab5;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:1px;text-align:center;padding-bottom:4px;border-bottom:1px solid #22304a;}
.net-legend{display:flex;gap:14px;flex-wrap:wrap;padding:8px 4px 2px;color:#8fa8c8;font-size:11px;border-top:1px solid #22304a;}
.net-legend .lg{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:4px;}
.lg-reach{background:#3f8fd6;box-shadow:0 0 4px #3f8fd6;}
.lg-lock{background:#16203a;border:1px solid #4a7ab5;border-style:dashed;}
.lg-done{background:#3e8f2a;}
.lg-hidden{background:#0e1628;border:1px dashed #2a3a5a;}
.lg-boss{background:#c03030;}
.net-node{
  border:1px solid #2a3a5a;border-radius:6px;padding:7px 9px;background:linear-gradient(180deg,#16203a,#0e1628);
  color:#9ec5f5;cursor:pointer;text-align:center;font-size:11px;
}
.net-node:hover{border-color:#4a7ab5;}
.net-node.reach{border-color:#3f8fd6;box-shadow:0 0 6px rgba(63,143,214,.5);}
.net-node.drained{border-color:#3e8f2a;background:linear-gradient(180deg,#14301a,#0c2010);color:#7ed957;}
.net-node.boss{border-color:#c03030;background:linear-gradient(180deg,#3a1414,#200c0c);color:#ff9a9a;font-weight:bold;}
.net-node.hidden{opacity:.35;border-style:dashed;}
.net-node.sel{outline:2px solid #fff;outline-offset:1px;}
.net-node-name{font-weight:bold;line-height:1.25;}
.net-node-sub{color:#6a8ab5;font-size:10px;}
.net-node .ok{color:#7ed957;}
.net-actions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;padding:8px 10px;background:var(--winface);border-top:1px solid #a0a4b8;}
.net-actionset{display:inline-flex;gap:5px;flex-wrap:wrap;align-items:center;}
.net-intel{flex:1 0 100%;display:flex;align-items:center;gap:10px;padding:7px 10px;background:linear-gradient(90deg,#102b4a,#16476a);border-left:4px solid #5fd7ff;color:#fff}.net-intel b{font-size:11px;white-space:nowrap;color:#8ee8ff}.net-intel span{font-size:10px;color:#d1e8f2}.net-action-card{position:relative;min-width:116px;min-height:55px;padding:6px 8px;text-align:left;border:1px solid #91a0b2;border-radius:5px;background:linear-gradient(#fff,#dce4ed);cursor:pointer;color:#152c45}.net-action-card:hover:not(:disabled){border-color:#267bb4;transform:translateY(-1px);box-shadow:0 3px 8px rgba(20,65,100,.25)}.net-action-card.recommended{border:2px solid #26a86c;box-shadow:0 0 0 2px rgba(38,168,108,.15)}.net-action-card.recommended:after{content:'RECOMENDADO';position:absolute;right:4px;top:3px;font-size:7px;color:#188052}.net-action-card:disabled{filter:grayscale(1);opacity:.42;cursor:default}.net-action-card b,.net-action-card span,.net-action-card i{display:block}.net-action-card b{font-size:11px;margin-bottom:2px}.net-action-card span{font-size:9px;color:#536779}.net-action-card i{font-size:8px;font-style:normal;margin-top:4px;font-weight:bold}.net-action-card .risk-low{color:#1f8a50}.net-action-card .risk-medium{color:#b06a00}.net-action-card .risk-high{color:#bd2d2d}@media(max-width:600px){.net-action-card{min-width:100px;flex:1}.net-intel{display:block}.net-intel b,.net-intel span{display:block;white-space:normal}}
.net-console-wrap{flex:0 0 auto;background:#080b12;border-top:1px solid #333;color:#9fc7ff;}
.net-console-wrap summary{cursor:pointer;padding:5px 10px;background:#151b28;color:#b8c8df;font:11px Tahoma;user-select:none;}
.net-console-wrap[open] summary{border-bottom:1px solid #303746;}
.net-console{height:125px;border:0;}
.net-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ec5f5;text-align:center;padding:30px;}

/* configuración */
.wp-pick{margin:0 6px 6px 0;}
.avatar-row{display:flex;flex-wrap:wrap;gap:4px;}
.avatar-pick{border:2px solid transparent;background:#eef0f6;border-radius:6px;padding:6px;cursor:pointer;}
.avatar-pick:hover{border-color:#8fb6e0;}
.avatar-pick.on{border-color:#316ac5;background:#dcebfc;}

/* manual de usuario */.manual-wrap{padding:14px;max-width:720px;margin:0 auto;height:100%;overflow:auto;font-family:"Verdana","Tahoma",sans-serif;}
.manual-title{font-size:22px;font-weight:bold;color:#123d6e;margin-bottom:4px;}
.manual-sub{color:#666;font-size:12px;margin-bottom:14px;}
.manual-h2{font-size:15px;font-weight:bold;color:#1c3f6e;margin:16px 0 8px;border-bottom:1px solid #c8d4e8;padding-bottom:3px;}
.manual-p{font-size:12px;line-height:1.55;color:#333;margin-bottom:8px;}
.manual-p b{color:#0a5c2a;}
.manual-tip{background:#f4f9f4;border:1px solid #b8d8b8;border-left:4px solid #3e8f2a;border-radius:3px;padding:8px 10px;font-size:12px;margin:8px 0;color:#1c3f2a;}
.manual-warn{background:#fff8f0;border:1px solid #e8c8a0;border-left:4px solid #e0a030;border-radius:3px;padding:8px 10px;font-size:12px;margin:8px 0;color:#5a3a10;}
.manual-kbd{background:#f0efe6;border:1px solid #b8b0a0;border-radius:3px;padding:0 5px;font-family:var(--mono);font-size:11px;}
.manual-tour-btn{position:sticky;top:0;z-index:3;width:100%;margin-bottom:10px;min-height:32px}.tutorial-step{min-width:300px;max-width:470px}.tutorial-step p{font-size:12px;line-height:1.6;margin:8px 0 14px}.tutorial-count{color:var(--accent);font:bold 11px var(--mono)}.tutorial-dots{display:flex;gap:5px;justify-content:center}.tutorial-dots i{width:18px;height:4px;background:#b9c0cc;border-radius:3px}.tutorial-dots i.on{background:var(--accent)}
.manual-steps{counter-reset:step;list-style:none;padding:0;}
.manual-steps li{counter-increment:step;position:relative;padding:2px 0 2px 34px;font-size:12px;line-height:1.5;color:#333;margin-bottom:6px;}
.manual-steps li:before{content:counter(step);position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:11px;background:linear-gradient(180deg,#5cb842,#3e8f2a);color:#fff;font-weight:bold;font-size:12px;display:flex;align-items:center;justify-content:center;}

/* ---------------- NovaMessenger ---------------- */
.msn-root{display:flex;flex-direction:column;height:100%;min-height:0;background:#f4efe6;overflow:hidden;}
.msn-left{flex:0 0 190px;border-right:2px solid #3a8fd6;background:linear-gradient(180deg,#e8f0fa,#d4e4f4);display:flex;flex-direction:column;}
.msn-brand{background:linear-gradient(90deg,#3a8fd6,#6ab5e8);color:#fff;font-weight:bold;padding:8px 10px;font-size:14px;}
.msn-list{flex:1;overflow:auto;padding:6px;}
.msn-contact{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;border-radius:4px;}
.msn-contact:hover{background:#cfe4f8;}
.msn-contact.sel{background:#a8d0f0;}
.msn-cname{font-weight:bold;font-size:12px;color:#123d6e;}
.msn-cstatus{font-size:10px;}
.msn-slogan{font-size:10px;color:#6a8ab5;padding:8px;text-align:center;}
.msn-right{flex:1;display:flex;flex-direction:column;min-width:0;}
.msn-chathead{background:linear-gradient(180deg,#d8e4f4,#c4d8f0);padding:6px 10px;font-weight:bold;font-size:12px;color:#123d6e;border-bottom:2px solid #3a8fd6;}
.msn-chatlog{flex:1;overflow:auto;padding:10px;font-size:12px;line-height:1.5;background:#fff;}
.msn-msg{margin-bottom:4px;}
.msn-msg.me{color:#0a5c9a;}
.msn-msg.them{color:#7a2c5a;}
.msn-msg.dim{color:#999;font-style:italic;}
.msn-typing{color:#8a93a8;font-style:italic;font-size:11px;margin-bottom:4px;}
.msn-inputrow{display:flex;gap:6px;padding:8px;border-top:1px solid #c8d4e8;background:#f4efe6;}
.msn-inputrow .xp-input{flex:1;}
.msn-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#8a93a8;font-size:13px;text-align:center;padding:20px;}

/* ---------------- NovaPinball ---------------- */
.pin-root{overflow:hidden;}
.pin-overlay{position:absolute;inset:0;background:rgba(10,20,60,.82);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:5;text-align:center;}
.pin-over-title{color:#ffe08a;font-size:22px;font-weight:bold;font-family:var(--mono);}
.pin-over-score{color:#fff;font-size:18px;margin-bottom:6px;}
.pin-root canvas{display:block;}

/* ---------------- NovaPool ---------------- */
#pool-status{font-weight:bold;color:#123d6e;}
.welcome-card{padding:2px 4px 0;color:#27364d}.welcome-kicker{font-size:10px;font-weight:bold;letter-spacing:1.5px;color:#2b65b0;margin-bottom:4px}.welcome-name{font-size:22px;font-weight:bold;color:#123a6e;margin-bottom:8px}.welcome-card p{line-height:1.45;margin:8px 0}.welcome-goals{display:grid;gap:6px;background:#edf4ff;border:1px solid #afc8e8;border-radius:3px;padding:9px}.welcome-goals span{display:block}.welcome-hint{font-size:11px;color:#66758a}
.social-trend{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;padding:8px 10px;border:1px solid #e0a21d;background:linear-gradient(180deg,#fff8d7,#ffe8a0);color:#7a3d00;box-shadow:inset 0 0 0 1px #fff}.social-trend>span{font-size:11px;color:#8a5b18}
.rank-chase{margin-top:7px;padding:6px 8px;border-left:3px solid #e0a21d;background:#fff8d7;color:#754b0d}.rank-chase.first{border-color:#4aa348;background:#eaf8e8;color:#275e26}

/* ---------------- net: modificadores y objetivo ---------------- */
.net-extra{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:4px 10px 6px;background:linear-gradient(180deg,#c4d8f0,#b0c8e8);border-bottom:1px solid #8fa8c8;font-size:11px;}
.net-mod{padding:2px 8px;border-radius:8px;font-weight:bold;}
.net-mod.good{background:#d8f0d0;color:#1c4a1c;border:1px solid #3e8f2a;}
.net-mod.bad{background:#f8d8d8;color:#7a1c1c;border:1px solid #c03030;}
.net-obj{color:#1c3f6e;font-weight:bold;}
.net-combo{color:#7a4a00;font-weight:bold;}

/* ---------------- ranking ---------------- */
.rank-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-bottom:1px solid #e6e2d4;}
.rank-row:last-child{border-bottom:none;}
.rank-row.me{background:#dcebfc;outline:1px solid #8fb6e0;}
.rank-pos{width:34px;font-weight:bold;color:#666;}
.rank-top1{color:#9c7a1c;font-size:15px;}
.rank-top2{color:#8a8f98;font-size:14px;}
.rank-top3{color:#a06030;font-size:13px;}
.rank-score{font-weight:bold;color:#123d6e;white-space:nowrap;}

/* ---------------- calculadora ---------------- */
.calc-display{background:#dcebfc;border:1px solid #7f9db9;border-radius:4px;text-align:right;padding:10px 12px;font-size:22px;font-family:var(--mono);margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;}
.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;}
.calc-key{padding:12px 0;border:1px solid #7f9db9;border-radius:3px;background:linear-gradient(180deg,#fff,#ecebe5 50%,#d8d0c5 51%,#f2efe6);font-size:15px;cursor:pointer;font-weight:bold;}
.calc-key:hover{background:linear-gradient(180deg,#eaf4fd,#dcebfc 50%,#c8d8f0 51%,#eaf4fd);}
.calc-key:active{transform:translateY(1px);}
.calc-fn{background:linear-gradient(180deg,#f4f0e8,#e0d8c8);}
.calc-op{background:linear-gradient(180deg,#e8f0fa,#c8d8f0 50%,#a8c0e0 51%,#dcebfc);color:#123d6e;}
.calc-eq{background:linear-gradient(180deg,#f4f9ff,#a8c8ee 50%,#6a9fd8 51%,#c8d8f0);color:#123d6e;}

/* ---------------- bloc de notas ---------------- */
.notepad-ta{width:100%;height:280px;resize:none;font-family:var(--mono);font-size:12px;line-height:1.5;}

/* ---------------- net: leyenda del mapa ---------------- */
.net-legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding:6px;font-size:11px;color:#4a5a72;}
.lg{display:inline-block;width:12px;height:12px;border:1px solid #3a4252;border-radius:2px;vertical-align:-1px;margin-right:3px;}
.lg-reach{background:#12305a;border-color:#3f8fd6;}
.lg-lock{background:#151a26;}
.lg-done{background:#123a22;border-color:#3e9e4a;}
.lg-hidden{background:#151a26;border-style:dashed;}

/* ---------------- net 2.0: tablero táctico accesible ---------------- */
.net-root{background:#07111f;color:#d9e7f7;}
.net-content{min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 0,#17375b 0,#09182d 42%,#050b15 100%);scrollbar-color:#315a82 #07111f;}
.net-map{flex:1 1 auto;min-height:130px;overflow:auto;padding:10px 12px 8px;background:transparent;}
.net-empty{min-height:300px;color:#dbeeff;background:radial-gradient(circle,#14355a 0,transparent 65%);}
.net-empty .cfg-sub{color:#9bb5d1;line-height:1.55;}
.net-empty-mark{width:58px;height:58px;display:grid;place-items:center;margin-bottom:10px;border:1px solid #42d8ff;border-radius:50%;color:#7ce8ff;font-size:30px;box-shadow:0 0 24px rgba(66,216,255,.28),inset 0 0 16px rgba(66,216,255,.15);}
.net-operation-brief{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;padding:8px 11px;border:1px solid #31577d;border-radius:7px;background:linear-gradient(100deg,rgba(11,35,63,.96),rgba(21,58,93,.9));box-shadow:0 7px 20px rgba(0,0,0,.2);}
.net-operation-brief>div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.net-operation-brief b{font-size:12px;color:#eaf7ff;}
.net-kicker{font:9px var(--mono);letter-spacing:1.7px;color:#63dfff;}
.net-focus-pill{flex:none;padding:5px 9px;border:1px solid #b78cff;border-radius:12px;background:#251847;color:#dac8ff;font:9px var(--mono);letter-spacing:.8px;}
.net-focus-pill strong{color:#fff;font-size:11px;}
.net-route-board{display:flex;flex-direction:column;gap:7px;position:relative;}
.net-route-stage{position:relative;display:grid;grid-template-columns:62px repeat(3,minmax(0,1fr));gap:7px;align-items:stretch;}
.net-route-stage.two{grid-template-columns:62px repeat(2,minmax(0,1fr));}
.net-route-stage:not(:first-child):before{content:'';position:absolute;left:29px;top:-8px;width:2px;height:9px;background:#3685ba;box-shadow:0 0 7px #42c9ff;}
.net-stage-label{display:flex;align-items:center;justify-content:center;text-align:center;color:#6f93b7;font:bold 9px var(--mono);letter-spacing:1px;border-right:1px solid #24415e;}
.net-entry-node{grid-column:2/5;justify-self:center;width:min(230px,100%);display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #2b81b6;border-radius:7px;background:linear-gradient(180deg,#123b5d,#09233d);box-shadow:0 0 13px rgba(51,180,234,.16);}
.net-entry-node span{color:#66e5ff;font-size:18px;}.net-entry-node b{font-size:11px;}.net-entry-node small{color:#83a9c8;font-size:9px;}
.net-route-node{position:relative;min-width:0;min-height:76px;padding:7px 7px 19px;display:grid;grid-template-columns:27px minmax(0,1fr);gap:6px;align-items:center;text-align:left;border:1px solid #34506e;border-radius:7px;background:linear-gradient(155deg,#132942,#0b1729);color:#d9e9f8;cursor:pointer;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.2);transition:border-color .14s,transform .14s,filter .14s;}
.net-route-node:hover{border-color:#72c9f5;transform:translateY(-1px);filter:brightness(1.12);}
.net-route-node:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.net-route-node.available{border-color:#258cc2;background:linear-gradient(155deg,#164b70,#0a2744);box-shadow:0 0 0 1px rgba(55,190,244,.14),0 5px 13px rgba(0,0,0,.25);}
.net-route-node.selected{border-color:#ffd45c;box-shadow:0 0 0 2px rgba(255,212,92,.25),0 0 18px rgba(255,196,70,.2);}
.net-route-node.cleared{border-color:#2c9e72;background:linear-gradient(155deg,#164d3d,#0a2821);color:#a8f3d3;}
.net-route-node.locked{opacity:.46;filter:saturate(.45);border-style:dashed;}
.net-route-node.kind-elite{border-top-color:#e963c4;}.net-route-node.kind-loot{border-top-color:#5ad98c;}.net-route-node.kind-shop{border-top-color:#f0bc50;}.net-route-node.kind-event{border-top-color:#ab82f4;}.net-route-node.kind-boss{border-color:#ef5c5c;background:linear-gradient(155deg,#591d32,#260d1a);}
.net-route-stage.final .net-route-node{grid-column:2/5;justify-self:center;width:min(330px,100%);}
.net-route-glyph{display:grid;place-items:center;width:27px;height:27px;border:1px solid #4b759d;border-radius:50%;background:#08182a;color:#7fdcff;font:bold 15px var(--mono);}
.kind-elite .net-route-glyph{color:#ff8add}.kind-loot .net-route-glyph{color:#72eaa0}.kind-shop .net-route-glyph{color:#ffd46f}.kind-event .net-route-glyph{color:#c7a4ff}.kind-boss .net-route-glyph{color:#ff8585;border-color:#d95858}
.net-route-copy{min-width:0;display:flex;flex-direction:column;gap:1px;}.net-route-copy small{font:8px var(--mono);letter-spacing:.7px;color:#7fa2c3;}.net-route-copy b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.net-route-copy em{font-size:8px;font-style:normal;color:#91a9c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.net-route-state{position:absolute;left:0;right:0;bottom:0;padding:3px 6px;background:rgba(0,0,0,.24);color:#77cfff;text-align:center;font:bold 7px var(--mono);letter-spacing:1px;}.cleared .net-route-state{color:#72e8ad}.locked .net-route-state{color:#8290a0}.selected .net-route-state{color:#ffe38d;}
.net-route-legend{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;margin-top:8px;color:#7f9ab7;font-size:9px;}.net-route-legend span{display:flex;align-items:center;gap:4px}.net-route-legend i{width:9px;height:9px;border-radius:2px;border:1px solid #258cc2;background:#123e60}.net-route-legend i.selected{border-color:#ffd45c}.net-route-legend i.cleared{border-color:#2c9e72;background:#164d3d}
.net-actions{flex:0 0 auto;max-height:235px;overflow:auto;display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;padding:10px 12px 12px;background:linear-gradient(180deg,rgba(5,14,27,.96),#050b15);border-top:1px solid #254563;color:#d9e7f7;}.net-actions:empty{display:none;}
.net-intel{flex:1 0 100%;display:grid;grid-template-columns:minmax(120px,1fr) minmax(210px,1.4fr) minmax(150px,1fr);gap:8px;align-items:stretch;padding:0;background:transparent;border:0;color:#e7f4ff;}
.net-target,.net-ice-intent,.net-intel-copy{min-width:0;padding:8px 10px;border:1px solid #2e5277;border-radius:6px;background:linear-gradient(140deg,#102b48,#0a1c32);}
.net-target,.net-intel-copy{display:flex;flex-direction:column;gap:3px;justify-content:center;}.net-target small,.net-ice-intent small{font:8px var(--mono);letter-spacing:1px;color:#65d8ff}.net-target b,.net-intel-copy b,.net-ice-intent b{font-size:11px;color:#fff}.net-target span,.net-intel-copy span,.net-ice-intent span{font-size:9px;line-height:1.35;color:#a9c1d8}.net-target strong{color:#fff}
.net-integrity{height:5px;margin-top:3px;border-radius:4px;background:#07101c;overflow:hidden}.net-integrity i{display:block;height:100%;background:linear-gradient(90deg,#37d6ff,#b26bff);box-shadow:0 0 7px #4acfff;}
.net-ice-intent{display:flex;gap:9px;align-items:center;border-color:#7b4c9a;background:linear-gradient(140deg,#28173f,#14152d);}.net-ice-intent>div{min-width:0;display:flex;flex-direction:column;gap:2px}.net-ice-glyph{flex:none;display:grid;place-items:center;width:35px;height:35px;border:1px solid #c080f0;border-radius:50%;color:#e5b5ff!important;font-size:20px!important;box-shadow:0 0 12px rgba(200,110,255,.22);}
.net-actionset{flex:1 0 100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.net-action-card.net-protocol{min-width:0;min-height:68px;display:flex;align-items:center;gap:7px;padding:7px;text-align:left;border:1px solid #42627e;border-radius:7px;background:linear-gradient(150deg,#f4f9ff,#cbd9e7);color:#10263d;}
.net-action-card.net-protocol:hover:not(:disabled){transform:translateY(-2px);border-color:#68d9ff;box-shadow:0 5px 13px rgba(44,166,216,.24)}
.net-action-card.net-protocol.recommended{border:2px solid #43d59a;background:linear-gradient(150deg,#ecfff7,#c7eadc);box-shadow:0 0 0 2px rgba(67,213,154,.12)}.net-action-card.net-protocol.recommended:after{content:'CONTRARRESTA';color:#13764f;top:3px;right:4px;}
html[lang="en"] .net-action-card.net-protocol.recommended:after{content:'COUNTER';}
.net-protocol-glyph{flex:none;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#16324c;color:#9be9ff;font:bold 17px var(--mono);}.net-protocol-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.net-action-card .net-protocol-copy b{font-size:10px;margin:0}.net-action-card .net-protocol-copy span{font-size:8px;color:#4e6375}.net-action-card .net-protocol-copy i{font-size:8px;color:#1e6c54;margin:2px 0 0;line-height:1.25}.net-protocol.loud .net-protocol-glyph{background:#5b2331;color:#ffadad}.net-protocol.zero .net-protocol-glyph{background:#40205d;color:#e7b2ff}.net-protocol:disabled{opacity:.38;}
.net-utility-row{flex:1 0 100%;display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-top:7px;border-top:1px solid #21354b}.net-utility-label{margin-right:4px;color:#6485a6;font:bold 8px var(--mono);letter-spacing:1px}.net-tool-chip,.net-cashout{min-height:24px;padding:4px 7px;border:1px solid #385977;border-radius:11px;background:#10253c;color:#bad4eb;font-size:9px;cursor:pointer}.net-tool-chip:hover:not(:disabled){border-color:#61cfff;color:#fff}.net-tool-chip:disabled{opacity:.32}.net-tool-chip.armed{border-color:#bc79e8;color:#efc8ff}.net-cashout{margin-left:auto;border-color:#b85555;background:#3b1920;color:#ffb2b2;font-weight:bold}.net-cashout:hover{background:#5a2029;color:#fff}
.net-focus-stat{color:#7748a8;font-weight:bold;}
@media(max-width:700px){.net-intel{grid-template-columns:1fr 1fr}.net-intel-copy{grid-column:1/-1}.net-route-stage{grid-template-columns:50px repeat(3,minmax(0,1fr))}.net-stage-label{font-size:8px}.net-actionset{grid-template-columns:1fr 1fr}.net-route-copy em{display:none}.net-route-node{padding-left:5px;padding-right:5px;grid-template-columns:22px minmax(0,1fr)}.net-route-glyph{width:22px;height:22px;font-size:12px}}
@media(max-width:700px){.net-route-stage.two{grid-template-columns:50px repeat(2,minmax(0,1fr));}}

/* ---------------- NovaOps: campaña y banco de CTF ---------------- */
.ctf-host{height:100%;min-height:0;display:flex;flex-direction:column;background:#07111f;color:#d8e8f8;font-family:Tahoma,Verdana,sans-serif;}
.ctf-hub-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 11px;background:linear-gradient(110deg,#0b2744,#162b58 58%,#2a174e);border-bottom:1px solid #38658d;}
.ctf-brand{display:flex;align-items:center;gap:9px}.ctf-brand>span{display:grid;place-items:center;width:33px;height:33px;border:1px solid #58ddff;border-radius:50%;color:#83ecff;font-size:20px;box-shadow:0 0 14px rgba(74,211,255,.3)}.ctf-brand div{display:flex;flex-direction:column}.ctf-brand small{font:8px var(--mono);letter-spacing:1.5px;color:#6cdbff}.ctf-brand b{font-size:14px;color:#fff}
.ctf-head-stats{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.ctf-head-stats span{padding:4px 7px;border:1px solid #365a7b;border-radius:10px;background:rgba(5,20,37,.55);font:8px var(--mono);color:#83a6c4}.ctf-head-stats b{color:#fff;font-size:10px}
.ctf-nav{flex:0 0 auto;display:flex;gap:2px;padding:4px 8px 0;background:#0a1728;border-bottom:1px solid #2a4966}.ctf-nav button{padding:5px 12px;border:1px solid #2e526f;border-bottom:0;border-radius:5px 5px 0 0;background:#11283e;color:#8eb1cc;font-size:10px;cursor:pointer}.ctf-nav button.on{position:relative;top:1px;background:#142f4b;color:#fff;border-color:#4aaad2;font-weight:bold}
.ctf-content{flex:1;min-height:0;overflow:hidden}.ctf-layout{height:100%;min-height:0;display:flex}.ctf-board{flex:0 0 255px;min-width:0;overflow:auto;padding:8px;background:#091524;border-right:1px solid #29465f}.ctf-right{flex:1;min-width:0;overflow:auto;padding:10px;background:radial-gradient(circle at 50% 0,#173459,#081322 65%)}
.ctf-group-title{margin:8px 3px 5px;color:#5c82a1;font:bold 8px var(--mono);letter-spacing:1.3px}.ctf-group-title:first-child{margin-top:1px}
.ctf-job-card{width:100%;min-height:56px;margin-bottom:5px;padding:6px;display:flex;align-items:center;gap:7px;text-align:left;border:1px solid #29465f;border-radius:6px;background:linear-gradient(145deg,#12273d,#0b192a);color:#dcecff;cursor:pointer}.ctf-job-card:hover{border-color:#4bbfe9}.ctf-job-card.selected{border-color:#ffd263;box-shadow:0 0 0 1px rgba(255,210,99,.25)}.ctf-job-card.locked{opacity:.48;filter:saturate(.45)}.ctf-job-card.done{border-color:#318967;background:linear-gradient(145deg,#123b33,#0a211c)}.ctf-job-card.active{border-color:#b874ed;box-shadow:0 0 10px rgba(180,90,238,.25)}
.ctf-job-icon{flex:none;display:grid;place-items:center;width:27px;height:27px;border:1px solid #407194;border-radius:50%;background:#071625;color:#68ddff}.ctf-job-card.done .ctf-job-icon{border-color:#43bd88;color:#73e7ac}.ctf-job-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.ctf-job-copy small{font:7px var(--mono);color:#7193ad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctf-job-copy b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctf-job-copy em{font-size:8px;font-style:normal;color:#83aac6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctf-job-card.available .ctf-job-copy em{color:#65d6a1}
.ctf-brief-panel{max-width:620px;margin:0 auto;padding:14px;border:1px solid #315573;border-radius:9px;background:linear-gradient(145deg,rgba(18,43,69,.96),rgba(9,24,42,.97));box-shadow:0 12px 32px rgba(0,0,0,.25)}.ctf-brief-kicker{color:#65dcff;font:8px var(--mono);letter-spacing:1.5px}.ctf-brief-panel h2{margin:4px 0 3px;font-size:20px;color:#fff}.ctf-client{font-size:9px;color:#83a6c1}.ctf-brief-panel>p{font-size:11px;line-height:1.55;color:#c1d3e2}.ctf-lore{margin:10px 0;padding:9px 10px;border-left:3px solid #ad70df;background:#211a39;color:#cdbfe0;font-size:10px;line-height:1.45}.ctf-lore b{display:block;margin-bottom:3px;color:#dfbfff}.ctf-reward{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:9px 0;padding:8px;border:1px solid #2d765c;border-radius:5px;background:#102f2a}.ctf-reward small{font:8px var(--mono);letter-spacing:1px;color:#65d39e}.ctf-reward b{font-size:11px;color:#dcffed}.ctf-start{width:100%;min-height:30px}.ctf-completed-reveal{display:flex;flex-direction:column;gap:5px;margin-top:10px;padding:10px;border:1px solid #3ca275;background:#12382e;color:#bcebd6;font-size:10px;line-height:1.45}.ctf-completed-reveal b{color:#72e5ac}
.ctf-workbench{max-width:720px;margin:0 auto}.ctf-work-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.ctf-work-head>div{min-width:0;display:flex;flex-direction:column}.ctf-work-head small{font:8px var(--mono);letter-spacing:1px;color:#7edfff}.ctf-work-head b{color:#fff;font-size:13px}.ctf-abandon{border:1px solid #804653;border-radius:9px;background:#341821;color:#efa9b5;padding:4px 8px;font-size:8px;cursor:pointer}.ctf-stage-title{display:flex;gap:9px;align-items:center;margin-bottom:8px;padding:8px;border:1px solid #355b7d;border-radius:6px;background:#102943}.ctf-stage-title>span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#254f78;color:#fff;font:bold 12px var(--mono)}.ctf-stage-title>div{min-width:0}.ctf-stage-title b{font-size:11px;color:#fff}.ctf-stage-title p{margin:2px 0 0;font-size:9px;line-height:1.35;color:#a8c2d8}
.ctf-flash{margin-bottom:7px;padding:7px 9px;border-radius:4px;font-size:9px}.ctf-flash.good{border:1px solid #3b9b72;background:#12372c;color:#8ee8ba}.ctf-flash.bad{border:1px solid #b44c5e;background:#3d1820;color:#ffacb8}
.ctf-stage-box{padding:9px;border:1px solid #294a67;border-radius:7px;background:rgba(4,14,25,.72)}.ctf-submit-row{display:flex;gap:6px;margin-top:8px}.ctf-submit-row .ctf-answer{flex:1;min-width:0}.ctf-stage-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:7px;color:#6f90aa;font-size:8px}.ctf-hint-btn{border:0;background:transparent;color:#68bfe3;text-decoration:underline;font-size:8px;cursor:pointer}
.ctf-fake-page{border:1px solid #8ea1b5;background:#fff;color:#222}.ctf-fake-bar{padding:5px 7px;background:linear-gradient(#edf2f7,#d4dce5);border-bottom:1px solid #9aaaba;color:#4a5c70;font:8px var(--mono)}.ctf-fake-site{min-height:90px;padding:13px;text-align:center;background:#f8faf5}.ctf-fake-site h3{margin:0 0 8px;color:#183c6b}.ctf-fake-site button,.ctf-fake-site input{font-size:9px}.ctf-inspect-btn{margin-top:6px}.ctf-devtools{margin-top:6px;border:1px solid #4b5868;background:#171b21}.ctf-devtools-head{padding:4px 6px;background:#2b323c;color:#9fbeea;font:8px var(--mono)}.ctf-devtools pre{max-height:140px;overflow:auto;margin:0;padding:8px;color:#c9d1d9;font:9px/1.45 var(--mono);white-space:pre-wrap}.ctf-devtools pre.assisted{color:#dce9f7;text-shadow:0 0 5px rgba(80,200,255,.2)}
.ctf-terminal-screen{min-height:90px;max-height:175px;overflow:auto;margin:0;padding:9px;border:1px solid #27415a;background:#030a10;color:#78e99d;font:9px/1.5 var(--mono);white-space:pre-wrap}.ctf-ftp-form{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.ctf-wordlist{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:7px;color:#7895ab;font-size:8px}.ctf-wordlist button,.ctf-hash-words button,.ctf-ops button{padding:3px 6px;border:1px solid #355673;border-radius:3px;background:#10243a;color:#afd1e8;font-size:8px;cursor:pointer}.ctf-wordlist button:hover,.ctf-hash-words button:hover,.ctf-ops button:hover{border-color:#5fd7ff;color:#fff}
.ctf-ciphertext{padding:12px;border:1px solid #724da0;background:#21163c;color:#e1baff;text-align:center;font:bold 15px var(--mono);letter-spacing:2px}.ctf-shift-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0;color:#b3c8d9;font-size:9px}.ctf-shift-control input{flex:1;min-width:130px}.ctf-shift-control small{color:#6ed7a2}.ctf-decoded{padding:9px;border:1px solid #2d765c;background:#102f2a;color:#aaf1ca;text-align:center;font:bold 12px var(--mono)}
.ctf-hash-display{padding:10px;border:1px solid #6c4f87;background:#20172f}.ctf-hash-display small{display:block;color:#ae8bc8;font:8px var(--mono)}.ctf-hash-display code{display:block;margin-top:4px;color:#efceff;font:11px var(--mono);word-break:break-all}.ctf-rig-speed{margin-top:5px;color:#63d7ff;font:8px var(--mono)}.ctf-hash-words{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.ctf-buffer{width:100%;height:75px;resize:vertical;padding:8px;border:1px solid #506b84;background:#07101b;color:#a8f0c7;font:10px var(--mono)}.ctf-ops,.ctf-stage-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:7px}.ctf-autodetect{margin-left:auto;color:#7fe3ad;font:8px var(--mono)}.ctf-ops button.ready,.ctf-consumable.ready{border-color:#3da877;color:#9bf0c1}
.ctf-consumable{padding:4px 7px;border:1px solid #5a4774;border-radius:9px;background:#201832;color:#d2b6e9;font-size:8px;cursor:pointer}.ctf-consumable:disabled{opacity:.35;cursor:default}
.ctf-packets{display:flex;flex-direction:column;gap:3px}.ctf-packet{display:grid;grid-template-columns:78px 1fr 90px;gap:6px;padding:5px 7px;text-align:left;border:1px solid #29465f;background:#0c1b2b;color:#9db8cc;font:8px var(--mono);cursor:pointer}.ctf-packet code{text-align:right;color:#d2b7e8;overflow:hidden;text-overflow:ellipsis}.ctf-packet.selected{border-color:#53d99b;background:#12382e;color:#c3f0da}.ctf-packet-result{width:100%;margin-top:7px}
.ctf-ending-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ctf-ending-card{min-height:110px;padding:12px;text-align:left;border:1px solid #6d5194;border-radius:7px;background:linear-gradient(145deg,#261940,#10263b);color:#dcecff;cursor:pointer}.ctf-ending-card:hover{border-color:#d28eff;transform:translateY(-2px)}.ctf-ending-card b{display:block;margin-bottom:7px;color:#e9c5ff}.ctf-ending-card span{font-size:9px;line-height:1.5;color:#b6c8d8}
.ctf-casefile,.ctf-upgrades{height:100%;overflow:auto;padding:12px;max-width:760px;margin:0 auto}.ctf-case-head{padding:11px;border:1px solid #5d477c;background:linear-gradient(120deg,#25183a,#12283d)}.ctf-case-head small,.ctf-upgrade-head small{font:8px var(--mono);letter-spacing:1.3px;color:#c18fea}.ctf-case-head h2,.ctf-upgrade-head h2{margin:3px 0;color:#fff;font-size:17px}.ctf-case-head p,.ctf-upgrade-head p{margin:4px 0;color:#9db5c9;font-size:9px}.ctf-evidence-row{position:relative;display:flex;gap:10px;margin:8px 0;padding:9px;border:1px solid #2b4962;background:#0c1d2e}.ctf-evidence-row>span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#17344d;color:#6d91ad;font:bold 11px var(--mono)}.ctf-evidence-row>div{display:flex;flex-direction:column}.ctf-evidence-row small{color:#647f96;font-size:8px}.ctf-evidence-row b{color:#8ba7bc;font-size:10px}.ctf-evidence-row p{margin:3px 0 0;color:#7891a5;font-size:9px}.ctf-evidence-row.unlocked{border-color:#3b8b69;background:#102e28}.ctf-evidence-row.unlocked>span{background:#1e624b;color:#9ff0c7}.ctf-evidence-row.unlocked b{color:#b9efd5}.ctf-evidence-row.unlocked p{color:#8fc7ad}.ctf-ending{margin-top:10px;padding:12px;border:1px solid #b07bd2;background:#281943;color:#e6ccf6}.ctf-ending p{font-size:9px}
.ctf-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #34526a}.ctf-upgrade-head>b{color:#7ee7ab}.ctf-upgrade-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.ctf-upgrade-card{display:grid;grid-template-columns:30px 1fr auto;gap:7px;align-items:center;padding:8px;border:1px solid #31516c;background:#10243a}.ctf-upgrade-card svg{width:26px;height:26px}.ctf-upgrade-card>div{display:flex;flex-direction:column}.ctf-upgrade-card b{font-size:10px;color:#fff}.ctf-upgrade-card small{font-size:8px;color:#70a1c2}.ctf-upgrade-card p{margin:3px 0;font-size:8px;line-height:1.35;color:#9eb5c8}.ctf-tool-shelf{margin-top:10px;padding:9px;border:1px solid #5b4971;background:#1e1830}.ctf-tool-shelf h3{margin:0 0 7px;color:#e0c4ef}.ctf-tool-shelf>div{display:grid;grid-template-columns:130px 1fr 35px;gap:7px;padding:5px;border-bottom:1px solid #3a2e4a;font-size:8px}.ctf-tool-shelf>div span{color:#b1a6bd}.ctf-tool-shelf>div strong{color:#e4c4f5}.ctf-tool-shelf>.xp-btn{margin-top:8px}
.ctf-active-status{color:#653b8e;font-weight:bold}
@media(max-width:650px){.ctf-board{flex-basis:205px}.ctf-head-stats span:nth-child(3){display:none}.ctf-job-copy small{display:none}.ctf-upgrade-grid{grid-template-columns:1fr}.ctf-packet{grid-template-columns:65px 1fr}.ctf-packet code{grid-column:2}.ctf-ending-choices{grid-template-columns:1fr}}
.lg-boss{background:#2a1210;border-color:#d6403f;}
.lg-d{background:#5a6a8a;}
.lg-l{background:#3e9e4a;}
.lg-s{background:#d6a83f;}
.lg-e{background:#9a6ad6;}
.lg-x{background:#c050a0;}

/* ---------------- fondo de pantalla: vista previa ---------------- */
.wp-preview{position:relative;height:130px;border:1px solid #7f9db9;border-radius:4px;background-size:cover;background-position:center;margin-top:10px;overflow:hidden;}
.wp-preview-label{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:11px;padding:3px 8px;text-align:center;}

/* ---------------- reproductor: skins ---------------- */
.mp-body{--mp-bg:#1a1d24;--mp-bg2:#232732;--mp-panel:#2b303c;--mp-accent:#3fd68a;--mp-text:#dfe6f0;--mp-dim:#8a93a5;--mp-glow:rgba(63,214,138,.35);}
.mp-body.skin-candy{--mp-bg:#2a1420;--mp-bg2:#3a1c2c;--mp-panel:#47232f;--mp-accent:#ff5fa8;--mp-text:#ffe4f0;--mp-dim:#c08aa8;--mp-glow:rgba(255,95,168,.4);}
.mp-body.skin-hulk{--mp-bg:#0e1f16;--mp-bg2:#16331f;--mp-panel:#1c4026;--mp-accent:#7dff6a;--mp-text:#e2ffe0;--mp-dim:#8ab888;--mp-glow:rgba(125,255,106,.35);}
.mp-body.skin-chrome{--mp-bg:#20242e;--mp-bg2:#2c3140;--mp-panel:#373e50;--mp-accent:#7fc4ff;--mp-text:#e8f0ff;--mp-dim:#93a2b8;--mp-glow:rgba(127,196,255,.35);}
.mp-body.skin-neon{--mp-bg:#0d0b1f;--mp-bg2:#1a1440;--mp-panel:#241a5c;--mp-accent:#b06aff;--mp-text:#efe6ff;--mp-dim:#a394c8;--mp-glow:rgba(176,106,255,.4);}
.mp-main{background:linear-gradient(180deg,var(--mp-bg2),var(--mp-bg));border:1px solid var(--mp-accent);border-radius:8px;padding:14px;box-shadow:0 0 24px var(--mp-glow), inset 0 0 30px rgba(0,0,0,.4);color:var(--mp-text);}
.mp-era-label{font:9px var(--mono);letter-spacing:1px;color:var(--mp-accent);margin:-4px 0 7px;text-align:right}.mp-era-aero .mp-main{border-radius:13px;background:linear-gradient(160deg,rgba(74,117,150,.96),rgba(17,35,55,.98));box-shadow:0 8px 25px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.3)}.mp-era-metro .mp-main{border-radius:0;background:#181818;box-shadow:none;border-width:0 0 3px}.mp-era-metro .mp-btn,.mp-era-metro .mp-display,.mp-era-metro .mp-eq{border-radius:0}.mp-era-nova .mp-main{border-radius:16px;background:linear-gradient(145deg,rgba(32,30,55,.98),rgba(17,18,31,.98));box-shadow:0 14px 35px rgba(16,8,45,.55),0 0 25px var(--mp-glow)}.mp-era-nova .mp-btn{border-radius:9px}.mp-era-nova .mp-display{border-radius:10px}
.mp-display{background:#060810;border:1px solid var(--mp-accent);border-radius:5px;padding:8px 10px;font-family:var(--mono);box-shadow:inset 0 0 12px var(--mp-glow);}
.mp-track{font-weight:bold;font-size:13px;color:var(--mp-accent);text-shadow:0 0 8px var(--mp-glow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mp-time{font-size:11px;color:var(--mp-dim);}
.mp-progress{height:8px;background:#0a0c12;border:1px solid var(--mp-accent);border-radius:4px;cursor:pointer;position:relative;}
.mp-progress>div{position:absolute;left:0;top:0;bottom:0;background:var(--mp-accent);box-shadow:0 0 8px var(--mp-glow);border-radius:4px;}
.mp-eq{width:100%;height:52px;background:#060810;border:1px solid var(--mp-accent);border-radius:4px;box-shadow:inset 0 0 14px var(--mp-glow);}
.mp-controls{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:center;}
.mp-btn{background:linear-gradient(180deg,var(--mp-panel),var(--mp-bg));border:1px solid var(--mp-accent);color:var(--mp-text);border-radius:4px;padding:6px 12px;font-weight:bold;cursor:pointer;min-width:40px;text-shadow:0 0 6px var(--mp-glow);}
.mp-btn:hover{box-shadow:0 0 12px var(--mp-glow);}
.mp-btn.on{background:var(--mp-accent);color:#08100c;}
.mp-skin-row{display:flex;gap:6px;flex-wrap:wrap;}
.mp-skin{flex:1;min-width:70px;padding:8px 4px;border:2px solid var(--mp-dim);border-radius:6px;font-size:10px;cursor:pointer;background:linear-gradient(180deg,var(--mp-bg2),var(--mp-bg));color:var(--mp-text);}
.mp-skin.on{border-color:var(--mp-accent);box-shadow:0 0 10px var(--mp-glow);}
.mp-list{max-height:150px;overflow:auto;border:1px solid var(--mp-accent);border-radius:4px;background:#0a0c12;}
.mp-list-item{display:flex;gap:8px;align-items:center;padding:5px 8px;font-size:11px;color:var(--mp-text);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06);}
.mp-list-item:hover{background:var(--mp-panel);}
.mp-list-item.on{background:var(--mp-accent);color:#08100c;}

/* ---------------- Buscaminas ---------------- */
.ms-table{display:grid;gap:1px;background:#7a7f8a;border:3px solid;border-color:#fff #7a7f8a #7a7f8a #fff;padding:3px;width:max-content;}
.ms-cell{width:22px;height:22px;font-size:13px;font-weight:bold;background:#b9c0cc;border:2px solid;border-color:#fff #7a7f8a #7a7f8a #fff;padding:0;line-height:1;cursor:pointer;}
.ms-cell:hover:not(.open){background:#cdd4e0;}
.ms-cell.open{background:#d5d9e0;border:1px solid #b0b5c0;}
.ms-cell.flag{color:#c03030;}
.ms-cell.boom{color:#c03030;background:#ffb0b0;}
.ms-cell.mine-lost{color:#222;background:#ffb0b0;}
.ms-cell.flag-ok{background:#d8f0d0;}
.ms-cell.flag-bad{background:#f8d8d8;}
.ms-hud{font-family:var(--mono);font-size:12px;color:#123d6e;background:#000;color:#f33;padding:3px 8px;border:2px inset #7a7f8a;min-width:90px;text-align:center;}
.ms-smile{width:32px;height:32px;font-size:17px;background:#b9c0cc;border:2px solid;border-color:#fff #7a7f8a #7a7f8a #fff;cursor:pointer;}
.ms-smile:active{border-color:#7a7f8a #fff #fff #7a7f8a;}

/* ---------------- NovaMessenger: MySpace 2004 ---------------- */
.msn-root>.tabs{flex:0 0 auto;width:100%;padding:4px 6px 0;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.msn-root>.tabs .tab-btn{flex:0 0 auto;width:auto;min-width:88px;padding:4px 10px}.msn-root>.msn-cols{flex:1 1 auto;min-height:0}.msn-root>.files-cols{flex:1 1 auto;min-height:0;overflow:auto}.msn-cols{display:flex;gap:8px;min-height:0;overflow:hidden;}.msn-left,.msn-right{min-height:0}.msn-left{flex-basis:190px}.msn-right{min-width:0}.msn-chatlog{min-height:0}.msn-root>.lore-archive{flex:1 1 auto;height:auto;min-height:0}
@media(max-width:540px){.msn-cols{gap:5px}.msn-left{flex:0 0 145px}.msn-contact{padding:5px}.msn-brand{padding:5px 7px}.msn-root>.tabs .tab-btn{min-width:74px;padding:4px 7px;font-size:10px}}
.msn-left{flex:0 0 210px;display:flex;flex-direction:column;background:linear-gradient(180deg,#dfe8f5,#c4d8f0);border:1px solid #8fa8c8;border-radius:4px;overflow:hidden;}
.msn-root .msn-left{flex-basis:190px}
.msn-brand{background:linear-gradient(90deg,#1d5fd6,#3d8ff0);color:#fff;font-weight:bold;padding:6px 10px;font-style:italic;}
.msn-list{flex:1;overflow:auto;}
.msn-contact{display:flex;align-items:center;gap:7px;padding:6px 8px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.06);}
.msn-contact:hover{background:rgba(90,140,255,.15);}
.msn-contact.sel{background:#dcebfc;outline:1px solid #8fb6e0;}
.msn-cname{font-weight:bold;font-size:12px;color:#123d6e;}
.msn-cstatus{font-size:10px;}
.msn-slogan{font-size:10px;color:#5a7aa8;padding:4px 8px;border-top:1px solid #8fa8c8;text-align:center;}
.msn-right{flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #8fa8c8;border-radius:4px;overflow:hidden;}
.msn-chathead{background:#dcebfc;font-weight:bold;padding:6px 10px;border-bottom:2px solid #3e8f2a;font-size:12px;color:#123d6e;}
.msn-chatlog{flex:1;overflow:auto;padding:8px;font-size:12px;background:#fdfdf9;}
.msn-msg{margin-bottom:4px;}
.msn-msg.me{color:#1c5fd6;}
.msn-msg.them{color:#1c8a2a;}
.msn-msg.dim{color:#999;font-style:italic;}
.msn-typing{color:#999;font-style:italic;font-size:11px;margin-bottom:4px;}
.msn-inputrow{display:flex;gap:6px;padding:6px;border-top:1px solid #c8d4e8;}
.msn-empty{padding:16px;color:#5a7aa8;font-size:12px;}
.msn-group{padding:5px 8px 2px;color:#607896;font-size:9px;font-weight:bold;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #d9e1ed}.msn-secure{color:#287d5c!important;font-size:9px}.lore-msg{padding:5px 7px!important;background:#edf8f3;border-left:3px solid #39a978;margin-bottom:7px!important}.lore-archive{height:calc(100% - 30px);overflow:auto;background:#07131e;color:#d8e9f1;border:1px solid #31516a}.lore-head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(90deg,#0c2b3c,#102333);border-bottom:1px solid #38657b;position:sticky;top:0;z-index:2}.lore-head span{display:block;color:#76a6b8;font-size:9px;margin-top:2px;letter-spacing:.5px}.lore-head strong{margin-left:auto;color:#79e5c0}.lore-signal{color:#53e39c;text-shadow:0 0 8px #53e39c}.lore-chapter{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-bottom:1px solid #183142;cursor:pointer;position:relative}.lore-chapter.open:hover{background:#102c3a}.lore-chapter.locked{filter:grayscale(1);opacity:.52;cursor:default}.lore-num{font:20px var(--mono);color:#4f879c;min-width:28px}.lore-copy{flex:1}.lore-title{font:bold 13px var(--mono);color:#8de7c7}.lore-from{font-size:9px;color:#6d9caf;margin:3px 0 7px}.lore-body{font-size:11px;line-height:1.45;color:#c4d9df}.lore-new{background:#28a873;color:#fff;font-size:8px;font-weight:bold;padding:2px 5px;border-radius:6px}.lore-chapter.read .lore-new{display:none}.era-timeline{display:flex;margin:5px 0 12px;overflow:hidden;border-radius:5px;border:1px solid #9baabd}.era-step{flex:1;min-width:70px;padding:7px 3px;text-align:center;background:#d6dbe2;color:#777;border-right:1px solid #adb5bf}.era-step:last-child{border:0}.era-step b,.era-step span{display:block}.era-step span{font-size:9px}.era-step.done{background:#b6dbcb;color:#245b47}.era-step.current{background:linear-gradient(#5e9ddb,#2866ad);color:#fff}.era-current{padding:9px;border-left:4px solid var(--accent);background:#fff;margin-bottom:7px}.era-upgrade-btn{margin-top:8px;width:100%;min-height:30px}
.pin-btn{white-space:nowrap}.pin-btn.on{background:#ffe59a;border-color:#b68a17}.lore-mission-progress{position:relative;height:13px;margin-top:7px;border:1px solid #365269;background:#061019;border-radius:7px;overflow:hidden}.lore-mission-progress i{display:block;height:100%;background:linear-gradient(90deg,#238e68,#5fe0ad)}.lore-mission-progress span{position:absolute;inset:0;text-align:center;font-size:8px;color:#fff;line-height:12px;text-shadow:0 1px #000}
.myspace-card{background:linear-gradient(180deg,#123a6e,#000022);color:#fff;border-radius:6px;padding:14px;text-align:center;border:2px solid #8fb6e0;}
.ms-name{font-size:22px;font-weight:bold;font-style:italic;text-shadow:2px 2px 0 #000;margin-top:6px;}
.ms-mood{font-style:italic;color:#ffe08a;margin:4px 0;}
.ms-info{font-size:11px;color:#cfe0f5;margin-top:2px;}
.ms-top8{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding-top:6px;}
.ms-top8-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;background:#f0f4fa;border:1px solid #c8d4e8;border-radius:4px;cursor:pointer;}
.ms-top8-item:hover{border-color:#316ac5;}
.ms-top8-name{font-size:9px;color:#123d6e;max-width:48px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
@media(max-width:540px){.msn-root .msn-left{flex:0 0 145px}.msn-root .msn-contact{padding:5px}.msn-root .msn-brand{padding:5px 7px}}
/* Sala de Trofeos */
.trophy-app{height:100%;overflow:auto;background:linear-gradient(135deg,#07162d,#102b52 52%,#081a31);color:#eef6ff;padding:14px;box-sizing:border-box}.trophy-hero{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid #4c77a4;border-radius:9px;background:linear-gradient(100deg,rgba(20,63,105,.95),rgba(5,20,39,.88));box-shadow:inset 0 1px rgba(255,255,255,.16),0 5px 18px rgba(0,0,0,.28)}.trophy-hero-icon{width:62px;height:62px;flex:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff5a0,#e5a922 55%,#754100 58%,#1b3550 62%);box-shadow:0 0 22px rgba(255,201,57,.35)}.trophy-hero h2{font-size:22px;margin:2px 0}.trophy-hero p{margin:0;color:#bcd2e8}.trophy-kicker{font-size:10px;letter-spacing:2px;color:#7fd3ff;font-weight:bold}.trophy-total{margin-left:auto;text-align:center;padding-left:18px;border-left:1px solid #55799b}.trophy-total b{display:block;font-size:25px;color:#ffe67c}.trophy-total span{font-size:10px;color:#a9c5df}.trophy-overall{display:flex;align-items:center;gap:10px;margin:12px 2px;font-size:11px;color:#bcd2e8}.trophy-overall b{white-space:nowrap}.trophy-bar{height:10px;flex:1;background:#020b16;border:1px solid #355675;border-radius:8px;overflow:hidden}.trophy-bar i,.trophy-card-bar i{height:100%;display:block;background:linear-gradient(90deg,#24a5e8,#7de8ff);box-shadow:0 0 8px #27b9ff}.trophy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.trophy-card{display:grid;grid-template-columns:54px 1fr auto;gap:9px;align-items:center;min-height:92px;padding:10px;border:1px solid #294966;border-radius:6px;background:rgba(5,18,34,.78);opacity:.7}.trophy-card.unlocked{opacity:1;border-color:#7aa3c5;background:linear-gradient(110deg,rgba(20,51,79,.96),rgba(7,23,41,.96));box-shadow:inset 3px 0 var(--medal,#b87835)}.trophy-badge{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#f8d09e,var(--medal,#8b6239) 55%,#2f1f13 58%,#17283b 62%);filter:grayscale(1)}.unlocked .trophy-badge{filter:none;box-shadow:0 0 12px color-mix(in srgb,var(--medal) 55%,transparent)}.trophy-badge svg{width:26px;height:26px}.trophy-silver{--medal:#aebac8}.trophy-gold{--medal:#e5b934}.trophy-platinum{--medal:#61dbe5}.trophy-tier{text-transform:uppercase;font-size:9px;letter-spacing:1.3px;color:var(--medal,#b87835);font-weight:bold}.trophy-name{font-weight:bold;font-size:13px;margin:2px 0}.trophy-desc{font-size:10px;color:#abc0d3;line-height:1.25}.trophy-card-bar{height:5px;background:#020a12;border-radius:4px;overflow:hidden;margin-top:6px}.trophy-numbers{font-size:9px;color:#7f9bb4;text-align:right}.trophy-action{text-align:center;min-width:82px}.trophy-reward{font-size:10px;color:#ffe27a;font-weight:bold;margin-bottom:6px}.trophy-status{font-size:10px;color:#7e9ab2}.claimed .trophy-status{color:#77e6ad}@media(max-width:620px){.trophy-grid{grid-template-columns:1fr}.trophy-hero-icon{display:none}.trophy-total{padding-left:10px}.trophy-card{grid-template-columns:48px 1fr auto}}
