  /* ============ BASE ============ */
    * {
      box-sizing: border-box
    }

    html,
    body {
      margin: 0;
    background: black;
    color: #00ff00;
    font-family: monospace;
    }

    body {
      font-family: Inter, Segoe UI, Arial, sans-serif;
      color: #0f172a;
      background: #0b1020
    }

    a {
      color: #7dd3fc;
      text-decoration: none
    }

    .container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px
    }

    .section {
      padding: 30px 15px;
      opacity: 0;                /* ban đầu ẩn */
  transform: translateY(40px); /* ban đầu trượt xuống */
  transition: all 0.8s ease;  /* hiệu ứng */
    }
    .section.in-view {
  opacity: 1;
  transform: translateY(0);  /* khi hiện -> về vị trí ban đầu */
}

    .title {
      font-size: 32px;
      color: #ff6900;
      text-align: center;
      margin: 0 0 18px
    }

    .lead {
      color: #cbd5e1;
      text-align: justify;
      margin: 0 auto 28px;
      line-height: 180%;
    }

    /* ============ HEADER ============ */
    header {
      /* position: sticky;
      top: 0;
      z-index: 50;
      background: #0b1020b3;
      backdrop-filter: blur(8px);
      border-bottom: 1px solid #1e293b */
      position: fixed;
    top: 0; left: 0; right: 0;
    background: rgba(15, 23, 42, 0.9); /* nền trong suốt */
    backdrop-filter: blur(6px);
    display: flex;
    justify-content: space-between;
    align-items: center;
  
    z-index: 10; /* cao hơn canvas */
    }

    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 20px
    }

    .brand {
      display: flex;
      gap: 10px;
      align-items: center
    }

    .brand .logo {
      width: 61px;
      height: 34px;
      border-radius: 8px;
      background: url('../Images/icon.png');
      background-repeat: no-repeat;
      background-size: 100% 100%;
      /*background:
      radial-gradient(circle at 30% 20%, #1875e6, #7c3aed)*/
    }

    .brand span {
      color: #e2e8f0;
      font-weight: 700;
      letter-spacing: .5px
    }

    .menu a {
      margin-left: 18px;
      color: #e5e7eb;
      font-weight: 600
    }

    .menu a:hover {
      color: #ff6900
    }

    /* Responsive cho mobile */
    @media (max-width: 768px) {
      .hero {
        width: 100%;
        /* ép full chiều ngang màn hình */
        max-height: 300px;
        /* giới hạn chiều cao nếu muốn */
        object-fit: cover;
        /* crop vừa khung, không méo hình */
        border-radius: 10px;
        /* bo góc cho đẹp */
      }
    }

    /* ============ HERO ============ */
    .hero {
      position: relative;
      display: grid;
      place-items: center;
      text-align: center;
      background: url('../Images/banner-se.png');
      background-repeat: no-repeat;
      background-size: 100% 100%;
      /*
       background:url('assets/ai4se-hero.jpg') center/cover no-repeat fixed; */
      isolation: isolate;
    }

    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
  
    }

    .hero>.inner {
      position: relative;
      z-index: 1;
      padding: 70px 20px
    }

    .hero h1 {
      font-size: 54px;
      line-height: 1.05;
      margin: 0;
      color: #fff;
      text-shadow: 0 6px 24px #000
    }

    .hero p {
      color: #e2e8f0;
      font-size: 18px;
      margin: 14px 0 26px
    }

    .btn {
      display: inline-block;
      background: #ff6900;
      color: #fff;
      padding: 12px 22px;
      border-radius: 10px;
      font-weight: 700;
      box-shadow: 0 10px 30px #3b82f63a;
      transition: .2s
    }

    .btn:hover {
      transform: translateY(-2px);
      background: #2563eb
    }

    /* ============ CARDS ============ */
    .grid {
      display: grid;
      gap: 18px
    }

    .grid-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .card {
      background: linear-gradient(180deg, #0f172a, #0b1020);
      border: 1px solid #1f2a44;
      border-radius: 14px;
      padding: 20px;
      color: #cbd5e1;
      box-shadow: 0 10px 30px #0006;
      transform: translateY(10px);
      opacity: 0;
      transition: .5s ease;
    }

    .card.show {
      opacity: 1;
      transform: translateY(0)
    }



    .badge {
      display: inline-block;
      font-size: 12px;
      color: #7dd3fc;
      border: 1px solid #334155;
      border-radius: 999px;
      padding: 4px 10px;
      margin-bottom: 10px
    }

    /* ============ PRIZES ============ */
    .prize-wrap {
      display: grid;
      gap: 24px;
      /*grid-template-columns:1.2fr .8fr;*/
      align-items: start
    }

    .prize-table {
      width: 100%;
      border-collapse: collapse;
      overflow: hidden;
      border-radius: 12px;
      border: 1px solid #1f2a44
    }

    .prize-table th,
    .prize-table td {
      padding: 14px 12px
    }

    .prize-table thead th {
      background: #0f172a;
      color: #93c5fd;
      text-align: left;
      font-size: 14px;
    }

    .prize-table tbody tr {
      background: #0b1327;
      border-top: 1px solid #1f2a44;
      color: #0f78ab;
    }

    .prize-table tfoot td {
      background: #101836;
      font-weight: 800;
      color: #e2e8f0
    }

    .prize-shot {
      border-radius: 12px;
      border: 1px solid #1f2a44;
      box-shadow: 0 8px 24px #0007
    }

    /* ============ GALLERY ============ */
    .gallery {
      display: grid;
      gap: 16px;
      grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .gallery img {
      width: 100%;
      height: 220px;
      object-fit: cover;
      border-radius: 12px;
      border: 1px solid #1f2a44
    }

    /* ============ FOOTER ============ */
    footer {
      padding: 40px 20px;
      color: #94a3b8;
      border-top: 1px solid #1e293b;
      text-align: center
    }

    p {
      text-align: justify;
    }

    /* ============ RESPONSIVE ============ */
    @media (max-width:980px) {
      .grid-3 {
        grid-template-columns: 1fr
      }

      .prize-wrap {
        grid-template-columns: 1fr
      }

      .hero h1 {
        font-size: 40px
      }
    }

    .card {
      background: linear-gradient(180deg, #0f172a, #0b1020);
      border: 1px solid #1f2a44;
      border-radius: 14px;
      padding: 20px;
      color: #cbd5e1;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
      transition: all 0.35s ease;
    }

    /* Hiệu ứng khi hover */
    .card:hover {
      transform: translateY(-10px) scale(1.02);
      border-color: #3b82f6;
      /* đổi màu viền xanh */
      box-shadow: 0 12px 30px rgba(59, 130, 246, 0.4);
      /* glow xanh */
      background: linear-gradient(180deg, #1e293b, #0f172a);
    }

    .card h4 {
      margin-top: 0;
      margin-bottom: 10px;
      color: #ff6900;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .card h4::before {
      content: "💡";
      /* icon mặc định */
      font-size: 18px;
    }

      /* Canvas phủ nền */
  #matrix {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 0;
  }
  /*TimeLine*/
:root{
    --bg:#fff6ee;
    --card:#ffffff;
    --text:#1f2937;
    --accent:#f97316;
    --line:#f59e0b;
    --shadow:0 10px 25px rgba(0,0,0,.08);
  }
  .timeline-wrap{
    background:var(--bg);
    padding:64px 16px;
  }
  .tl-title{
    font:700 36px/1.2 ui-sans-serif,system-ui,Segoe UI,Arial;
    text-align:center; color:#0f172a; margin:0 0 28px;
  }
  .timeline{
    position:relative; max-width:1060px; margin:0 auto;
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 26px;
  }
  /* central line */
  .timeline::before{
    content:""; position:absolute; left:50%; top:0; bottom:0; width:3px;
    background:linear-gradient(#fff0,#f59e0b,#fff0);
    transform:translateX(-50%);
  }
  /* dots on items */
  .tl-item{position:relative}
  .tl-item::before{
    content:""; position:absolute; top:26px;
    width:12px; height:12px; border-radius:50%;
    background:var(--line); box-shadow:0 0 0 4px #fff6;
  }
  .tl-item:not(.right)::before{ right:-6px; }            /* bên trái chấm nằm phải */
  .tl-item.right::before{ left:-6px; }                   /* bên phải chấm nằm trái */

  .tl-card{
    background:var(--card); border-radius:14px; box-shadow:var(--shadow);
    padding:18px 20px; color:var(--text); border:1px solid #f3f4f6;
    transform:translateY(10px); opacity:0; transition:.45s ease;
  }
  .tl-card.show{ transform:translateY(0); opacity:1; }
  .tl-card:hover{ box-shadow:0 16px 36px rgba(0,0,0,.12); }

  .tl-date{
    font-weight:800; color:var(--accent); letter-spacing:.2px;
    display:flex; align-items:center; gap:8px; margin-bottom:6px;
  }
  .tl-date::before{
    content:"\1F4C5"; /* icon lịch */
    filter: saturate(140%);
  }
  .tl-card p{ margin:6px 0 0; color:#374151 }

  /* responsive: stack on mobile */
  @media (max-width: 860px){
    .timeline{ grid-template-columns:1fr; }
    .timeline::before{ left:18px; }
    .tl-item::before{ left:12px; right:auto; }
    .tl-item.right{ grid-column:auto; }
    .tl-card{ margin-left:28px; }
  }

  :root{
    --faq-bg:#ffffff;
    --faq-text:#0f172a;
    --faq-muted:#6b7280;
    --accent:#f97316;          /* cam */
    --shadow:0 10px 24px rgba(0,0,0,.08);
    --radius:14px;
  }
  .faq-wrap{padding:64px 16px;}
  .faq-title{
    text-align:center;font:700 36px/1.2 ui-sans-serif,system-ui,Segoe UI,Arial;
    color:#ff7300;margin:0 0 20px;
  }
  .faq{max-width:1200px;margin:0 auto;display:grid;gap:14px}
  .faq-item{
    background:var(--faq-bg); border:1px solid #eef2f7; border-radius:var(--radius);
    box-shadow:var(--shadow); overflow:hidden;
    transition:box-shadow .2s ease, border-color .2s ease;
  }
  .faq-item[open]{border-color:#ffe6d3}
  .faq-item summary{
    cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between;
    padding:18px 22px; color:var(--faq-text); font-weight:700;
  }
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-body{padding: 15px 15px 15px 15px;
    color: #011a4c;
    border-top: 2px solid #e96f07;
    background-color: #ffc800;}

  /* mũi tên xoay */
  .chev{width:22px;height:22px;flex:none;stroke:var(--accent);stroke-width:2;fill:none;transition:.25s}
  .faq-item[open] .chev{transform:rotate(180deg)}

  /* hover */
  .faq-item:hover{box-shadow:0 16px 34px rgba(0,0,0,.12)}

  details.faq-item summary {
  cursor: pointer;
  transition: color 0.3s ease;
  font-weight: 500;
}

details.faq-item[open] summary {
  color: #9b5d01; /* khi mở -> cam đậm */
  font-weight: 700;
}
.ai4se-hero{
  position: relative;
  background:
    linear-gradient(180deg, rgba(10,14,40,.6), rgba(10,14,40, .8)),
    var(--bg-hero);
  /* nếu bạn dùng ảnh code matrix: thay url(...) của bạn ở dòng dưới */
  background-image:
    linear-gradient(180deg, rgba(10,14,40,.65), rgba(10,14,40,.9)),
    url('assets/bg-code.jpg');
  background-size: cover;
  background-position: center top;
  color: var(--txt);
  padding: 96px 24px 72px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.ai4se-hero__overlay{
  position:absolute; inset:0;
  box-shadow: inset 0 -120px 120px -60px rgba(0,0,0,.55);
  pointer-events:none;
}

.ai4se-hero__inner{
  max-width: 1080px; margin: 0 auto; position: relative; z-index: 1;
    text-align: center;
}

.ai4se-badge{
  display:inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,106,0,.15);
  color: #ffd2b3;
  border: 1px solid rgba(255,106,0,.35);
  font-weight: 600;
  letter-spacing:.3px;
  margin-bottom: 18px;

  backdrop-filter: blur(6px);
}

.ai4se-title{
  font-size: clamp(34px, 6vw, 64px);
  line-height: 1.05;
  font-weight: 800;
  margin: 0 0 10px;
  text-shadow: 0 2px 0 rgba(0,0,0,.25);
}

.ai4se-sub{
  font-size: clamp(14px, 2vw, 18px);
  color: var(--muted);
  margin: 6px 0 36px;
}

.countdown-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: 18px;
  max-width: 1200px;
}

.cd-card{
  position:relative;
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px 12px;
  text-align:center;
  backdrop-filter: blur(8px);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s;
  color: #ff670a;
}
.cd-card::after{
  /* viền phát sáng nhẹ */
  content:""; position:absolute; inset:-2px;
  border-radius: calc(var(--radius) + 2px);
  pointer-events:none;
  background: radial-gradient(80% 80% at 50% 0%,
    rgba(168,85,247,.35), transparent 70%);
  opacity:.35; transition: opacity .25s ease;
}
.cd-card:hover{ transform: translateY(-3px); box-shadow: 0 14px 40px rgba(0,0,0,.55); }
.cd-card:hover::after{ opacity:.6; }

.cd-value{
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 800;
  line-height:1;
}
.cd-label{
  margin-top: 6px;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #c7c9de;
}

/* CTA */
.ai4se-cta{
  display:inline-block;
  margin-top: 30px;
  padding: 14px 22px;
  border-radius: 999px;
  color:#0b0f1f;
  font-weight: 700;
  text-decoration:none;
  background: linear-gradient(90deg, var(--orange), #ff3fb4);
  box-shadow: 0 10px 30px rgba(255,106,0,.25);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.ai4se-cta:hover{ transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 16px 40px rgba(255,106,0,.35); }

/* đáp ứng */
@media (max-width: 640px){
  .countdown-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce){
  *{ transition: none !important; }
}

.stats {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin: 40px 0;
}

.stat-card {
  background: #fff;
  padding: 30px 40px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  flex: 1;
  max-width: 220px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.stat-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.stat-icon {
  font-size: 36px;
  color: #ff007f; /* màu hồng đậm */
  margin-bottom: 12px;
}

.stat-card h2 {
  font-size: 32px;
  font-weight: 700;
  margin: 0;
  color: #111;
}

.stat-card p {
  font-size: 16px;
  color: #555;
  margin: 6px 0 0;
}
