:root{--blue:#06477d;--blue2:#1479af;--ink:#143455;--muted:#56697c;--bg:#f2f7fd;--line:#dbe5ef;--gold:#fff0c4;--red:#8e2920;--redbg:#fff0ef;--ok:#145c2e;--okbg:#e9f7ee}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
header{background:var(--blue);color:#fff}header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px}
.brand{color:#fff;font-weight:bold;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}nav a,nav .link{color:#fff;text-decoration:none;font-size:15px;background:none;border:0;padding:0;margin:0;width:auto;cursor:pointer;font:inherit}
nav form{margin:0}main{padding:24px 16px 40px}footer{color:var(--muted);font-size:14px;padding:16px;text-align:center}
h1{font-size:28px;line-height:1.25;margin:8px 0 16px}h2{font-size:20px;margin:0 0 10px}
.hero{background:linear-gradient(125deg,var(--blue),var(--blue2));color:#fff;padding:32px 24px;border-radius:20px;margin-bottom:20px}.hero h1{font-size:32px;margin:12px 0 4px}
.slogan{font-weight:bold;letter-spacing:.5px}.tag{display:inline-block;background:var(--gold);color:#6e4c00;padding:6px 14px;border-radius:30px;font-weight:bold;margin:0}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{display:inline-block;background:#f6b93b;color:#3d2a00;font-weight:bold;padding:12px 20px;border-radius:10px;text-decoration:none}
.btn.ghost{background:transparent;color:#fff;border:2px solid #fff}.card .btn{background:var(--blue);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:14px}.center{text-align:center}
.stats .card p{margin:0;color:var(--muted)}.stats .card strong{font-size:26px}
.tags{font-weight:bold;color:var(--blue2);word-break:break-word}.muted{color:var(--muted)}
.code{font-size:40px;font-weight:bold;letter-spacing:3px;color:var(--blue);margin:4px 0}.copy{background:var(--bg);padding:12px;border-radius:10px;font-weight:bold;word-break:break-word;user-select:all}
.form{max-width:560px}label{display:block;margin:14px 0 6px;font-weight:bold}label.check{font-weight:normal;display:flex;gap:10px;align-items:flex-start}
label.check input{width:auto;margin-top:5px}
input,select,textarea{font:inherit;width:100%;padding:11px;border:1px solid #9aabbc;border-radius:8px;background:#fff;color:inherit}
button{font:inherit;cursor:pointer;background:var(--blue);color:#fff;border:0;border-radius:8px;padding:12px 20px;margin-top:18px;font-weight:bold}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 12px}
.inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.inline select{width:auto}.inline button{margin:0}
.stack{display:flex;flex-direction:column;gap:6px}.stack button,.stack input{margin:0;padding:6px 10px;font-size:14px}
.alert{padding:12px;border-radius:8px;background:var(--redbg);color:var(--red)}.alert.ok{background:var(--okbg);color:var(--ok)}
.table{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;background:#fff;font-size:15px}
th,td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:left;vertical-align:top}th{background:var(--bg);white-space:nowrap}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
a{color:#075c91}input:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f6b93b;outline-offset:2px}
@media(max-width:560px){h1{font-size:24px}.hero{padding:24px 18px}.hero h1{font-size:26px}.code{font-size:32px}}
/* ---- Giao diện chính theo mẫu (v2) ---- */
:root{--navy:#14306b;--pink:#e2479b;--pink2:#c2185b;--soft:#f5f8fd}
body{background:#fff}
header{background:var(--navy)}header .wrap{max-width:1240px;padding:18px 24px}
.brand{display:block;font-size:24px;letter-spacing:.3px;line-height:1.2}
.brand .dot{display:inline-block;width:14px;height:14px;border:3px solid #fff;border-radius:50%;margin-right:10px;vertical-align:1px;background:radial-gradient(#fff 35%,transparent 40%)}
.brand .accent{color:#ff6fb5}.brand small{display:block;font-size:14px;font-weight:normal;opacity:.9;margin-top:4px;letter-spacing:0}
main.wrap{max-width:1240px}
.hero2{background:linear-gradient(100deg,#123a78 0%,#1d5aa5 55%,#7a4f9e 78%,var(--pink) 100%);color:#fff;border-radius:22px;padding:32px 34px;margin-bottom:22px}
.hero2 h1{font-size:38px;margin:14px 0 8px;letter-spacing:.5px}.hero2 .lead{font-size:19px;margin:0 0 8px}
.pill{display:inline-block;background:#fde7f3;color:var(--pink2);font-weight:bold;font-size:14px;padding:7px 14px;border-radius:30px;margin:0}
.hashtags{margin:0;font-size:15px}.hashtags .sp{display:inline-block;width:14px}.phase{margin:12px 0 0;font-size:14px;opacity:.9}
.card{border-radius:20px;padding:24px 26px;box-shadow:0 1px 2px rgba(20,48,107,.04)}
.card h2{font-size:22px;color:var(--navy)}
.prizes .head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px}.prizes .total{color:var(--pink2);font-weight:bold;font-size:18px;margin:0}
.prize-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:10px}
.prize{border:1px solid var(--line);border-radius:16px;padding:22px 14px;text-align:center}
.prize.p0{background:linear-gradient(160deg,#fff8dc,#fff)}.prize.p1{background:linear-gradient(160deg,#e8f3ff,#fff)}.prize.p2{background:linear-gradient(160deg,#fff0e0,#fff)}.prize.p3{background:linear-gradient(160deg,#ffe8f3,#fff)}
.prize .icon{font-size:34px;line-height:1}.prize h3{font-size:17px;margin:14px 0 6px;color:var(--navy)}
.prize .gift{color:var(--muted);margin:0 0 8px}.prize .value{color:var(--pink2);font-weight:bold;font-size:24px;margin:0}.prize .range{color:var(--pink2);font-weight:bold;font-size:14px;margin:2px 0 0}
.note{color:var(--muted);font-size:14px;margin:16px 0 0}
.two-col{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:22px;align-items:start}
.two-col .form{max-width:none}.wide{width:100%}.small{font-size:14px}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0 16px}
.mini-stats div{background:var(--soft);border-radius:14px;padding:16px}.mini-stats strong{display:block;font-size:28px;color:#1d5aa5}.mini-stats span{color:var(--muted);font-size:14px}
.tabs{display:flex;gap:10px;margin:0 0 14px}.tab{padding:10px 20px;border-radius:12px;background:#eef3fb;color:var(--navy);font-weight:bold;text-decoration:none}.tab.on{background:#1d5aa5;color:#fff}
table.rank th{background:var(--soft);color:var(--muted);font-weight:bold}table.rank tr.top1 td{background:#fffaf0}table.rank tr.top1 td:first-child::before{content:'🥇 '}
table.rank tr.top2 td:first-child::before{content:'🥈 '}table.rank tr.top3 td:first-child::before{content:'🥉 '}
.more{text-align:right;margin:12px 0 0}.empty{padding:20px 0;text-align:center}.narrow{max-width:620px;margin:0 auto}
.how ol{padding-left:20px}
@media(max-width:860px){.two-col{grid-template-columns:1fr}.hero2 h1{font-size:28px}.hero2{padding:24px 20px}.brand{font-size:19px}}
@media(max-width:480px){.mini-stats strong{font-size:22px}.tab{padding:8px 14px}}
/* ---- Trang khách: thiết kế cho điện thoại (v3) ---- */
body.pub{background:#f4f7fc;padding-bottom:calc(70px + env(safe-area-inset-bottom))}
body.pub main.wrap,body.pub footer.wrap{max-width:560px;padding-left:14px;padding-right:14px}
body.pub main.wrap{padding-top:14px;padding-bottom:20px}
body.pub header{position:sticky;top:0;z-index:20}
body.pub header .wrap{max-width:560px;padding:10px 16px}
body.pub .brand{font-size:17px;letter-spacing:.2px}
body.pub .brand .dot{width:10px;height:10px;border-width:2px;margin-right:7px}
body.pub .brand small{font-size:12px;margin-top:2px}
body.pub h1{font-size:22px}
body.pub .card{border-radius:18px;padding:18px 16px;margin-bottom:14px}
body.pub .card h2{font-size:18px;margin-bottom:12px}
/* Khung tiêu đề */
body.pub .hero2{border-radius:20px;padding:20px 18px;margin-bottom:14px}
body.pub .hero2 h1{font-size:26px;line-height:1.2;margin:12px 0 6px}
body.pub .hero2 .lead{font-size:16px}
body.pub .pill{font-size:13px;padding:6px 12px}
body.pub .hashtags{font-size:13px;line-height:1.8}.hashtags .sp{width:10px}
.cta2{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px}
.btn-main,.btn-ghost{display:block;text-align:center;font-weight:bold;font-size:17px;padding:14px;border-radius:14px;text-decoration:none}
.btn-main{background:#fff;color:var(--pink2);box-shadow:0 4px 14px rgba(0,0,0,.15)}
.btn-ghost{color:#fff;border:2px solid rgba(255,255,255,.85)}
/* Thống kê */
body.pub .mini-stats{gap:8px;margin:0 0 14px}
body.pub .mini-stats div{background:#fff;border:1px solid var(--line);padding:12px 8px;text-align:center}
body.pub .mini-stats strong{font-size:24px}body.pub .mini-stats span{font-size:12px}
/* Giải thưởng: 2 cột */
body.pub .prizes .head{flex-direction:column;gap:2px}body.pub .prizes .total{font-size:16px}
body.pub .prize-grid{grid-template-columns:1fr 1fr;gap:10px}
body.pub .prize{padding:14px 8px;border-radius:14px}
body.pub .prize .icon{font-size:28px}body.pub .prize h3{font-size:13px;margin:8px 0 4px}
body.pub .prize .gift{font-size:12px;margin-bottom:4px}body.pub .prize .value{font-size:17px}body.pub .prize .range{font-size:12px}
body.pub .note{font-size:13px}
/* Lọc Ảnh/Video */
body.pub .tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
body.pub .tab{text-align:center;padding:10px 6px}
/* Bảng xếp hạng dạng thẻ */
.rank-list{list-style:none;margin:0;padding:0}
.rank-list li{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line)}
.rank-list li:last-child{border-bottom:0}
.rank-list li.top1{background:#fffaf0;border-radius:12px;padding:12px 8px}
.rank-list .badge{flex:0 0 36px;height:36px;border-radius:50%;background:#eef3fb;color:var(--navy);font-weight:bold;display:flex;align-items:center;justify-content:center;font-size:15px}
.rank-list .top1 .badge,.rank-list .top2 .badge,.rank-list .top3 .badge{background:none;font-size:26px}
.rank-list .who{flex:1;min-width:0;display:flex;flex-direction:column}
.rank-list .who strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-list .who small,.rank-list .pts small{color:var(--muted);font-size:12px}
.rank-list .pts{text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.rank-list .pts strong{font-size:18px;color:#1d5aa5;line-height:1.1}
.rank-list .pts em{font-style:normal;font-size:11px;font-weight:bold;color:var(--pink2);background:#fde7f3;border-radius:20px;padding:2px 8px;margin-top:3px;white-space:nowrap}
/* Bài của tôi */
.entry-list{list-style:none;margin:0;padding:0}
.entry-list li{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:10px}
.entry-list .row1{display:flex;justify-content:space-between;align-items:center;gap:8px}
.entry-list .status{font-weight:bold;font-size:14px;padding:3px 10px;border-radius:20px;background:#eef3fb}
.entry-list .st-valid .status{background:var(--okbg);color:var(--ok)}
.entry-list .st-invalid .status,.entry-list .st-duplicate .status,.entry-list .st-unreachable .status,.entry-list .st-disqualified .status{background:var(--redbg);color:var(--red)}
.entry-list .reason{font-size:14px;color:var(--red);margin:6px 0 0}.entry-list .metrics{margin:6px 0;color:var(--muted)}
/* Form dễ bấm trên điện thoại (chữ 16px tránh tự phóng to trên iPhone) */
body.pub input,body.pub select,body.pub textarea{font-size:16px;min-height:48px;border-radius:12px}
body.pub button{min-height:50px;border-radius:14px;font-size:17px;width:100%}
body.pub .form{max-width:none}body.pub label{font-size:15px}
body.pub .code{font-size:36px}
/* Thanh điều hướng đáy màn hình */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;background:#fff;border-top:1px solid var(--line);
  box-shadow:0 -4px 16px rgba(20,48,107,.08);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.bottom-nav a{flex:1;max-width:112px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted);text-decoration:none;padding:4px 0;border-radius:10px}
.bottom-nav a span{font-size:21px;line-height:1.1}
.bottom-nav a.on{color:var(--navy);font-weight:bold;background:#eef3fb}
body.pub footer{font-size:12px;padding-bottom:12px}

/* Quản trị: thẻ bấm được, bộ lọc người tham gia */
a.card{display:block;color:inherit;text-decoration:none}a.card:hover{border-color:var(--brand,#14306b)}
.stats a.card small{display:block;color:var(--muted);margin-top:4px}
.filters input{min-width:220px}
.btn-link{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #c9d3e6;border-radius:8px;text-decoration:none;font-weight:600}
form.care{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:260px;margin:0}
form.care select,form.care input{min-height:36px;padding:6px 8px;font-size:14px}form.care input{flex:1;min-width:140px}
form.care button{min-height:36px;padding:6px 12px}form.care small{flex-basis:100%;color:var(--muted)}

/* ---- Nhận diện Ánh Ngân, giao diện sáng (v5): hồng + xanh pastel, xanh đậm lấy từ logo ----
   Font: Montserrat (tiêu đề) + Be Vietnam Pro (nội dung) */
body.pub{--an-blue:#1683C6;--an-deep:#0E4F86;--an-sky:#E6F4FD;--an-sky2:#CDE9FA;--an-pink:#E64C93;--an-pink2:#C92F78;--an-blush:#FDE8F2;--an-line:#DCEAF5;
  --navy:#0E4F86;--pink2:#C92F78;
  background:linear-gradient(180deg,#F2F9FF 0%,#FFF5FA 100%) fixed;color:var(--an-deep);font-family:'Be Vietnam Pro',Arial,Helvetica,sans-serif}
body.pub h1,body.pub h2,body.pub h3,body.pub .brand2 b,body.pub .code,body.pub .prize .value,body.pub .mini-stats strong{font-family:Montserrat,'Be Vietnam Pro',Arial,sans-serif}
/* Đầu trang trắng, logo thật, viền hồng–xanh */
body.pub header{background:#fff;color:var(--an-deep);border-bottom:0;box-shadow:0 2px 14px rgba(14,79,134,.08);position:sticky}
body.pub header::after{content:'';display:block;height:4px;background:linear-gradient(90deg,var(--an-blue),#7CC6F2 45%,#F59AC4 60%,var(--an-pink))}
body.pub header .wrap{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px}
.brand2{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--an-deep)}
.brand2 .bt{display:flex;flex-direction:column;line-height:1.1}
.brand2 b{font-size:21px;font-weight:800;letter-spacing:1px;color:var(--an-blue)}
.brand2 small{font-size:11px;color:var(--an-pink2);font-weight:700;letter-spacing:.3px;margin-top:3px}
.brand2 .logo-img{flex:0 0 48px;width:48px;height:48px;object-fit:contain;border-radius:50%;background:#fff}
.hd-camp{font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:10px;letter-spacing:.6px;color:#fff;background:linear-gradient(135deg,var(--an-pink),#F27BB0);
  border-radius:20px;padding:6px 9px;text-align:center;line-height:1.25;max-width:96px;flex:0 0 auto;box-shadow:0 3px 10px rgba(230,76,147,.3)}
/* Khung tiêu đề: nền xanh pastel chuyển hồng pastel, chữ xanh đậm, điểm nhấn hồng */
body.pub .hero2{background:linear-gradient(150deg,#DDF0FC 0%,#EEF7FE 45%,#FDE6F1 100%);color:var(--an-deep);border:0;
  box-shadow:0 12px 30px rgba(22,131,198,.16);position:relative;overflow:hidden}
body.pub .hero2::before{content:'';position:absolute;left:-50px;bottom:-70px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(22,131,198,.20),rgba(22,131,198,0) 70%);pointer-events:none}
body.pub .hero2::after{content:'';position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(230,76,147,.25),rgba(230,76,147,0) 70%);pointer-events:none}
body.pub .hero2>*{position:relative;z-index:1}
.kicker{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--an-pink2)}
.kicker span{font-family:Montserrat,Arial,sans-serif;font-weight:800;color:var(--an-blue);font-size:14px;letter-spacing:1.5px}
body.pub .pill{background:#fff;color:var(--an-pink2);box-shadow:0 2px 8px rgba(230,76,147,.15)}
body.pub .hero2 h1{color:var(--an-deep);font-weight:800}
body.pub .hero2 h1{background:linear-gradient(90deg,var(--an-deep),var(--an-blue) 55%,var(--an-pink2));-webkit-background-clip:text;background-clip:text;color:transparent}
body.pub .hero2 .lead{color:#2E5577}
body.pub .hashtags{color:var(--an-pink2);font-weight:700}
body.pub .phase{color:#4D6B86;opacity:1}
body.pub .btn-main{background:linear-gradient(135deg,var(--an-pink),#F06BA8);color:#fff;box-shadow:0 8px 18px rgba(230,76,147,.35)}
body.pub .btn-main::after{content:' →';color:#fff}
body.pub .btn-ghost{color:var(--an-blue);border:2px solid var(--an-blue);background:#fff}
.sign{margin:16px 0 0;padding-top:12px;border-top:1px dashed rgba(22,131,198,.3);font-style:italic;color:var(--an-blue);font-weight:500;font-size:14px;text-align:center}
/* Thẻ nội dung */
body.pub .card{background:#fff;border-color:var(--an-line);box-shadow:0 4px 16px rgba(14,79,134,.06)}
body.pub .card h2{color:var(--an-deep);font-weight:800}
body.pub .mini-stats div{background:#fff;border-color:var(--an-line);border-top:4px solid var(--an-blue)}
body.pub .mini-stats div:nth-child(2){border-top-color:#7CC6F2}
body.pub .mini-stats div:nth-child(3){border-top-color:var(--an-pink)}
body.pub .mini-stats strong{color:var(--an-blue)}
body.pub .mini-stats div:nth-child(3) strong{color:var(--an-pink)}
body.pub .prizes .total{color:var(--an-pink2)}
body.pub .prize{border-color:var(--an-line)}
body.pub .prize.p0{background:linear-gradient(160deg,#FFE0EE,#fff);border:2px solid var(--an-pink)}
body.pub .prize.p1{background:linear-gradient(160deg,#D9EEFC,#fff);border:2px solid #7CC6F2}
body.pub .prize.p2{background:linear-gradient(160deg,var(--an-sky),#fff)}
body.pub .prize.p3{background:linear-gradient(160deg,var(--an-blush),#fff)}
body.pub .prize h3{color:var(--an-deep)}
body.pub .prize .value,body.pub .prize .range{color:var(--an-pink2)}
body.pub .tab{background:var(--an-sky);color:var(--an-deep)}body.pub .tab.on{background:var(--an-blue);color:#fff}
body.pub .rank-list li{border-color:var(--an-line)}
body.pub .rank-list li.top1{background:linear-gradient(90deg,#FFE8F2,#fff)}
body.pub .rank-list .badge{background:var(--an-sky);color:var(--an-deep)}
body.pub .rank-list .pts strong{color:var(--an-blue)}
body.pub .rank-list .pts em{color:var(--an-pink2);background:var(--an-blush)}
body.pub button{background:var(--an-blue)}
body.pub a{color:var(--an-blue)}
body.pub .code{color:var(--an-pink2)}
body.pub .copy{background:var(--an-sky)}
body.pub input,body.pub select,body.pub textarea{border-color:#B9D6EA}
body.pub input:focus-visible,body.pub select:focus-visible,body.pub textarea:focus-visible,body.pub a:focus-visible,body.pub button:focus-visible{outline:3px solid #F59AC4}
/* Chân trang thương hiệu */
.pub-foot{text-align:center;color:#4D6B86;line-height:1.5}
.pub-foot p{margin:2px 0}
.pub-foot .f-brand{font-family:Montserrat,Arial,sans-serif;font-weight:800;color:var(--an-blue);letter-spacing:1px;font-size:13px}
.pub-foot .f-slogan{color:var(--an-pink2);font-weight:700;letter-spacing:.8px;font-size:11px;margin-bottom:6px}
.pub-foot a{color:var(--an-deep);font-weight:700;text-decoration:none}
/* Thanh điều hướng đáy */
body.pub .bottom-nav{border-top:0;box-shadow:0 -4px 16px rgba(14,79,134,.10)}
body.pub .bottom-nav a.on{color:var(--an-pink2);background:var(--an-blush)}
@media(max-width:400px){.brand2 b{font-size:18px}.brand2 small{font-size:10px}.brand2{gap:8px}.brand2 .logo-img{flex-basis:42px;width:42px;height:42px}}
@media(max-width:360px){.hd-camp{display:none}}

/* ---- Trang chủ theo mẫu mới (v6): xanh dương + hồng, minh hoạ cúp & quà ---- */
body.pub{background:linear-gradient(180deg,#EEF7FF 0%,#F7FBFF 40%,#FFF4F9 100%) fixed}
body.pub header::after{display:none}
body.pub header .wrap{max-width:1080px}
.top-nav{display:none}
.btn-join{flex:0 0 auto;background:linear-gradient(135deg,#F0458F,#F772B0);color:#fff!important;font-weight:700;font-size:14px;padding:9px 14px;border-radius:24px;
  text-decoration:none;box-shadow:0 4px 12px rgba(240,69,143,.35);white-space:nowrap}
/* Khung tiêu đề xanh, chữ trắng + hồng */
.hero3{position:relative;overflow:hidden;border-radius:22px;margin:0 0 -26px;padding:22px 18px 46px;color:#fff;
  background:radial-gradient(120% 90% at 85% 10%,#63B9F4 0%,rgba(99,185,244,0) 60%),linear-gradient(160deg,#0F5FC2 0%,#1C7BDA 45%,#4AA8EE 100%)}
.hero3 .camp-pill{display:inline-block;margin:0 0 12px;background:linear-gradient(135deg,#F0458F,#F772B0);color:#fff;font-family:Montserrat,Arial,sans-serif;
  font-weight:800;font-size:12px;letter-spacing:.6px;padding:6px 14px;border-radius:20px;box-shadow:0 4px 12px rgba(240,69,143,.35)}
.hero3 h1{margin:0 0 10px;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:31px;line-height:1.15;text-shadow:0 2px 0 rgba(10,60,130,.25)}
.hero3 h1 span{display:block}.hero3 h1 .hl{color:#FF7DB8;-webkit-text-stroke:1px #fff;paint-order:stroke fill}
.hero3 .lead{margin:0 0 12px;font-size:16px;color:#EAF5FF}
.hero3 .date-pill{display:inline-block;margin:0;background:#fff;color:#0E4F86;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:16px;padding:8px 16px;border-radius:24px}
.hero3 .phase{margin:8px 0 0;font-size:13px;color:#DCEEFF}
.hero3 .cta2{margin-top:16px}
.hero3 .btn-main{background:linear-gradient(135deg,#F0458F,#F772B0);color:#fff;box-shadow:0 8px 18px rgba(240,69,143,.4)}
.hero3 .btn-main::after{content:none}
.hero3 .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:2px solid rgba(255,255,255,.85)}
.hero-art{display:block;width:100%;max-width:420px;height:auto;margin:16px auto 0;border-radius:16px;
  -webkit-mask-image:radial-gradient(ellipse 75% 75% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 75% 75% at 50% 50%,#000 60%,transparent 100%)}
/* Dải 3 con số */
.key-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:18px;margin:0 6px 22px;
  box-shadow:0 10px 26px rgba(14,79,134,.14);padding:12px 4px}
.key-stats>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:0 4px}
.key-stats>div+div{border-left:1px solid #E2EDF7}
.key-stats .ic{font-size:22px}
.key-stats p{margin:0;font-size:12px;color:#0E4F86;font-weight:700;line-height:1.25}
.key-stats strong{display:block;font-family:Montserrat,Arial,sans-serif;font-weight:800;color:#E6338A;font-size:17px}
.key-stats small{display:block;font-size:11px;color:#4D6B86;font-weight:600}
/* Tiêu đề Thể lệ */
.rules-head{text-align:center;margin:6px 0 16px}
.rules-head h2{font-family:Montserrat,Arial,sans-serif;font-weight:800;color:#0E3F7A;font-size:26px;margin:0 0 8px}
.rules-head .sub{display:inline-block;margin:0;background:#FDE3EF;color:#D92E7E;font-weight:700;font-size:13px;padding:6px 14px;border-radius:20px}
.rules-head .sub i{font-style:normal;margin:0 4px}
.rules-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
.rules-grid .card{margin:0}
.ribbon{display:inline-flex;align-items:center;gap:8px;margin:-2px 0 14px -16px;color:#fff;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:16px;
  padding:8px 18px 8px 12px;border-radius:0 24px 24px 0}
.ribbon.blue{background:linear-gradient(90deg,#0F5FC2,#2D8BE0)}.ribbon.pink{background:linear-gradient(90deg,#E6338A,#F772B0)}
/* 3 bước */
.steps{list-style:none;margin:0 0 14px;padding:0}
.steps li{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #E6EEF6}
.steps li:last-child{border-bottom:0}
.steps .no{flex:0 0 38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#1C7BDA,#0F5FC2);color:#fff;font-family:Montserrat,Arial,sans-serif;
  font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #DCEEFC}
.steps .pic{flex:0 0 34px;font-size:28px;line-height:38px;text-align:center}
.steps strong{display:block;color:#0E3F7A;font-size:15px}.steps p{margin:2px 0 0;font-size:13px;color:#4D6B86}
.score-box,.tag-box{border-radius:16px;padding:14px;margin-top:12px}
.score-box{background:linear-gradient(160deg,#E8F4FE,#F4FAFF)}
.tag-box{border:1px solid #E2EDF7}
.score-box h3,.tag-box h3{margin:0 0 10px;color:#0E3F7A;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:17px}
.chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:0}
.chips span{background:#fff;border:1px solid #BFDDF5;border-radius:20px;padding:6px 10px;font-weight:700;color:#0E3F7A;font-size:13px}
.chips b{color:#E6338A}.chips i{font-style:normal;font-weight:800;color:#0E3F7A}
.bonus{text-align:center;margin:10px 0 6px}.bonus span{display:inline-block;background:#FDE3EF;color:#D92E7E;font-weight:800;border-radius:20px;padding:6px 14px;font-size:14px}
.score-box .small{text-align:center;margin:0}
.hash{color:#E6338A;font-size:20px}
.tag-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.tag-chips span{background:#E8F4FE;color:#0F5FC2;font-weight:700;font-size:13px;padding:5px 10px;border-radius:10px}
body.pub .btn-copy{display:block;width:auto;min-height:40px;margin:0 auto;padding:8px 18px;font-size:14px;border-radius:20px;background:#fff;color:#E6338A;border:2px solid #F59AC4}
body.pub .btn-copy:hover{background:#FFF0F7}
/* Cơ cấu giải */
.prizes2{text-align:center}
.prizes2 .ribbon{text-align:left}
.prizes2 .big-title{margin:0;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-style:italic;color:#0E3F7A;font-size:26px}
.prizes2 .total{margin:2px 0 14px;font-family:Montserrat,Arial,sans-serif;font-weight:800;color:#E6338A;font-size:18px}
.prize-top{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#0B4FA8,#1C7BDA);border-radius:18px;padding:12px 12px 12px 4px;color:#fff;text-align:center;margin-bottom:12px}
.prize-top img{flex:0 0 110px;width:110px;height:auto;border-radius:12px}
.prize-top>div{flex:1}
.prize-top h4{margin:0;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:18px}
.prize-top .gift{margin:2px 0 8px;color:#DCEEFF;font-size:14px}
.prize-top .value{display:inline-block;margin:0;background:linear-gradient(135deg,#F0458F,#F772B0);border-radius:12px;padding:6px 16px;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:22px}
.prize-top .rank{display:inline-block;margin:8px 0 0;background:#FFD45A;color:#5A3D00;font-weight:800;font-size:13px;padding:3px 14px;border-radius:14px}
.prize-list{list-style:none;margin:0;padding:0}
.prize-list li{display:flex;align-items:center;gap:10px;border:1px solid #E2EDF7;border-radius:14px;padding:10px 12px;margin-bottom:8px;text-align:left;background:#fff}
.prize-list .ic{font-size:26px}
.prize-list .nm{flex:1;min-width:0}.prize-list .nm strong{display:block;color:#0E3F7A;font-size:14px}.prize-list .nm small{color:#4D6B86;font-size:12px}
.prize-list .vl{text-align:right;border-left:1px solid #E2EDF7;padding-left:10px}
.prize-list .vl strong{display:block;color:#E6338A;font-size:14px;white-space:nowrap}
.prize-list .vl span{display:inline-block;margin-top:3px;background:#FDE3EF;color:#D92E7E;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap}
.prizes2 .note{text-align:left}
/* Lưu ý */
.notes{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,#FFF0F7,#F4F8FF);border-radius:20px;padding:16px;margin:14px 0}
.notes img{flex:0 0 64px;width:64px;height:auto}
.notes h3{margin:0 0 8px;color:#0E3F7A;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:17px}
.notes ul{list-style:none;margin:0;padding:0}
.notes li{position:relative;padding-left:24px;margin-bottom:6px;font-size:14px;color:#2E4A66}
.notes li::before{content:'✓';position:absolute;left:0;top:1px;width:17px;height:17px;border-radius:50%;background:#E6338A;color:#fff;font-size:11px;font-weight:800;
  display:flex;align-items:center;justify-content:center}
/* Kêu gọi + Fanpage */
.cta-band{text-align:center;background:linear-gradient(135deg,#E3F2FE,#F7FBFF);border-radius:20px;padding:18px 16px;margin:14px 0}
.cta-band .q{margin:0 0 12px;font-family:Montserrat,Arial,sans-serif;font-weight:800;color:#0E3F7A;font-size:19px}
.cta-band .acts{display:flex;flex-direction:column;align-items:center;gap:10px}
.cta-band .btn-main{background:linear-gradient(135deg,#F0458F,#F772B0);color:#fff;width:100%;max-width:340px}
.cta-band .btn-main::after{content:none}
.link-more{font-weight:700;color:#0F5FC2}
.fb-line{margin:14px 0 0;font-size:14px;color:#4D6B86}
.fb-ic{width:18px;height:18px;vertical-align:-3px}
.fb-inline{display:inline-flex;align-items:center;gap:6px;background:#1877F2;color:#fff!important;font-weight:700;padding:6px 12px;border-radius:18px;text-decoration:none;margin-top:6px}
/* Chân trang xanh đậm */
body.pub .pub-foot2{background:linear-gradient(135deg,#0B3F86,#0F5FC2);color:#fff;margin-top:10px;padding:20px 0 90px;text-align:center}
.pub-foot2 .wrap{max-width:1080px}
.pub-foot2 .f-left{display:flex;align-items:center;justify-content:center;gap:10px}
.pub-foot2 .f-left img{border-radius:50%;background:#fff}
.pub-foot2 p{margin:0}
.pub-foot2 .f-left>div{text-align:left}
.pub-foot2 .f-brand{font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:20px;letter-spacing:1px}
.pub-foot2 .f-sub{font-size:12px;color:#CFE6FF}
.pub-foot2 .f-right{margin-top:12px}
.pub-foot2 .f-slogan{font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:17px;letter-spacing:.5px}
.pub-foot2 .f-promise{font-size:12px;letter-spacing:2px;color:#CFE6FF}
.pub-foot2 .f-info{margin-top:14px;font-size:13px;color:#DCEEFF;line-height:1.7}
.pub-foot2 a{color:#fff;font-weight:700;text-decoration:none}
.pub-foot2 .fb-foot{display:inline-flex;align-items:center;gap:6px;background:#fff;color:#1877F2;padding:6px 14px;border-radius:18px;margin-top:6px}
body.pub{padding-bottom:0}
body.pub main.wrap{padding-bottom:6px}
/* Máy tính: 2 cột như mẫu */
@media(min-width:900px){
  body.pub main.wrap{max-width:1080px;padding-left:24px;padding-right:24px}
  body.pub header .wrap{padding:10px 24px}
  .bottom-nav{display:none}
  body.pub .pub-foot2{padding-bottom:22px}
  .top-nav{display:flex;gap:4px;margin-left:auto}
  .top-nav a{color:#0E3F7A;font-weight:700;text-decoration:none;padding:8px 14px;border-radius:12px}
  .top-nav a:hover{background:#E8F4FE}
  .hero3{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:20px;padding:34px 36px 60px;margin-bottom:-36px}
  .hero3 h1{font-size:46px}.hero3 .lead{font-size:19px}
  .hero3 .cta2{grid-template-columns:auto auto;justify-content:start}
  .hero3 .btn-main,.hero3 .btn-ghost{padding:13px 26px}
  .hero-art{margin:0;max-width:none}
  .key-stats{margin:0 30px 30px;padding:18px 8px}
  .key-stats>div{flex-direction:row;gap:12px;justify-content:center;text-align:left}
  .key-stats .ic{font-size:34px}.key-stats p{font-size:15px}.key-stats strong{font-size:26px;display:inline}.key-stats small{font-size:14px}
  .rules-head h2{font-size:38px}
  .rules-grid{grid-template-columns:1fr 1fr;gap:20px}
  .ribbon{margin-left:-26px}
  .notes{padding:20px 28px}.notes img{flex-basis:110px;width:110px}
  .cta-band{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;padding:22px 30px}
  .cta-band .q{margin:0}.cta-band .acts{flex-direction:row}.cta-band .fb-line{grid-column:1/-1;text-align:center}
  .pub-foot2 .wrap:first-child{display:flex;justify-content:space-between;align-items:center}
  .pub-foot2 .f-right{margin:0;text-align:right}
}
@media(max-width:380px){.btn-join{font-size:12px;padding:8px 10px}.hero3 h1{font-size:27px}.key-stats strong{font-size:15px}}

body.pub .hero3 .phase{color:#DCEEFF}
body.pub .hero3 .btn-main::after,body.pub .cta-band .btn-main::after{content:none}
.brand2 small{white-space:nowrap}
@media(max-width:420px){.brand2 .since{display:none}}

/* Hashtag bắt buộc / khuyến khích */
.tag-chips span.req{background:#FDE3EF;color:#C92F78}
.tag-chips span.req b{font-size:10px;font-weight:800;text-transform:uppercase;margin-left:2px}
.tag-note{margin:0 0 10px}
/* Trang duyệt giải */
tr.rv-ok td{background:#effaf2}tr.rv-no_product td{background:#fff1f0}

/* Trang Thể lệ gọn */
.rule-list{display:grid;gap:12px;margin-bottom:14px}
.rule-card{background:#fff;border:1px solid #E2EDF7;border-radius:18px;padding:14px 16px;box-shadow:0 2px 10px rgba(14,79,134,.05)}
.rule-card h2{margin:0 0 8px;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:17px;color:#0F5FC2}
.rule-card ul{margin:0;padding-left:18px}.rule-card li{margin:4px 0;font-size:15px;color:#24405E}
.rule-card p{margin:6px 0;font-size:15px}
.rule-note{background:#FFF0F7;color:#B32A6C;border-radius:12px;padding:8px 12px;font-size:14px!important}
.rule-prizes{width:100%;border-collapse:collapse;background:transparent}
.rule-prizes td{padding:8px 4px;border-bottom:1px solid #E6EEF6;vertical-align:middle}
.rule-prizes td:last-child{text-align:right;white-space:nowrap}
.rule-prizes small{display:block;color:#4D6B86;font-size:12px}
.rule-prizes td:last-child strong{color:#E6338A}
.rule-total{text-align:center;font-weight:800;color:#0E3F7A;margin:10px 0 0!important}
.more-rules{margin:8px 0 0}.more-rules a{font-weight:700;color:#0F5FC2}
@media(min-width:900px){.rule-list{grid-template-columns:1fr 1fr}.rule-card h2{font-size:18px}}

/* Bài viết mẫu */
.samples{display:grid;gap:12px;margin:12px 0}
.sample{background:#fff;border:1px solid #E2EDF7;border-radius:16px;padding:14px;box-shadow:0 2px 10px rgba(14,79,134,.05)}
.sample-kind{margin:0 0 6px;font-weight:800;color:#E6338A;font-size:14px}
.sample-text{white-space:pre-line;margin:0 0 10px;background:#F4F9FF;border-radius:12px;padding:10px 12px;font-size:15px;color:#1E3A5A;user-select:all}
.sample-steps{margin:0 0 10px;padding-left:20px;font-size:15px}.sample-steps li{margin:4px 0}
.sample-code button{margin-top:10px}
.sample-link{display:inline-block;margin-top:4px;font-weight:700;color:#E6338A!important;font-size:13px}
.center{text-align:center}
@media(min-width:900px){.samples{grid-template-columns:1fr 1fr}}

/* Quản trị bài mẫu */
.sample-edit textarea{min-height:96px}.sort-in{max-width:120px}
.sample-edit .inline button{margin:0}button.danger{background:#b3261e}

/* ---- Quản trị v2: nhận diện Ánh Ngân hồng – xanh ---- */
body.admin{background:#F5F9FF;font-family:'Be Vietnam Pro',Arial,sans-serif}
header.admin-head{background:#fff;color:#0E3F7A;border-bottom:3px solid #E6338A;box-shadow:0 2px 12px rgba(14,79,134,.08)}
header.admin-head .wrap{max-width:1240px;padding:10px 20px;gap:10px}
.brand3{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0E3F7A}
.brand3 img{border-radius:12px}.brand3 b{display:block;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:20px;color:#0F5FC2;letter-spacing:.3px;line-height:1.1}
.brand3 small{display:block;font-size:12px;font-weight:700;color:#E6338A;text-transform:uppercase;letter-spacing:.3px}
.admin-nav{gap:6px}
.admin-nav a,.admin-nav .link{display:inline-flex;align-items:center;gap:6px;color:#24405E!important;background:#EEF5FD;border-radius:999px;padding:8px 13px!important;font-size:14px!important;font-weight:700;text-decoration:none}
.admin-nav a:hover,.admin-nav .link:hover{background:#DCEBFB}
.admin-nav a.on{background:linear-gradient(90deg,#E6338A,#F06BAA);color:#fff!important}
.admin-nav .link{background:#FFF0F7;color:#B32A6C!important}
.admin-hero{background:linear-gradient(110deg,#0F5FC2 0%,#3B8BE0 55%,#F06BAA 100%);color:#fff;border-radius:22px;padding:22px 24px;margin-bottom:18px}
body.admin .admin-hero h1{margin:8px 0 4px;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:30px;color:#fff}
.admin-hero p{margin:0}.ah-pill{display:inline-block;background:rgba(255,255,255,.22);padding:4px 12px;border-radius:999px;font-weight:700;font-size:13px}
.ad-h{font-family:Montserrat,Arial,sans-serif;font-weight:800;color:#0E3F7A;font-size:18px;margin:6px 0 10px}
.todo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:20px}
.todo{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E2EDF7;border-radius:18px;padding:14px;text-decoration:none;color:#1E3A5A;box-shadow:0 2px 10px rgba(14,79,134,.05)}
.todo:hover{border-color:#F06BAA;box-shadow:0 4px 16px rgba(230,51,138,.15)}
.todo .ti{font-size:26px;width:46px;height:46px;display:grid;place-items:center;background:#FFF0F7;border-radius:14px;flex:none}
.todo .tt{flex:1;min-width:0}.todo b{display:block;font-size:15px;color:#0E3F7A}.todo small{display:block;color:#4D6B86;font-size:13px;line-height:1.35}
.todo strong{font-family:Montserrat,Arial,sans-serif;font-size:22px;color:#E6338A}.todo em{font-style:normal;font-weight:800;color:#0F5FC2}
body.admin .card{border-radius:18px;border-color:#E2EDF7;box-shadow:0 2px 10px rgba(14,79,134,.05)}
body.admin .stats .card strong{color:#0F5FC2;font-family:Montserrat,Arial,sans-serif}
body.admin h1{color:#0E3F7A;font-family:Montserrat,Arial,sans-serif;font-weight:800}
body.admin button{background:#0F5FC2;border-radius:12px}body.admin button.danger{background:#b3261e}
body.admin th{background:#EEF5FD;color:#0E3F7A}
@media(max-width:700px){.admin-nav{overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:4px}.admin-nav a,.admin-nav .link{white-space:nowrap}.admin-hero h1{font-size:24px}}

/* ---- Khối sản phẩm Riso Gold 4 ---- */
.product3{display:grid;grid-template-columns:1fr;gap:0;margin:34px 0 22px;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#EAF3FF 0%,#F6FAFF 55%,#fff 100%);border:1px solid #C9DDF7;box-shadow:0 6px 24px rgba(15,76,158,.14)}
.p3-art{background:#fff}.p3-art img{display:block;width:100%;height:100%;object-fit:cover}
.p3-text{padding:20px 18px 22px}
.p3-pill{display:inline-block;margin:0 0 8px;background:linear-gradient(135deg,#F0458F,#F772B0);color:#fff;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:13px;padding:5px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}
.product3 h2{margin:0;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:30px;line-height:1.1;color:#0F4C9E}
.product3 h2 sup{font-size:.55em;color:#0F4C9E}.product3 h2 span{display:block;color:#D99A0B;font-size:.8em;letter-spacing:1px;text-transform:uppercase}
.p3-brand{margin:6px 0 12px;color:#56697c;font-weight:700}
.p3-tags{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.p3-tags li{background:#0F4C9E;color:#fff;border-radius:12px;padding:7px 12px;font-size:13px;line-height:1.25}
.p3-tags li b{display:block;font-family:Montserrat,Arial,sans-serif;font-size:14px;color:#FFD866}
.p3-pack{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.p3-pack figure{margin:0;background:#fff;border:1px solid #F0E3B8;border-radius:16px;padding:8px;text-align:center}
.p3-pack img{display:block;width:100%;height:120px;object-fit:contain}
.p3-pack figcaption{font-size:12.5px;font-weight:700;color:#0E3F7A;margin-top:4px}
.p3-note{margin:0;font-size:14px;color:#56697c}
@media(min-width:760px){.product3{grid-template-columns:1.05fr 1fr}.p3-text{padding:26px 28px}.product3 h2{font-size:36px}.p3-pack img{height:150px}}

/* ---- Logo + chữ ÁNH NGÂN nổi bật ở đầu trang ---- */
.hero-brand{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.hb-logo{flex:none;width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(255,255,255,.35),0 8px 20px rgba(6,40,100,.3)}
.hb-logo img{width:50px;height:50px;object-fit:contain}
.hb-name b{display:block;font-family:Montserrat,Arial,sans-serif;font-weight:900;font-size:34px;line-height:1;letter-spacing:1.5px;color:#fff;
  text-shadow:0 3px 0 #E6338A,0 6px 14px rgba(6,40,100,.35)}
.hb-name small{display:block;margin-top:6px;font-size:13px;font-weight:700;color:#FFE1F0;letter-spacing:.3px}
@media(min-width:760px){.hb-logo{width:76px;height:76px}.hb-logo img{width:60px;height:60px}.hb-name b{font-size:44px}.hb-name small{font-size:14px}}

/* ---- Ảnh poster đầu trang + tiêu đề BÙNG NỔ MINI GAME ---- */
.hero-poster{position:relative;container-type:inline-size;margin:20px 0 0;border-radius:18px;overflow:hidden;border:4px solid rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(6,40,100,.35)}
.hero-poster img{display:block;width:100%;height:auto}
.hp-title{position:absolute;left:4%;top:7.5%;margin:0;font-family:Montserrat,Arial,sans-serif;font-weight:900;line-height:1.08;color:#fff;transform:rotate(-2deg);transform-origin:left top}
.hp-title span{display:block;font-size:8.2cqw;letter-spacing:-.2px;-webkit-text-stroke:.55cqw #0E3F7A;paint-order:stroke fill;text-shadow:0 .7cqw 0 #E6338A,0 1.4cqw 2cqw rgba(14,63,122,.3)}
.hp-title span+span{font-size:7.6cqw;color:#FFE27A}
.hp-title small{display:inline-block;margin-top:1.3cqw;font-size:3.1cqw;font-weight:800;letter-spacing:.3cqw;color:#fff;background:linear-gradient(135deg,#E6338A,#F772B0);padding:1cqw 2.6cqw;border-radius:99px;box-shadow:0 .8cqw 1.6cqw rgba(230,51,138,.35)}
@media(min-width:760px){.hero-poster{margin:0}}

/* ---- Tab Ảnh/Video lọc tại chỗ, địa chỉ trang giữ gọn ---- */
.ktabs>input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ktabs .tab{cursor:pointer;user-select:none}
.ktabs .kp{display:none}
#loai-all:checked~.kp-all,#loai-photo:checked~.kp-photo,#loai-video:checked~.kp-video{display:block}
body.pub #loai-all:checked~.tabs label[for=loai-all],body.pub #loai-photo:checked~.tabs label[for=loai-photo],body.pub #loai-video:checked~.tabs label[for=loai-video]{background:var(--an-blue);color:#fff}
.ktabs>input:focus-visible~.tabs{outline:2px solid #E6338A;outline-offset:3px;border-radius:12px}

/* ---- Bản nghiệm thu v2: mốc thời gian, 3 bước ngắn, trạng thái tra cứu ---- */
.alert.info{background:#EAF5FF;color:#0E4F86;border:1px solid #CDE9FA}
.timeline h2 small{font-size:13px;font-weight:600;color:var(--muted)}
.timeline ol{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
.timeline li{display:flex;align-items:center;gap:10px;background:#F5FAFF;border:1px solid #DCEAF5;border-radius:14px;padding:10px 12px}
.timeline .tl-ic{font-size:20px;flex:none}.timeline b{display:block;color:#0E4F86;font-size:14.5px}.timeline small{display:block;color:#C92F78;font-weight:700;font-size:13.5px}
@media(min-width:760px){.timeline ol{grid-template-columns:repeat(3,1fr)}}
.quick-steps{list-style:none;margin:6px 0 14px;padding:0;display:grid;gap:8px}
.quick-steps li{display:flex;gap:10px;align-items:flex-start;background:#FFF5FA;border-radius:12px;padding:9px 12px;font-size:14.5px}
.quick-steps b{flex:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#E6338A,#F772B0);color:#fff;display:grid;place-items:center;font-size:13px}
.fixed-field{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 4px;background:#F5FAFF;border:1px solid #DCEAF5;border-radius:12px;padding:10px 12px}
.fixed-field span{font-weight:700;color:#0E4F86}.fixed-field strong{display:inline-flex;align-items:center;gap:6px;color:#1877F2}.fixed-field .fb-ic{width:18px;height:18px}
.kt-note{margin:-6px 0 10px}
.entry-list .st-received .status,.entry-list .st-pending .status{background:#EAF5FF;color:#0E4F86}
.entry-list .st-fix .status,.entry-list .st-verifying .status{background:#FFF4D6;color:#8A5A00}
.entry-list .row1 strong small{font-weight:600;font-size:12px;color:var(--muted)}
.preview-bar{position:sticky;top:0;z-index:60;background:repeating-linear-gradient(135deg,#FFE27A 0 14px,#FFD24A 14px 28px);color:#5A3B00;font-weight:800;font-size:13px;text-align:center;padding:6px 10px}

/* ---- Ảnh quà tặng trong thẻ giải thưởng ---- */
.gift-pic{margin:14px auto 0;max-width:420px;text-align:center}.gift-pic img{display:block;width:100%;height:auto;border-radius:14px}.gift-pic figcaption{font-size:.85rem;color:#4a5a7a;margin-top:6px}

/* ==== Giao diện Riso theo mẫu 11/11/2026: hồng – xanh nhạt – vàng kim ==== */
body.pub{background:linear-gradient(180deg,#F4F5FC 0,#FEF9FA 900px,#FBF6FA 100%)}
body.pub .preview-bar{background:linear-gradient(90deg,#FCE7B8,#FCDFA2,#FCE7B8);color:#422000;font-weight:700;letter-spacing:.3px}
body.pub .btn-join{background:linear-gradient(135deg,#F23A78,#E6336E);color:#fff;box-shadow:0 6px 14px rgba(230,51,110,.3)}
/* Đầu trang */
.hero-r{position:relative;display:grid;gap:18px;margin:6px 0 16px;padding:20px 18px 22px;border-radius:24px;border:2px solid #EBD3A6;
  background:radial-gradient(70% 60% at 95% 0%,#BDE2FC 0%,rgba(189,226,252,0) 70%),linear-gradient(125deg,#DFF1FF 0%,#FFF2FB 50%,#FEEAF5 100%);box-shadow:0 10px 30px rgba(214,170,100,.18)}
.hr-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hr-brand{display:flex;align-items:center;gap:10px}.hr-brand img{width:58px;height:58px;border-radius:50%;background:#fff;padding:4px;box-shadow:0 3px 10px rgba(11,42,91,.15)}
.hr-brand b{display:block;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:30px;line-height:1;color:#0B2A5B;letter-spacing:1px}
.hr-brand small{display:block;margin-top:5px;font-size:12px;font-weight:700;color:#C2185B}
.hr-badge{width:96px;height:auto;flex:none}
.hr-promise{margin:6px 0 10px;display:flex;align-items:center;gap:10px;color:#9A6D2F;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:13px;letter-spacing:.4px}
.hr-promise::before,.hr-promise::after{content:"";height:1.5px;width:28px;background:#D7AE6A}
body.pub .hero-r h1{margin:0 0 8px;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:29px;line-height:1.15;color:#0B2A5B}
.hero-r h1 span{display:block}.hero-r h1 .hl{color:#EE4F7E}
.hero-r .lead{margin:0 0 14px;font-size:16px;color:#2B3F63}
.hero-r .date-pill{display:inline-block;margin:0;background:#fff;color:#0B2A5B;border:2px solid #EBD3A6;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:16px;padding:8px 18px;border-radius:999px}
.hero-r .phase{margin:8px 0 0;font-size:13px;color:#56697c}
.hero-r .cta2{display:grid;gap:10px;margin-top:16px}
.hero-r .btn-main,.hero-r .btn-ghost{display:block;text-align:center;border-radius:999px;padding:13px 22px;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:17px;text-decoration:none}
.hero-r .btn-main{background:linear-gradient(135deg,#F23A78,#E6336E);color:#fff;box-shadow:0 8px 18px rgba(230,51,110,.32)}
body.pub .hero-r .btn-main::after,body.pub .hero-r .btn-ghost::after{content:none}
.hero-r .btn-ghost{background:#fff;color:#0B2A5B;border:2px solid #7CB7EC}
.hero-r .hero-poster{margin:0;border:4px solid #fff;outline:2px solid #EBD3A6;border-radius:18px}
/* Ô số liệu */
.stats-r{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 22px;background:#fff;border:2px solid #E9CA9A;border-radius:20px;padding:6px 14px;box-shadow:0 6px 18px rgba(214,170,100,.15)}
.stats-r>div{display:flex;align-items:center;gap:12px;padding:10px 4px}
.stats-r>div+div{border-top:1px solid #F1E2C4}
.stats-r img{width:48px;height:auto;flex:none}
.stats-r p{margin:0;color:#0B2A5B;font-weight:700;font-size:15px}
.stats-r strong{font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:24px;color:#E22761}
.stats-r small{display:block;font-size:14px;color:#0B2A5B}.stats-r small::first-letter{text-transform:uppercase}
/* 3 bước */
.gold-title{display:flex;align-items:center;gap:12px;justify-content:center;text-align:center;margin:4px 0 14px;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:21px;color:#0B2A5B}
.gold-title::before,.gold-title::after{content:"";flex:1;max-width:120px;height:1.5px;background:linear-gradient(90deg,rgba(215,174,106,0),#D7AE6A)}
.gold-title::after{transform:scaleX(-1)}
.steps-r ol{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:16px}
.steps-r li{position:relative;display:flex;align-items:center;gap:12px;padding:22px 14px 16px;border-radius:18px;border:2px solid #fff;box-shadow:0 6px 16px rgba(11,42,91,.08)}
.steps-r li.s-blue{background:#DCF1FC}.steps-r li.s-pink{background:#FDE5F0}
.steps-r .n{position:absolute;top:-10px;left:14px;background:#E6336E;color:#fff;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:13px;padding:3px 10px;border-radius:999px;border:2px solid #FFE3F2}
.steps-r img{width:52px;height:auto;flex:none}
.steps-r b{display:block;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:16px;color:#0B2A5B}
.steps-r small{display:block;margin-top:3px;font-size:13.5px;color:#2B3F63;line-height:1.45}
/* Đăng ký */
.reg-r{border:1px solid #EFE3EA;box-shadow:0 8px 24px rgba(11,42,91,.07)}
.reg-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px}
body.pub .reg-head h2{margin:0;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:20px;color:#0B2A5B}
.reg-chip{display:inline-block;background:#FFF0F6;border:1px solid #F7D3E2;color:#0B2A5B;font-size:13px;padding:4px 12px;border-radius:999px}
.reg-body{display:grid;gap:16px}
.reg-r .alert.info{background:#EEF6FE;color:#0B2A5B;border:0}
.form2 .f2{display:grid;gap:0 14px}
.form2 label{color:#0B2A5B;font-size:14px}
.form2 input,.form2 select{border-radius:10px;border:1px solid #CBD6E6;padding:11px 12px}
.form2 label.check{font-size:13.5px;color:#2B3F63;align-items:flex-start}
body.pub .form2 button.wide{width:100%;background:linear-gradient(135deg,#F23A78,#E6336E);color:#fff;border-radius:999px;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:17px;padding:14px;box-shadow:0 8px 18px rgba(230,51,110,.28)}
.reg-side{display:none;text-align:center;align-self:center}
.reg-side img{width:100%;max-width:230px;height:auto}
.reg-side p{margin:6px 0 0;font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:19px;line-height:1.35;color:#0B2A5B}
.reg-side p::after{content:"";display:block;width:120px;height:6px;margin:6px auto 0;border-bottom:2px solid #D7AE6A;border-radius:0 0 60% 60%}
/* Chân trang */
.pub-foot3{margin-top:24px;padding:26px 0 16px;background:linear-gradient(110deg,#CCE8FE 0%,#F7EEF7 50%,#F3DBEE 100%);text-align:center;color:#2B3F63}
.ft-top{display:flex;flex-direction:column;align-items:center;gap:6px}
.ft-brand{display:flex;align-items:center;gap:10px;margin:0}.ft-brand img{width:54px;height:54px;border-radius:50%;background:#fff;padding:3px}
.ft-brand b{font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:30px;color:#0B2A5B;letter-spacing:1px}
.ft-slogan{display:flex;align-items:center;gap:10px;margin:0;color:#9A6D2F;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:14px;letter-spacing:.4px}
.ft-slogan::before,.ft-slogan::after{content:"";width:34px;height:1.5px;background:#D7AE6A}
.pub-foot3 .f-info{margin-top:14px;font-size:13.5px}.pub-foot3 .f-info p{margin:4px 0}.pub-foot3 a{color:#0B4F9E}
@media(min-width:760px){
  .hero-r{grid-template-columns:1.05fr 1fr;align-items:center;padding:30px 30px 30px 34px}
  .hr-brand img{width:72px;height:72px}.hr-brand b{font-size:40px}.hr-brand small{font-size:14px}.hr-badge{width:130px}
  body.pub .hero-r h1{font-size:clamp(30px,3.3vw,40px)}.hero-r .lead{font-size:18px}
  .hero-r .cta2{grid-template-columns:auto auto;justify-content:start}
  .stats-r{grid-template-columns:repeat(3,1fr);padding:10px 18px}
  .stats-r>div{justify-content:center}.stats-r>div+div{border-top:0;border-left:1px solid #F1E2C4}
  .stats-r strong{font-size:30px}
  .gold-title{font-size:28px}
  .steps-r ol{grid-template-columns:repeat(3,1fr);gap:26px}
  .steps-r li+li::before{content:"»»";position:absolute;left:-22px;top:50%;transform:translateY(-50%);color:#D7AE6A;font-weight:800;letter-spacing:-2px}
  .reg-body{grid-template-columns:1fr 240px}.reg-side{display:block;border-left:1px solid #EFE3EA;padding-left:16px}
  .form2 .f2{grid-template-columns:1fr 1fr}
}
@media(max-width:759px){.hr-brand{gap:8px;min-width:0}.hr-brand img{width:48px;height:48px}.hr-brand b{font-size:24px;white-space:nowrap}.hr-brand small{font-size:11px;white-space:nowrap}.hr-badge{width:74px}body.pub .hero-r h1{font-size:25px}.hero-r .lead{font-size:15px}.hr-promise{font-size:12px}}
@media(max-width:759px){body.pub main .hero-r h1{font-size:23px}}
