/* Học Toán 123 - Homepage synchronization v2.2.4 */
html body.home,
html body.front-page,
html body.home.blog {
  background:#eef3f8!important;
  background-image:none!important;
  color:#1f3249!important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
}
html body.home #container,
html body.front-page #container {
  box-sizing:border-box!important;
  width:min(1180px,calc(100% - 28px))!important;
  max-width:1180px!important;
  margin:18px auto!important;
  border:1px solid #e2e8f0!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 18px 50px rgba(15,35,65,.10)!important;
}
html body.home #main,
html body.front-page #main {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:18px 26px 42px!important;
  background:#f6f8fb!important;
}
html body.home #content,
html body.front-page #content {
  width:100%!important;
  max-width:none!important;
  float:none!important;
  padding:0!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
html body.home .ht123-home,
html body.front-page .ht123-home {background:transparent!important;padding:0!important;}

/* Hero */
.ht123-home-v224 .ht123-home-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin:0 0 18px;
  padding:28px 30px;
  border:1px solid #dfe7f1;
  border-top:4px solid #377cf6;
  border-radius:17px;
  background:linear-gradient(135deg,#fff 0%,#fff 78%,#eef5ff 78%,#eef5ff 100%);
  box-shadow:0 8px 24px rgba(22,49,85,.05);
}
.ht123-home-v224 .ht123-home-kicker,
.ht123-home-v224 .ht123-home-eyebrow{
  display:block;
  color:#2d75e7;
  font-size:10px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:.09em;
}
.ht123-home-v224 .ht123-home-hero h1{
  margin:5px 0 9px;
  color:#19324f;
  font-size:32px;
  line-height:1.16;
  font-weight:820;
  letter-spacing:-.025em;
}
.ht123-home-v224 .ht123-home-hero p{
  max-width:840px;
  margin:0;
  color:#5c6f87;
  font-size:14px;
  line-height:1.65;
}
.ht123-home-v224 .ht123-home-hero-badge{
  display:flex;
  flex:0 0 105px;
  min-height:88px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  border:1px solid #d8e7f7;
  border-radius:15px;
  background:rgba(255,255,255,.9);
  color:#17385d;
  box-shadow:0 8px 22px rgba(29,76,126,.06);
}
.ht123-home-v224 .ht123-home-hero-badge strong{font-size:32px;line-height:1;font-weight:850;color:#1769aa;}
.ht123-home-v224 .ht123-home-hero-badge span{margin-top:5px;font-size:11px;font-weight:720;color:#6c7e92;}

/* Section cards */
.ht123-home-v224 .ht123-home-block{
  margin:16px 0 0;
  padding:21px;
  border:1px solid #dfe6ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(20,45,78,.04);
}
.ht123-home-v224 .ht123-home-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 16px;
  padding:0 0 13px;
  border:0;
  border-bottom:1px solid #e7edf4;
}
.ht123-home-v224 .ht123-home-title-copy{display:flex;align-items:center;gap:11px;min-width:0;}
.ht123-home-v224 .ht123-home-section-icon{
  display:inline-flex;
  width:39px;
  height:39px;
  flex:0 0 39px;
  align-items:center;
  justify-content:center;
  border:1px solid #dce7f3;
  border-radius:11px;
  background:#eef5ff;
  color:#1769aa;
  font-size:19px;
  line-height:1;
}
.ht123-home-v224 .ht123-home-title h2{
  margin:2px 0 0;
  padding:0;
  color:#17304d;
  font-size:22px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.015em;
}
.ht123-home-v224 .ht123-home-title p{
  margin:0;
  padding:6px 10px;
  border:1px solid #dfe6ef;
  border-radius:999px;
  background:#f7f9fc;
  color:#63758a;
  font-size:11px;
  line-height:1;
  font-weight:700;
}
.ht123-home-v224 .ht123-level-secondary .ht123-home-section-icon{background:#eefbf8;color:#11836e;}
.ht123-home-v224 .ht123-level-highschool .ht123-home-section-icon{background:#fff7e8;color:#b86a00;font-family:Georgia,"Times New Roman",serif;font-weight:700;}
.ht123-home-v224 .ht123-resources-block .ht123-home-section-icon{background:#fff1f2;color:#df4350;}
.ht123-home-v224 .ht123-latest-block .ht123-home-section-icon{background:#f2efff;color:#7556d8;}

/* Grade cards */
.ht123-home-v224 .ht123-grade-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.ht123-home-v224 .ht123-grade-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:0;
  border:1px solid #dfe6ef;
  border-top:4px solid #377cf6;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 5px 16px rgba(19,44,76,.045);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.ht123-home-v224 .ht123-grade-card.grade-secondary{border-top-color:#12a589;}
.ht123-home-v224 .ht123-grade-card.grade-highschool{border-top-color:#f0a11b;}
.ht123-home-v224 .ht123-grade-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(19,44,76,.08);}
.ht123-home-v224 .ht123-grade-card-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 14px 11px;
  border-bottom:1px solid #edf1f6;
  background:#fbfcfe;
}
.ht123-home-v224 .ht123-grade-number{
  display:inline-flex;
  width:35px;
  height:35px;
  flex:0 0 35px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#eaf3ff;
  color:#1769aa;
  font-size:15px;
  font-weight:850;
}
.ht123-home-v224 .grade-secondary .ht123-grade-number{background:#e9f8f5;color:#0d806d;}
.ht123-home-v224 .grade-highschool .ht123-grade-number{background:#fff4df;color:#a96200;}
.ht123-home-v224 .ht123-grade-card-heading{min-width:0;flex:1;}
.ht123-home-v224 .ht123-grade-card-kicker{display:block;color:#7b8ca0;font-size:8.5px;font-weight:850;letter-spacing:.08em;}
.ht123-home-v224 .ht123-grade-card h3{margin:2px 0 0;font-size:17px;line-height:1.25;font-weight:800;}
.ht123-home-v224 .ht123-grade-card h3 a{color:#17304d!important;text-decoration:none!important;}
.ht123-home-v224 .ht123-grade-open{
  display:inline-flex;
  width:29px;
  height:29px;
  flex:0 0 29px;
  align-items:center;
  justify-content:center;
  border:1px solid #dfe7f0;
  border-radius:9px;
  background:#fff;
  color:#3b6fa2!important;
  font-size:16px;
  font-weight:800;
  text-decoration:none!important;
}
.ht123-home-v224 .ht123-child-cats{margin:0!important;padding:4px 13px!important;list-style:none!important;}
.ht123-home-v224 .ht123-child-cats li{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:6px 0;
  border-top:1px solid #edf1f6;
}
.ht123-home-v224 .ht123-child-cats li:first-child{border-top:0;}
.ht123-home-v224 .ht123-child-cats li>a{
  display:flex;
  min-width:0;
  flex:1;
  align-items:center;
  gap:7px;
  color:#31506f!important;
  font-size:11.5px;
  line-height:1.35;
  font-weight:650;
  text-decoration:none!important;
}
.ht123-home-v224 .ht123-child-cats li>a:hover{color:#0e5cab!important;}
.ht123-home-v224 .ht123-child-icon{display:inline-block;flex:0 0 18px;font-size:13px;text-align:center;}
.ht123-home-v224 .ht123-child-name{min-width:0;}
.ht123-home-v224 .ht123-child-metric{
  flex:0 0 auto;
  padding:4px 6px;
  border-radius:999px;
  background:#f4f7fa;
  color:#7b8b9d;
  font-size:9.5px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}
.ht123-home-v224 .ht123-grade-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:auto;
  padding:10px 13px;
  border-top:1px solid #edf1f6;
  background:#fbfcfe;
  color:#315a82!important;
  font-size:10.5px;
  font-weight:750;
  text-decoration:none!important;
}
.ht123-home-v224 .ht123-grade-card-footer:hover{background:#f3f8fe;color:#0e5cab!important;}
.ht123-home-v224 .ht123-grade-empty{margin:0;padding:14px;color:#74869a;font-size:11.5px;}

/* Resources */
.ht123-home-v224 .ht123-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.ht123-home-v224 .ht123-resource-link{
  display:flex;
  min-width:0;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
  color:#203952!important;
  text-decoration:none!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.ht123-home-v224 .ht123-resource-link:hover{transform:translateY(-1px);border-color:#bfd0e4;background:#f9fbfe;}
.ht123-home-v224 .ht123-resource-icon{display:inline-flex;width:31px;height:31px;flex:0 0 31px;align-items:center;justify-content:center;border-radius:9px;background:#eef5ff;font-size:15px;}
.ht123-home-v224 .ht123-resource-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px;}
.ht123-home-v224 .ht123-resource-copy strong{overflow:hidden;font-size:11.5px;line-height:1.35;font-weight:750;text-overflow:ellipsis;white-space:nowrap;}
.ht123-home-v224 .ht123-resource-copy small{color:#8391a2;font-size:9.5px;font-weight:650;}
.ht123-home-v224 .ht123-resource-arrow{color:#8da0b5;font-size:16px;}

/* Latest list matches category list style */
.ht123-home-v224 .ht123-post-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 10px!important;margin:0!important;padding:0!important;list-style:none!important;}
.ht123-home-v224 .ht123-post-link{margin:0!important;padding:0!important;list-style:none!important;}
.ht123-home-v224 .ht123-post-link a{
  display:flex!important;
  box-sizing:border-box!important;
  min-height:42px!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 11px!important;
  border:1px solid #e2e8f0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#263b55!important;
  font-size:11.5px!important;
  line-height:1.42!important;
  font-weight:650!important;
  text-decoration:none!important;
}
.ht123-home-v224 .ht123-post-link a:hover{border-color:#b9cceb!important;background:#f7faff!important;color:#0e5cab!important;}
.ht123-home-v224 .ht123-post-dot{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#5d8fd1;}
.ht123-home-v224 .ht123-post-title{min-width:0;flex:1;}
.ht123-home-v224 .ht123-post-arrow{flex:0 0 auto;color:#9aa9b8;}
.ht123-home-v224 .ht123-extra-item{display:none!important;}
.ht123-home-v224 .ht123-list-wrap[data-collapsed="0"] .ht123-extra-item{display:list-item!important;}
.ht123-home-v224 .ht123-show-all{
  display:block;
  margin:14px auto 0!important;
  padding:8px 15px!important;
  border:1px solid #dbe3ee!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#344c68!important;
  font-size:10.5px!important;
  font-weight:700!important;
  cursor:pointer;
}
.ht123-home-v224 .ht123-hide-label{display:none;}
.ht123-home-v224 .ht123-list-wrap[data-collapsed="0"] .ht123-show-label{display:none;}
.ht123-home-v224 .ht123-list-wrap[data-collapsed="0"] .ht123-hide-label{display:inline;}

/* keep shell aligned on home */
html body.home #top-bar,
html body.front-page #top-bar{padding:0!important;}
html body.home .ht123-top-bar-inner,
html body.front-page .ht123-top-bar-inner{padding-left:26px!important;padding-right:26px!important;}
html body.home #ht123-site-footer,
html body.front-page #ht123-site-footer{border-radius:0 0 16px 16px;overflow:hidden;}

@media(max-width:1080px){
  html body.home #container,html body.front-page #container{width:min(100%,calc(100% - 18px))!important;margin:9px auto!important;}
  .ht123-home-v224 .ht123-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:820px){
  html body.home #main,html body.front-page #main{padding:14px 14px 32px!important;}
  .ht123-home-v224 .ht123-home-hero{padding:22px 20px;}
  .ht123-home-v224 .ht123-home-hero h1{font-size:27px;}
  .ht123-home-v224 .ht123-home-hero-badge{display:none;}
  .ht123-home-v224 .ht123-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
  html body.home #container,html body.front-page #container{width:100%!important;margin:0!important;border:0!important;border-radius:0!important;}
  html body.home #main,html body.front-page #main{padding:10px 9px 26px!important;}
  .ht123-home-v224 .ht123-home-hero{padding:20px 16px;}
  .ht123-home-v224 .ht123-home-hero h1{font-size:24px;}
  .ht123-home-v224 .ht123-home-block{padding:15px;}
  .ht123-home-v224 .ht123-home-title{align-items:flex-start;}
  .ht123-home-v224 .ht123-home-title h2{font-size:19px;}
  .ht123-home-v224 .ht123-grade-grid,.ht123-home-v224 .ht123-resource-grid,.ht123-home-v224 .ht123-post-grid{grid-template-columns:1fr!important;}
}
