:root{--bg1:#04161f;--bg2:#0b4f6c;--a1:#00e0b0;--a2:#38bdf8;--btxt:#03141c}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:radial-gradient(circle at 20% 10%,var(--bg2),var(--bg1) 70%) fixed}
.wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}
.card{width:min(760px,100%);text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:28px 22px;backdrop-filter:blur(10px);box-shadow:0 20px 60px rgba(0,0,0,.45)}
.hidden{display:none!important}
.badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;padding:6px 12px;border-radius:999px;background:linear-gradient(90deg,var(--a1),var(--a2));color:var(--btxt)}
h1{margin:16px 0 6px;font-size:clamp(26px,5vw,38px)}
.sub{margin:0 0 22px;opacity:.7}
.btn,button{border:0;font:inherit}
.btn{border-radius:14px;padding:15px 30px;font-size:18px;font-weight:700;cursor:pointer;color:var(--btxt);background:linear-gradient(90deg,var(--a1),var(--a2));box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .15s}
.btn:hover{transform:translateY(-2px) scale(1.03)}
.btn:active{transform:scale(.97)}
#landingBtn{animation:glow 2s infinite}
.videoShell{position:relative;background:#000;border-radius:16px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 10px 40px rgba(0,0,0,.5)}
video{width:100%;height:100%;object-fit:contain}
.play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;font-size:32px;cursor:pointer;color:var(--btxt);background:linear-gradient(135deg,var(--a1),var(--a2));animation:pulse 1.6s infinite}
.gate{position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.9),var(--bg2));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.gate p{margin:0;font-size:13px;letter-spacing:.15em;text-transform:uppercase;opacity:.7}
#hint{margin:14px 0 0;opacity:.7;font-size:14px}
.error{color:#ff8a8a}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.45)}70%{box-shadow:0 0 0 22px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@keyframes glow{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.35)}50%{box-shadow:0 8px 34px var(--a1)}}
@media(max-width:600px){.videoShell{aspect-ratio:9/16;max-height:70vh}.card{padding:22px 14px}}
