body{background:#fff;display:grid;place-items:center}
#frame{position:relative;width:1920px;height:1080px;flex:none;transform:scale(var(--s,1));transform-origin:center;overflow:hidden;background:radial-gradient(circle at 15% 10%,#e9fbf7 0,transparent 40%),radial-gradient(circle at 90% 95%,#fff3e8 0,transparent 40%),#fff}
#stage{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 80px;animation:rise .5s both}
.scr{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;text-align:center}
h1{font-size:92px;font-weight:700;line-height:1.2}h2{font-size:64px;font-weight:700}
.sub{font-size:38px;color:var(--mut);font-weight:600}
.big-logo{height:520px}.logos img{height:130px}.logos img.q{height:150px}.logos img.h{height:96px}
.foot{position:absolute;bottom:34px;left:0;right:0}
.qr{background:#fff;padding:22px;border-radius:32px;box-shadow:0 10px 40px #0002;width:380px;height:380px}.qr svg{width:100%;height:100%}
.code{font-size:84px;font-weight:700;letter-spacing:18px;color:var(--tq);direction:ltr}
.fsbtn{position:absolute;top:26px;left:26px;font-size:22px;background:var(--sk)}
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;width:100%}
.mc{border-radius:44px;padding:44px 24px;color:#fff;position:relative;box-shadow:0 14px 34px #0002;animation:pop .5s both}
.mc .ic{font-size:120px}.mc .t{font-size:46px;font-weight:700;margin-top:10px;line-height:1.3}.mc .n{position:absolute;top:18px;right:26px;font-size:44px;background:#fff8;border-radius:50%;width:70px;height:70px;line-height:70px}
.mc.done::after{content:"✅";position:absolute;bottom:14px;left:20px;font-size:60px}
.badge{width:200px;height:200px;border-radius:50%;display:grid;place-items:center;font-size:110px;color:#fff;box-shadow:0 14px 34px #0003}
.topics{display:flex;gap:30px}.topics div{font-size:44px;font-weight:600;padding:22px 40px;border-radius:30px;background:var(--soft);border:4px solid var(--tq)}
#vidwrap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:#fff;z-index:5}
#vtitle{font-size:54px;font-weight:700}
#vbox{width:1420px;height:799px;border-radius:36px;overflow:hidden;box-shadow:0 14px 50px #0004;background:#000}#vbox iframe{width:100%;height:100%}
#vwarn{font-size:32px;font-weight:600;background:#fff3cd;color:#7a5200;padding:14px 30px;border-radius:20px}
.qtop{position:absolute;top:36px;right:80px;left:80px;display:flex;justify-content:space-between;align-items:center;font-size:36px;font-weight:700}
.dots span{display:inline-block;width:26px;height:26px;border-radius:50%;background:#d6e4e8;margin-inline-start:10px}.dots .on{background:var(--tq)}
.qrow{display:flex;gap:60px;width:100%;align-items:center;justify-content:center;margin-top:60px}
.qmain{flex:1;display:flex;flex-direction:column;gap:30px}
.qtext{font-size:68px;font-weight:700;line-height:1.35;text-align:center}
.opt{display:flex;align-items:center;gap:26px;font-size:50px;font-weight:600;padding:24px 34px;border-radius:30px;background:#fff;border:6px solid #d6e4e8;text-align:right;animation:rise .5s both}
.opt b{flex:none;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:46px}
.opt:nth-child(1) b{background:var(--tq)}.opt:nth-child(2) b{background:var(--sk)}.opt:nth-child(3) b{background:var(--or)}
.opt.right{border-color:var(--ok);background:#e8f8ee}.opt.wrong{border-color:var(--bad);background:#fff0e8}.opt.dim{opacity:.4}
.cardbox{flex:none;text-align:center}.cardbox img{height:640px;filter:drop-shadow(0 16px 30px #0004);animation:pop .6s both}
.cardbox .cap{font-size:34px;font-weight:700;margin-top:14px;max-width:420px}
.pulse{animation:pulse 1.4s infinite}
.res{font-size:46px;font-weight:700;padding:22px 34px;border-radius:30px;text-align:center}.res.ok{background:#e8f8ee;color:#0f7a37}.res.no{background:#fff0e8;color:#b8481c}
.res small{display:block;font-size:34px;font-weight:600;color:var(--ink);margin-top:10px}
.stars{font-size:130px;letter-spacing:20px}
#fx span{position:absolute;top:-60px;font-size:54px;animation:fall linear forwards}
