/* ══════════════════════════════════════════════
   IT-Master Cyber Attack Simulator — style.css
   ══════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#060710;--surface:#0b0c18;--card:#10122a;--elevated:#181b3a;
  --green:#22c55e;--green-b:#4ade80;--red:#ef4444;--red-b:#f87171;
  --cyan:#22d3ee;--blue:#3b82f6;--amber:#fbbf24;--purple:#a78bfa;--pink:#f472b6;
  --text:#dde0e4;--dim:#6b7084;--muted:#3e4058;
  --border:rgba(255,255,255,0.05);--border-h:rgba(255,255,255,0.1);
  --r:12px;--r2:8px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
::selection{background:var(--blue);color:#fff;}
code,.mono{font-family:'JetBrains Mono',monospace;}

/* Utility */
.accent{background:linear-gradient(135deg,#ef4444,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* ═══ TOPBAR ═══ */
.topbar{position:sticky;top:0;z-index:100;background:rgba(6,7,16,0.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);height:52px;}
.topbar::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#ef4444,#f97316,#fbbf24,#22c55e,#3b82f6,#8b5cf6);}
.topbar__inner{max-width:1200px;height:100%;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:12px;}
.topbar__logo{font-size:17px;font-weight:800;white-space:nowrap;}
.sep{width:1px;height:18px;background:rgba(255,255,255,0.06);}
.topbar__title{font-size:13px;font-weight:700;white-space:nowrap;color:var(--text);}
.safe-tag{font-size:9px;padding:2px 8px;border-radius:4px;background:rgba(34,197,94,0.12);border:1px solid rgba(34,197,94,0.2);color:var(--green-b);vertical-align:middle;margin-left:4px;font-weight:700;letter-spacing:0.8px;}
.topbar__score{margin-left:auto;display:flex;gap:6px;}
.badge{font-size:10px;font-weight:700;padding:4px 12px;border-radius:14px;font-family:'JetBrains Mono',monospace;white-space:nowrap;}
.badge--blue{background:rgba(59,130,246,0.1);border:1px solid rgba(59,130,246,0.15);color:var(--blue);}
.badge--green{background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.15);color:var(--green-b);}
.topbar__nav{display:flex;gap:2px;margin-left:10px;}
.topbar__nav a{padding:6px 12px;font-size:11px;font-weight:600;color:var(--dim);border-radius:6px;transition:all 0.2s;}
.topbar__nav a:hover{color:var(--cyan);background:rgba(34,211,238,0.06);}

/* ═══ MODULE NAV ═══ */
.module-nav{display:flex;align-items:center;gap:4px;padding:8px 20px;background:var(--surface);border-bottom:1px solid var(--border);max-width:100%;overflow-x:auto;flex-wrap:wrap;}
.module-nav__btn{padding:10px 18px;border-radius:var(--r2);border:1px solid var(--border);background:none;color:var(--dim);font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;font-family:inherit;white-space:nowrap;}
.module-nav__btn:hover{color:var(--text);border-color:var(--border-h);}
.module-nav__btn--active{background:rgba(59,130,246,0.08);border-color:rgba(59,130,246,0.2);color:var(--blue);}
.module-nav__progress{flex:1;min-width:80px;height:6px;border-radius:3px;background:rgba(255,255,255,0.04);overflow:hidden;margin-left:auto;}
.module-nav__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--green),var(--cyan));transition:width 0.5s;width:0%;}

/* ═══ MODULE CONTAINER ═══ */
.module-container{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:24px 20px;}

/* ═══ SHARED MODULE STYLES ═══ */
.mod-header{margin-bottom:24px;}
.mod-header h2{font-size:24px;font-weight:800;margin-bottom:6px;}
.mod-header p{font-size:14px;color:var(--dim);}
.mod-grid{display:grid;gap:20px;}
.mod-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:24px;transition:all 0.25s;}
.mod-card:hover{border-color:var(--border-h);}
.mod-card h3{font-size:16px;font-weight:700;margin-bottom:10px;}
.mod-card__label{font-size:9px;font-weight:700;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--r2);font-size:13px;font-weight:700;border:none;cursor:pointer;transition:all 0.2s;font-family:inherit;}
.btn--primary{background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;}
.btn--danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;}
.btn--success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;}
.btn--ghost{background:rgba(255,255,255,0.03);color:var(--dim);border:1px solid var(--border);}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.3);}
.btn--sm{padding:7px 14px;font-size:11px;}

