/* ============================================================
   shared.css — سايبر تاك | التصميم الموحد لكل الصفحات
   ============================================================ */

/* ── Variables ── */
:root {
  --cyan:      #00e5ff;
  --green:     #00ff88;
  --red:       #ff0040;
  --orange:    #ffaa00;
  --bg:        #060609;
  --bg2:       #0a0a12;
  --bg3:       #0f0f1a;
  --border:    rgba(0,229,255,0.12);
  --text:      #c9d1d9;
  --text-dim:  #666;
  --radius:    12px;
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Cairo', sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
  line-height: 1.7;
}

canvas#background {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* Scanlines */
body::after {
  content: '';
  position: fixed; inset: 0;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0px, transparent 3px,
    rgba(0,229,255,.015) 3px, rgba(0,229,255,.015) 4px
  );
  pointer-events: none;
  z-index: 9998;
}

/* ── Header ── */
header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(6,6,9,0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 68px;
}

/* Logo */
.cybtak-logo {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  flex-shrink: 0;
}
.cybtak-geo {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  flex-shrink: 0;
  overflow: hidden;
  filter: drop-shadow(0 0 7px rgba(0,229,255,.55));
}
.cybtak-geo rect,
.cybtak-geo line,
.cybtak-geo circle {
  /* reset any external rect styles */
  transform-origin: center;
}
.sq  { animation: sq-in 1s ease both; }
.sq1 { animation-delay:.05s; } .sq2 { animation-delay:.2s; }
.sq3 { animation-delay:.35s; } .sq4 { animation-delay:.5s; }
.cdot { animation: cdot-pulse 2.4s ease-in-out infinite; animation-delay:.9s; }
@keyframes sq-in { from{opacity:0;transform:scale(.3)} to{opacity:1;transform:scale(1)} }
@keyframes cdot-pulse { 0%,100%{r:4;opacity:1} 50%{r:6;opacity:.5} }

.cybtak-divider {
  width: 1px; height: 42px;
  background: linear-gradient(to bottom, transparent, rgba(0,229,255,.6), transparent);
  flex-shrink: 0;
  animation: fade-up .8s ease .7s both;
}
.cybtak-term { direction: ltr; text-align: left; animation: fade-up .7s ease .4s both; }
.cybtak-prompt {
  font-family: 'Share Tech Mono', monospace;
  font-size: 9px; color: rgba(0,255,136,.5);
  display: block; letter-spacing: 1px; margin-bottom: 1px;
}
.cybtak-cmd { display: flex; align-items: baseline; }
.cybtak-txt {
  font-family: 'Rajdhani', sans-serif;
  font-size: 24px; font-weight: 700; color: #fff;
  letter-spacing: 3px; position: relative; display: inline-block;
  text-shadow: 0 0 22px rgba(0,229,255,.35);
}
.cybtak-txt::before {
  content:'CYBER_TAK'; position:absolute; inset:0; color:var(--red);
  clip-path:polygon(0 22%,100% 22%,100% 44%,0 44%);
  opacity:0; animation:gl-r 5s infinite 1s;
}
.cybtak-txt::after {
  content:'CYBER_TAK'; position:absolute; inset:0; color:var(--cyan);
  clip-path:polygon(0 58%,100% 58%,100% 78%,0 78%);
  opacity:0; animation:gl-b 5s infinite 1.15s;
}
@keyframes gl-r {
  0%,84%,100%{opacity:0;transform:translateX(0)}
  86%{opacity:.9;transform:translateX(-4px)} 88%{opacity:.6;transform:translateX(3px)}
  90%{opacity:0} 92%{opacity:.8;transform:translateX(-2px)} 94%{opacity:0}
}
@keyframes gl-b {
  0%,84%,100%{opacity:0;transform:translateX(0)}
  86%{opacity:.9;transform:translateX(4px)} 88%{opacity:.6;transform:translateX(-3px)}
  90%{opacity:0} 92%{opacity:.7;transform:translateX(2px)} 94%{opacity:0}
}
.cybtak-cursor {
  display:inline-block; width:2px; height:20px;
  background:var(--cyan); vertical-align:bottom; margin-right:2px;
  animation:blink 1s step-start infinite;
  box-shadow:0 0 8px var(--cyan);
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }

