*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  background:#020817;
  color:white;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%,rgba(0,170,255,.22),transparent 25%),
    radial-gradient(circle at 80% 10%,rgba(80,120,255,.18),transparent 28%),
    radial-gradient(circle at 50% 90%,rgba(0,170,255,.18),transparent 35%);
  pointer-events:none;
  z-index:-1;
}

/* Header */

header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:82px;
  padding:0 44px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  z-index:50;
  background:rgba(2,8,23,.58);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,170,255,.18);
}

.logo{
  display:flex;
  align-items:center;
  gap:14px;
}

.logo-mark{
  width:54px;
  height:54px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 25%,#58ccff,#0756c8 60%,#021a63);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-weight:900;
  box-shadow:0 0 28px rgba(0,170,255,.75);
}

.logo-text h3{
  font-size:24px;
  line-height:1;
}

.logo-text p{
  font-size:12px;
  color:#b9d7ff;
  margin-top:5px;
}

.lang{
  display:flex;
  gap:18px;
  align-items:center;
  border:1px solid rgba(0,170,255,.45);
  border-radius:30px;
  padding:10px 20px;
  background:rgba(5,20,50,.65);
}

.lang a{
  color:white;
  text-decoration:none;
  font-size:15px;
}

.lang span{
  color:#6ea8ff;
}

/* Common */

.page{
  min-height:100vh;
  padding:120px 28px 70px;
}

.page-title{
  max-width:1000px;
  margin:0 auto 50px;
  text-align:center;
}

.page-title h1{
  font-family:Georgia,serif;
  font-size:58px;
  margin-bottom:14px;
}

.page-title p{
  color:#c7d8ff;
  font-size:18px;
  line-height:1.7;
}

.panel{
  border:1px solid rgba(0,170,255,.45);
  border-radius:20px;
  background:rgba(5,25,65,.58);
  box-shadow:0 0 28px rgba(0,120,255,.25);
  backdrop-filter:blur(14px);
}

.btn{
  display:inline-block;
  padding:13px 26px;
  border-radius:24px;
  color:white;
  text-decoration:none;
  border:1px solid rgba(0,170,255,.75);
  background:rgba(0,60,140,.35);
  transition:.3s;
}

.btn:hover{
  background:#d4af37;
  color:#061225;
  border-color:#ffd46b;
  box-shadow:0 0 28px rgba(255,210,80,.55);
}

/* Cards */

.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.card{
  min-height:205px;
  border-radius:22px;
  padding:32px;
  display:grid;
  grid-template-columns:82px 1fr;
  gap:18px;
  align-items:center;
  border:1px solid rgba(0,170,255,.48);
  background:linear-gradient(135deg,rgba(0,50,120,.52),rgba(0,12,45,.7));
  box-shadow:0 0 25px rgba(0,120,255,.22);
  transition:.35s;
}

.card:hover{
  transform:translateY(-8px);
  border-color:#ffd46b;
  box-shadow:0 0 38px rgba(255,210,80,.35);
}

.card-icon{
  font-size:58px;
  color:#11eaff;
  text-shadow:0 0 22px rgba(0,230,255,.8);
}

.card h2{
  font-family:Georgia,serif;
  font-size:28px;
  margin-bottom:8px;
}

.card h3{
  font-size:18px;
  color:#dce8ff;
  margin-bottom:10px;
}

.card p{
  font-size:13px;
  line-height:1.55;
  color:#c5d7ff;
  margin-bottom:16px;
}

.card a{
  display:inline-block;
  padding:8px 22px;
  border:1px solid rgba(0,170,255,.75);
  border-radius:16px;
  color:white;
  text-decoration:none;
  font-size:13px;
}

/* Forms */

.search-box{
  max-width:780px;
  margin:0 auto 45px;
  display:flex;
  gap:14px;
}

.search-box input{
  flex:1;
  padding:18px 22px;
  border-radius:18px;
  border:1px solid rgba(0,170,255,.55);
  background:rgba(5,25,65,.7);
  color:white;
  font-size:18px;
  outline:none;
  box-shadow:0 0 24px rgba(0,120,255,.18);
}

.search-box input::placeholder{
  color:#8fa8d8;
}

.search-box button{
  padding:0 34px;
  border-radius:18px;
  border:1px solid #ffd46b;
  background:#d4af37;
  color:#061225;
  font-weight:700;
  cursor:pointer;
}

/* Dictionary */

.dictionary-grid{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}

.word-card{
  padding:28px;
  border-radius:22px;
  border:1px solid rgba(0,170,255,.42);
  background:rgba(5,25,65,.58);
  box-shadow:0 0 25px rgba(0,120,255,.18);
}

.word-card h2{
  color:#ffd46b;
  margin-bottom:14px;
}

.word-row{
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:10px 0;
  color:#d8e6ff;
}

/* Footer */

footer{
  text-align:center;
  padding:36px;
  color:#a9bdf0;
}

/* Responsive */

@media(max-width:1100px){
  header{
    padding:0 20px;
  }

  .logo-text{
    display:none;
  }

  .cards{
    grid-template-columns:1fr;
  }

  .dictionary-grid{
    grid-template-columns:1fr;
  }

  .page-title h1{
    font-size:42px;
  }
}

@media(max-width:700px){
  .lang{
    gap:8px;
    padding:8px 10px;
  }

  .lang a{
    font-size:12px;
  }

  .search-box{
    flex-direction:column;
  }

  .card{
    grid-template-columns:1fr;
    text-align:center;
  }
}
.chapter-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:22px;
  margin-top:20px;
}

.chapter-card{
  display:block;
  padding:24px;
  border-radius:18px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  text-decoration:none;
  color:white;
  transition:0.3s;
}

.chapter-card:hover{
  transform:translateY(-5px);
  background:rgba(212,175,55,0.16);
  border-color:rgba(212,175,55,0.55);
}

.chapter-card h3{
  color:#d4af37;
  margin-bottom:12px;
}

.chapter-card p{
  color:#dddddd;
  line-height:1.7;
/*---------------- Language Book Template ----------------*/
}.justification-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:20px;
  margin-top:24px;
}

.justification-card{
  padding:22px;
  border-radius:18px;
  background:rgba(212,175,55,0.10);
  border:1px solid rgba(212,175,55,0.35);
}

.justification-card h3{
  color:#d4af37;
  margin-bottom:12px;
}

.justification-card p{
  color:#eeeeee;
  line-height:1.8;
}

.highlight-section{
  border-color:rgba(212,175,55,0.45);
}
  /*----------------------------------------------------------------*/