*{box-sizing:border-box;}
  body{margin:0; background:#1B1533; color:#E8E1F5; font-family:'Be Vietnam Pro',sans-serif; line-height:1.7; position:relative; overflow-x:hidden;}
  .stars, .stars2, .stars3{position:fixed; inset:0; pointer-events:none; z-index:0;}
  .stars{background-image:radial-gradient(1.5px 1.5px at 10% 20%,#fff 99%,transparent),radial-gradient(1.5px 1.5px at 80% 10%,#fff 99%,transparent),radial-gradient(1px 1px at 50% 50%,#fff 99%,transparent),radial-gradient(1px 1px at 30% 80%,#fff 99%,transparent),radial-gradient(1.5px 1.5px at 90% 70%,#fff 99%,transparent); background-repeat:repeat; background-size:250px 250px; animation:twinkle 4s infinite alternate;}
  .stars2{background-image:radial-gradient(1px 1px at 20% 60%,#E4B6C9 99%,transparent),radial-gradient(1px 1px at 70% 40%,#E4B6C9 99%,transparent),radial-gradient(1px 1px at 40% 90%,#E4B6C9 99%,transparent); background-repeat:repeat; background-size:180px 180px; animation:twinkle 6s infinite alternate-reverse;}
  @keyframes twinkle{0%{opacity:.5;} 100%{opacity:1;}}
  .wrap{position:relative; z-index:1; max-width:720px; margin:0 auto;}

  .cover{padding:56px 24px 36px; text-align:center;}
  .eyebrow{font-size:12px; letter-spacing:.25em; color:#A99BC9;}
  .cover-photo{width:180px; height:180px; border-radius:50%; margin:22px auto; position:relative;}
  .cover-photo::before{content:""; position:absolute; inset:-14px; border-radius:50%; border:1px dashed rgba(228,182,201,.4); animation:spin 30s linear infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  .cover-photo img{width:100%; height:100%; object-fit:cover; border-radius:50%; box-shadow:0 0 40px 6px rgba(169,155,201,.35);}
  .cover h1{font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600; font-size:40px; margin:0 0 6px; color:#F3EBFF;}
  .cover p{margin:0; font-size:13.5px; color:#A99BC9;}

  /* ĐẾM NGƯỢC HỌP LỚP */
  .countdown-box{max-width:420px; margin:30px auto 0; text-align:center;}
  .countdown-label{font-size:12.5px; color:#A99BC9; letter-spacing:.1em; margin-bottom:10px;}
  .countdown{display:flex; justify-content:center; gap:10px;}
  .cd-item{background:rgba(255,255,255,.06); border:1px solid rgba(228,182,201,.25); border-radius:10px; padding:10px 14px; min-width:60px;}
  .cd-item strong{display:block; font-family:'Cormorant Garamond',serif; font-size:26px; color:#E4B6C9;}
  .cd-item span{font-size:10px; color:#A99BC9; letter-spacing:.05em;}

  .section{padding:50px 24px 8px;}
  .section h2{font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600; font-size:28px; text-align:center; margin:0 0 4px; color:#F3EBFF;}
  .section .sub{text-align:center; font-size:13px; color:#A99BC9; margin:0 0 34px;}

  /* CHÒM SAO ẢNH */
  .constellation{position:relative; max-width:520px; height:360px; margin:0 auto;}
  .constellation svg{position:absolute; inset:0; width:100%; height:100%;}
  .star-photo{position:absolute; width:78px; height:78px; border-radius:50%; overflow:hidden; border:2px solid rgba(228,182,201,.6); box-shadow:0 0 20px 4px rgba(228,182,201,.25); cursor:pointer; transition:transform .3s;}
  .star-photo:hover{transform:scale(1.12);}
  .star-photo img{width:100%; height:100%; object-fit:cover;}
  .sp1{top:6%; left:10%;} .sp2{top:2%; left:48%;} .sp3{top:20%; right:6%;}
  .sp4{top:52%; left:2%;} .sp5{top:48%; left:38%;} .sp6{top:60%; right:8%;}
  .const-cap{position:absolute; bottom:-26px; left:0; right:0; text-align:center; font-size:12px; color:#A99BC9; font-style:italic;}

  .see-full{text-align:center; margin:44px 0 0;}
  .see-full a{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:15px; color:#E4B6C9; text-decoration:none; border-bottom:1px solid rgba(228,182,201,.5);}

  .notes{max-width:480px; margin:0 auto;}
  .note{background:rgba(255,255,255,.05); border:1px solid rgba(228,182,201,.2); border-radius:12px; padding:16px 18px; margin-bottom:14px;}
  .note p{margin:0 0 8px; font-size:14.5px; font-style:italic; color:#E8E1F5;}
  .note cite{font-family:'Cormorant Garamond',serif; font-size:13px; color:#E4B6C9;}

  .share{margin:56px 24px 30px; padding:36px 24px; text-align:center; border-radius:20px; background:rgba(255,255,255,.05); border:1px solid rgba(228,182,201,.25);}
  .share h2{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:26px; margin:0 0 6px; color:#F3EBFF;}
  .share p{font-size:13px; margin:0 0 18px; color:#A99BC9;}
  #qrcode{background:#fff; display:inline-block; padding:8px; border-radius:10px; margin-bottom:14px;}
  .link-row{display:flex; justify-content:center; gap:8px; flex-wrap:wrap; font-size:13px;}
  .link-row code{background:rgba(228,182,201,.1); padding:6px 12px; color:#E4B6C9; border-radius:20px;}
  .link-row button{background:#E4B6C9; color:#1B1533; border:none; padding:6px 14px; border-radius:20px; font-size:12.5px; font-weight:600; cursor:pointer;}

  .foot{text-align:center; font-size:11.5px; color:#6E63A0; padding:0 20px 40px;}