/* Nav */
nav { animation: fade-up .6s ease .3s both; }
nav ul { list-style:none; display:flex; flex-wrap:wrap; gap:.2rem .5rem; align-items:center; }
nav ul li a {
  font-family:'Cairo',sans-serif; font-size:.8rem; font-weight:600;
  color:var(--text-dim); text-decoration:none;
  padding:4px 10px; border-radius:6px;
  border:1px solid transparent;
  transition:color .2s, border-color .2s, background .2s;
  white-space:nowrap;
}
nav ul li a:hover, nav ul li a.active {
  color:var(--cyan); border-color:var(--border);
  background:rgba(0,229,255,.05);
}
nav ul li a.nav-courses {
  color:var(--cyan); border-color:rgba(0,229,255,.3);
  background:rgba(0,229,255,.07);
}

/* Typewriter */
.header-typewriter {
  font-size:.95rem; color:rgba(255,255,255,.5);
  border-right:2px solid var(--orange);
  white-space:nowrap; overflow:hidden;
  animation: fade-up .6s ease .2s both;
}

/* ── Shared Animations ── */
@keyframes fade-up {
  from { opacity:0; transform:translateY(12px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ── Scroll Reveal ── */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }
.reveal-delay-4 { transition-delay: .4s; }

/* ── Main Layout ── */
main {
  position: relative; z-index: 1;
  max-width: 980px; margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}

/* ── Download CTA Card ── */
.download-cta {
  margin: 0 0 2.5rem;
  padding: 1.4rem 1.8rem;
  background: linear-gradient(135deg, rgba(0,229,255,.07), rgba(0,255,136,.04));
  border: 1px solid rgba(0,229,255,.18);
  border-radius: var(--radius);
  display: flex; align-items: center;
  justify-content: space-between;
  gap: 1.2rem; flex-wrap: wrap;
  position: relative; overflow: hidden;
}
.download-cta::before {
  content:''; position:absolute; top:-30px; left:-30px;
  width:120px; height:120px;
  background:radial-gradient(circle, rgba(0,229,255,.1), transparent 70%);
  pointer-events:none;
}
.download-cta h2 { font-size:1.1rem; color:#fff; margin-bottom:.3rem; }
.download-cta p  { font-size:.86rem; color:var(--text-dim); line-height:1.6; }
.btn-primary {
  display:inline-block; padding:10px 20px; border-radius:9px;
  background:var(--cyan); color:#001018;
  font-family:'Cairo',sans-serif; font-size:.86rem; font-weight:800;
  text-decoration:none; white-space:nowrap;
  transition:transform .15s, box-shadow .15s;
  box-shadow:0 0 20px rgba(0,229,255,.3);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 4px 28px rgba(0,229,255,.5); }

/* ── Section Headings ── */
.section-heading {
  font-size:1.3rem; color:#fff; margin-bottom:1.2rem;
  padding-bottom:.6rem; border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:10px;
}
.section-heading::before {
  content:''; display:inline-block;
  width:4px; height:22px;
  background:var(--cyan); border-radius:2px;
}
.section-heading.red::before  { background:var(--red); }
.section-heading.green::before { background:var(--green); }

/* ── Cards ── */
.card {
  background:var(--bg3);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);
  padding:1.2rem 1.4rem;
  transition:border-color .2s, transform .2s;
}
.card:hover {
  border-color:rgba(0,229,255,.2);
  transform:translateY(-2px);
}

/* ── Stats Counter ── */
.stats-row {
  display:flex; gap:1.5rem; flex-wrap:wrap;
  margin:2rem 0;
}
.stat-box {
  flex:1; min-width:140px;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.2rem;
  text-align:center;
}
.stat-box .stat-num {
  font-family:'Rajdhani',sans-serif;
  font-size:2.4rem; font-weight:700;
  color:var(--cyan);
  display:block; line-height:1;
  text-shadow:0 0 20px rgba(0,229,255,.4);
}
.stat-box .stat-label {
  font-size:.8rem; color:var(--text-dim);
  margin-top:.3rem; display:block;
}

/* ── Hero Section ── */
.hero {
  text-align:center;
  padding:4rem 1rem 3rem;
  position:relative;
}
.hero::before {
  content:'';
  position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:500px; height:300px;
  background:radial-gradient(ellipse at center, rgba(0,229,255,.07) 0%, transparent 70%);
  pointer-events:none;
}
.hero-badge {
  display:inline-block;
  font-family:'Share Tech Mono',monospace;
  font-size:.72rem; letter-spacing:3px;
  color:var(--cyan); border:1px solid rgba(0,229,255,.3);
  background:rgba(0,229,255,.06);
  padding:4px 14px; border-radius:999px;
  margin-bottom:1.2rem;
  animation:fade-up .6s ease .2s both;
}
.hero h1 {
  font-size:clamp(1.8rem, 5vw, 3rem);
  font-weight:900; color:#fff; line-height:1.25;
  margin-bottom:1rem;
  animation:fade-up .6s ease .35s both;
}
.hero h1 span { color:var(--cyan); }
.hero p {
  font-size:1rem; color:var(--text-dim);
  max-width:520px; margin:0 auto 1.8rem;
  animation:fade-up .6s ease .5s both;
}
.hero-actions {
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
  animation:fade-up .6s ease .65s both;
}
.btn-ghost {
  display:inline-block; padding:10px 20px; border-radius:9px;
  background:transparent; color:var(--cyan);
  font-family:'Cairo',sans-serif; font-size:.86rem; font-weight:700;
  text-decoration:none; border:1px solid rgba(0,229,255,.35);
  transition:background .2s, border-color .2s;
}
.btn-ghost:hover { background:rgba(0,229,255,.07); border-color:var(--cyan); }

/* ── Attack items ── */
.attack-item {
  display:flex; gap:1.2rem; margin-bottom:1rem;
  align-items:center;
}
.attack-item img {
  width:110px; height:70px;
  object-fit:cover; border-radius:8px; flex-shrink:0;
  filter:brightness(.85);
}
.attack-item div h3 { font-size:.93rem; color:#fff; margin-bottom:.35rem; }
.attack-item div p  { font-size:.81rem; color:var(--text-dim); line-height:1.7; }

/* ── Services list ── */
.services-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:1rem; margin-top:1rem;
}
.service-card {
  background:var(--bg3);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);
  padding:1.2rem;
  transition:border-color .2s, transform .2s;
}
.service-card:hover { border-color:rgba(0,229,255,.25); transform:translateY(-3px); }
.service-icon { font-size:1.8rem; margin-bottom:.6rem; display:block; }
.service-card h3 { font-size:.95rem; color:#fff; margin-bottom:.4rem; }
.service-card p  { font-size:.82rem; color:var(--text-dim); line-height:1.7; }

/* ── Email check form ── */
.email-check-wrap {
  max-width:560px; margin:0 auto; text-align:center;
}
.email-check-wrap h1 {
  font-size:1.6rem; color:#fff; margin-bottom:.5rem;
}
.email-check-wrap .sub {
  color:var(--text-dim); font-size:.9rem; margin-bottom:1.8rem;
}
.input-row {
  display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center;
}
.input-row input[type="email"] {
  flex:1; min-width:200px;
  background:var(--bg3); border:1px solid var(--border);
  border-radius:9px; padding:11px 16px;
  color:#fff; font-family:'Cairo',sans-serif; font-size:.92rem;
  outline:none; transition:border-color .2s;
  direction:ltr;
}
.input-row input[type="email"]:focus { border-color:var(--cyan); }
.input-row button {
  padding:11px 22px; border-radius:9px;
  background:var(--cyan); color:#001018;
  font-family:'Cairo',sans-serif; font-size:.9rem; font-weight:800;
  border:none; cursor:pointer;
  transition:transform .15s, box-shadow .15s;
  box-shadow:0 0 18px rgba(0,229,255,.3);
}
.input-row button:hover { transform:translateY(-2px); box-shadow:0 4px 24px rgba(0,229,255,.5); }

.check-result {
  margin-top:1.5rem;
  padding:1.2rem;
  border-radius:var(--radius);
  text-align:right;
  display:none;
}
.check-result.leaked {
  background:rgba(255,0,64,.08);
  border:1px solid rgba(255,0,64,.25);
  display:block;
}
.check-result.safe {
  background:rgba(0,255,136,.07);
  border:1px solid rgba(0,255,136,.25);
  display:block;
}
.check-result.error {
  background:rgba(255,170,0,.07);
  border:1px solid rgba(255,170,0,.25);
  display:block;
}
.check-result .result-title {
  font-size:1rem; font-weight:700; margin-bottom:.5rem;
}
.check-result.leaked .result-title { color:var(--red); }
.check-result.safe   .result-title { color:var(--green); }
.check-result.error  .result-title { color:var(--orange); }
.check-result pre {
  font-family:'Share Tech Mono',monospace;
  font-size:.75rem; color:var(--text-dim);
  white-space:pre-wrap; word-break:break-all;
  max-height:280px; overflow-y:auto; margin-top:.6rem;
  background:rgba(0,0,0,.3); padding:.8rem; border-radius:7px;
}
.loading-spin {
  display:none; text-align:center;
  color:var(--cyan); font-size:.9rem;
  margin-top:1rem;
  animation:pulse 1.2s ease-in-out infinite;
}
.loading-spin.active { display:block; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }

/* ── About / Team ── */
.about-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr));
  gap:1rem; margin-top:1rem;
}
.team-card {
  background:var(--bg3);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);
  padding:1.4rem; text-align:center;
  transition:border-color .2s;
}
.team-card:hover { border-color:rgba(0,229,255,.2); }
.team-avatar {
  width:64px; height:64px; border-radius:50%;
  background:rgba(0,229,255,.1);
  border:2px solid rgba(0,229,255,.3);
  display:flex; align-items:center; justify-content:center;
  font-size:1.8rem; margin:0 auto 1rem;
}
.team-card h3 { color:#fff; font-size:.95rem; margin-bottom:.3rem; }
.team-card p  { color:var(--text-dim); font-size:.82rem; }
.contact-link { color:var(--cyan); font-size:.8rem; text-decoration:none; }
.contact-link:hover { text-decoration:underline; }

/* ── Downloads ── */
.download-card {
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.5rem; margin-bottom:1rem;
}
.download-card .tag {
  display:inline-block;
  background:rgba(0,229,255,.1);
  border:1px solid rgba(0,229,255,.2);
  color:var(--cyan);
  padding:3px 12px; border-radius:999px;
  font-size:.78rem; margin-bottom:.8rem;
}
.download-card h2 { color:#fff; font-size:1.1rem; margin-bottom:.5rem; }
.download-card p  { color:var(--text-dim); font-size:.85rem; line-height:1.8; }
.download-meta {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(160px,1fr));
  gap:.6rem; margin:.8rem 0;
}
.meta-item { font-size:.82rem; color:var(--text-dim); }
.meta-item strong { color:var(--text); }

/* ── Footer ── */
footer {
  position:relative; z-index:1;
  text-align:center; padding:1.5rem;
  border-top:1px solid var(--border);
  color:var(--text-dim); font-size:.78rem;
}
footer a { color:var(--cyan); text-decoration:none; }
footer a:hover { text-decoration:underline; }

/* ── 404 ── */
.not-found-wrap {
  text-align:center; padding:6rem 1rem;
}
.not-found-wrap .code-404 {
  font-family:'Rajdhani',sans-serif;
  font-size:7rem; font-weight:700;
  color:var(--cyan);
  text-shadow:0 0 40px rgba(0,229,255,.4);
  line-height:1; display:block;
}
.not-found-wrap h2 { font-size:1.4rem; color:#fff; margin:.5rem 0 1rem; }
.not-found-wrap p  { color:var(--text-dim); margin-bottom:2rem; }

/* ── Responsive ── */
@media (max-width:700px) {
  header { padding:0 1rem; min-height:60px; }
  .cybtak-txt { font-size:20px; }
  .cybtak-geo { width:40px; height:40px; }
  .header-typewriter { display:none; }
  .hero h1 { font-size:1.6rem; }
  .input-row { flex-direction:column; }
  .attack-item img { width:76px; height:52px; }
  .download-cta { flex-direction:column; }
  .stats-row { gap:.8rem; }
}
