/* Trang giới thiệu cuộc thi: nền tối, chữ lớn, hạt sáng. Luôn tối, không theo chế độ hệ thống. */
html.land{--bg:#050a14;--card:rgba(255,255,255,.045);--ink:#eaf2ff;--dim:#8da2bd;--line:rgba(140,190,255,.16);--acc:#27d3ff;--acc2:rgba(39,211,255,.12);--ok:#3be8a0;--bad:#ff7a8a;--warn:#ffc857;--hdr:transparent;--hdrink:#eaf2ff;--mag:#ff3df0;color-scheme:dark}
.land body{background:var(--bg);overflow-x:hidden}
.land .hdr{position:absolute;left:0;right:0;top:0;z-index:5;background:linear-gradient(#050a14cc,transparent)}
.land .brand{color:#fff;font-weight:800;letter-spacing:.6px;text-decoration:none;font-size:17px}.land .brand i{color:var(--acc);font-style:normal}
.signin{background:linear-gradient(90deg,var(--acc),#7a5cff);color:#04101c!important;font-weight:700;border-radius:99px!important;padding:7px 16px!important}
.land main{max-width:none;padding:0}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero canvas{position:absolute;inset:0;width:100%;height:100%}
.hero .in{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:110px 20px 70px;width:100%}
.kicker{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);background:var(--card);border-radius:99px;padding:6px 14px;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;color:var(--acc)}
.kicker b{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}
.hero h1{font-size:clamp(46px,9.5vw,118px);line-height:.95;letter-spacing:-2px;margin:22px 0 18px;font-weight:900}
.hero h1 span{display:block;background:linear-gradient(90deg,#fff 10%,var(--acc) 55%,var(--mag));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{font-size:clamp(17px,2.2vw,22px);color:#b9cae0;max-width:640px;margin:0 0 28px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.land .btn{padding:14px 26px;border-radius:99px;font-size:17px;background:linear-gradient(90deg,var(--acc),#7a5cff);color:#04101c;box-shadow:0 0 30px rgba(39,211,255,.35)}
.land .btn.sec{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.land .btn.sec:hover{border-color:var(--acc);color:var(--acc)}
.stats{display:flex;gap:30px;flex-wrap:wrap;margin-top:44px}
.stats div b{display:block;font-size:34px;font-weight:800;color:#fff}.stats div span{font-size:13px;letter-spacing:1.4px;text-transform:uppercase;color:var(--dim)}
.sec{max-width:1100px;margin:0 auto;padding:70px 20px 10px}
.sec h2{font-size:clamp(28px,4.4vw,46px);letter-spacing:-1px;margin:0 0 8px}.sec h2 em{font-style:normal;color:var(--acc)}
.sec .lead{margin-bottom:28px}
.tracks{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.tk{position:relative;border:1px solid var(--line);border-radius:22px;padding:26px;background:linear-gradient(160deg,rgba(39,211,255,.09),rgba(255,255,255,.02) 55%);overflow:hidden}
.tk.b{background:linear-gradient(160deg,rgba(255,61,240,.1),rgba(255,255,255,.02) 55%)}
.tk svg{position:absolute;right:-18px;top:-10px;width:170px;height:170px;opacity:.22}
.tk h3{font-size:27px;margin:4px 0 8px}.tk .tag{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--acc)}.tk.b .tag{color:var(--mag)}
.tk ul{padding:0;margin:14px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.tk li{border:1px solid var(--line);border-radius:99px;padding:5px 12px;font-size:14px;background:rgba(255,255,255,.04)}
.steps{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));counter-reset:s}
.st{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--card);counter-increment:s}
.st::before{content:"0" counter(s);font:800 38px/1 ui-monospace,Menlo,monospace;background:linear-gradient(90deg,var(--acc),var(--mag));-webkit-background-clip:text;background-clip:text;color:transparent}
.st h3{margin:10px 0 4px;font-size:19px}.st p{margin:0;color:var(--dim);font-size:15px}
.days{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.day{border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--card)}
.day h3{font-size:20px;margin:0 0 12px}.tl{position:relative;margin:0;padding:0 0 0 20px;list-style:none;border-left:2px solid var(--line)}
.tl li{position:relative;padding:0 0 14px 10px}.tl li::before{content:"";position:absolute;left:-27px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--acc);box-shadow:0 0 10px var(--acc)}
.tl b{color:var(--acc);font-variant-numeric:tabular-nums;margin-right:10px}
.rounds{display:flex;gap:10px;flex-wrap:wrap}.rd{border:1px solid var(--line);border-radius:14px;padding:10px 14px;background:var(--card);font-size:14.5px}
.foot{max-width:1100px;margin:70px auto 0;padding:26px 20px 50px;border-top:1px solid var(--line);color:var(--dim);font-size:14px}
.modal{position:fixed;inset:0;z-index:20;background:rgba(2,6,14,.75);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px}
.modal .box{width:min(440px,100%);border:1px solid var(--line);border-radius:22px;padding:26px;background:#0a1424;box-shadow:0 20px 80px rgba(39,211,255,.15)}
.modal input{font-size:26px;letter-spacing:6px;text-align:center;text-transform:uppercase;background:#050a14}
.land .card{background:var(--card);border-color:var(--line)}
.land input,.land select{background:#0a1424;color:var(--ink);border-color:var(--line)}
.land .reg{max-width:640px;margin:0 auto;padding:110px 20px 60px}
@media (prefers-reduced-motion:reduce){.kicker b{animation:none}}
.land.reg main{max-width:680px;margin:0 auto;padding:100px 20px 60px}