/* Result boxes */
.result-box{padding:16px;border-radius:var(--r2);margin-top:14px;font-size:13px;line-height:1.7;display:none;}
.result-box--show{display:block;}
.result-box--correct{background:rgba(34,197,94,0.06);border:1px solid rgba(34,197,94,0.12);color:var(--green-b);}
.result-box--wrong{background:rgba(239,68,68,0.06);border:1px solid rgba(239,68,68,0.12);color:var(--red-b);}
.result-box--info{background:rgba(59,130,246,0.06);border:1px solid rgba(59,130,246,0.1);color:var(--cyan);}

/* ═══ PHISHING MODULE ═══ */
.email-card{background:var(--elevated);border-radius:var(--r);border:1px solid var(--border);overflow:hidden;}
.email-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px;}
.email-from{font-size:13px;}.email-from b{color:var(--text);}
.email-subject{font-size:16px;font-weight:700;color:var(--text);}
.email-to{font-size:12px;color:var(--muted);}
.email-body{padding:20px;font-size:14px;line-height:1.8;color:var(--dim);}
.email-body a{color:var(--blue);text-decoration:underline;}
.email-actions{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--border);}
.email-counter{text-align:center;font-size:12px;color:var(--muted);margin-top:10px;}
.phish-highlight{background:rgba(239,68,68,0.1);border:1px dashed rgba(239,68,68,0.3);border-radius:4px;padding:0 4px;}

/* ═══ SQLI MODULE ═══ */
.login-form{max-width:360px;margin:0 auto;}
.form-group{margin-bottom:14px;}
.form-group label{font-size:12px;font-weight:600;color:var(--dim);display:block;margin-bottom:4px;}
.form-input{width:100%;padding:11px 14px;border-radius:var(--r2);background:rgba(255,255,255,0.03);border:1px solid var(--border);color:var(--text);font-family:'JetBrains Mono',monospace;font-size:13px;outline:none;transition:border-color 0.2s;}
.form-input:focus{border-color:var(--cyan);}
.query-box{background:#0a0a12;border-radius:var(--r2);padding:16px;font-family:'JetBrains Mono',monospace;font-size:12px;line-height:1.7;border:1px solid var(--border);margin-top:14px;overflow-x:auto;}
.query-box .kw{color:var(--blue);font-weight:600;}
.query-box .str{color:var(--green-b);}
.query-box .danger{color:var(--red-b);font-weight:700;background:rgba(239,68,68,0.1);padding:0 4px;border-radius:3px;}
.query-box .input{color:var(--amber);}

/* ═══ PASSWORD MODULE ═══ */
.pw-demo{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pw-card{background:var(--elevated);border-radius:var(--r);border:1px solid var(--border);padding:20px;text-align:center;}
.pw-card__label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;}
.pw-card__value{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;margin-bottom:8px;}
.pw-card__time{font-size:13px;margin-bottom:4px;}
.pw-card__bar{height:8px;border-radius:4px;background:rgba(255,255,255,0.04);overflow:hidden;margin-top:8px;}
.pw-card__bar-fill{height:100%;border-radius:4px;transition:width 1s;}
.crack-animation{margin-top:16px;padding:16px;background:#0a0a12;border-radius:var(--r2);border:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:12px;min-height:100px;overflow:hidden;}

/* ═══ MISSION MODULE ═══ */
.mission-steps{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap;}
.step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:2px solid var(--border);color:var(--dim);transition:all 0.3s;}
.step-dot--active{border-color:var(--blue);color:var(--blue);background:rgba(59,130,246,0.08);}
.step-dot--done{border-color:var(--green);color:var(--green);background:rgba(34,197,94,0.08);}

/* ═══ SAFETY BANNER ═══ */
.safety-banner{text-align:center;padding:10px 20px;background:rgba(34,197,94,0.04);border-top:1px solid rgba(34,197,94,0.08);font-size:12px;color:var(--dim);}
.safety-banner b{color:var(--green-b);}
.safety-banner a{color:var(--blue);text-decoration:underline;}

/* ═══ FOOTER ═══ */
.footer{background:var(--bg);text-align:center;padding:24px 16px;border-top:1px solid var(--border);}
.footer__inner{max-width:600px;margin:0 auto;}
.footer__brand{font-size:16px;font-weight:800;margin-bottom:10px;}
.footer__links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:10px;}
.footer__links a{font-size:11px;color:var(--dim);}
.footer__links a:hover{color:var(--cyan);}
.footer__copy{font-size:9px;color:rgba(255,255,255,0.18);}

@media(max-width:768px){
  .mod-grid{grid-template-columns:1fr;}
  .pw-demo{grid-template-columns:1fr;}
  .topbar__nav{display:none;}
  .module-nav{gap:3px;padding:6px 12px;}
  .module-nav__btn{padding:8px 12px;font-size:11px;}
}
