@font-face{font-family:ZCOOL QingKe HuangYou;src:url(/fonts/zcool.woff2)format("woff2");font-display:swap}:root{--violet:#7b6cff;--violet-hi:#c9bfff;--ink:#120b3d;--display:"ZCOOL QingKe HuangYou", "PingFang SC", "Microsoft YaHei", sans-serif;--ui:-apple-system, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{color:#fff;height:100%;font-family:var(--ui);overscroll-behavior:none;touch-action:manipulation;background:#0d0830;margin:0;overflow:hidden}#app{position:fixed;inset:0;overflow:hidden}#video-layer{z-index:0;background:#000;position:absolute;inset:0;overflow:hidden}#video-layer:empty{display:none}.ar-video{object-fit:cover;position:absolute}#backdrop{z-index:1;pointer-events:none;transition:background .6s;position:absolute;inset:0}#gl{z-index:2;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#ui{z-index:3;pointer-events:none;position:absolute;inset:0}#ui>*{pointer-events:auto}#ui .pass{pointer-events:none}#ui .pass>*{pointer-events:auto}button{cursor:pointer;border:0;font-family:inherit}.topbar{padding:calc(env(safe-area-inset-top) + 12px) 16px 10px;letter-spacing:1px;color:#ffffffe6;text-shadow:0 1px 6px #0006;pointer-events:none;justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;top:0;left:0;right:0}.topbar .back{left:12px;top:calc(env(safe-area-inset-top) + 6px);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#140c4673;border-radius:50%;width:36px;height:36px;font-size:20px;line-height:36px;position:absolute}.landing .banner{writing-mode:vertical-rl;font-family:var(--display);color:#fff;text-shadow:0 0 12px #b9a8ff,0 0 28px #7b6cff;letter-spacing:8px;background:linear-gradient(#7864ff59,#3c28c826);border:2px solid #d2c8ffd9;padding:18px 10px;animation:4s infinite flick;position:absolute;top:12%;box-shadow:0 0 24px #9682ffcc,inset 0 0 18px #aa96ff80}.landing .banner.b1{font-size:44px;left:12%}.landing .banner.b2{font-size:38px;animation-delay:1.3s;top:30%;right:12%}.landing .title{text-align:center;font-family:var(--display);letter-spacing:6px;color:var(--violet-hi);text-shadow:0 0 10px #7b6cff;font-size:20px;position:absolute;bottom:30%;left:0;right:0}.landing .enter{color:#fff;letter-spacing:4px;width:150px;height:150px;font-size:18px;font-family:var(--display);background:radial-gradient(circle,#7b6cff59,#7b6cff00 70%);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:17%;left:50%;transform:translate(-50%)}.landing .enter:before,.landing .enter:after{content:"";border:2px solid #c8beffe6;border-radius:50%;animation:2s infinite pulse;position:absolute;inset:30px;box-shadow:0 0 16px #7b6cff}.landing .enter:after{animation-delay:1s}.landing .foot{left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 18px);text-align:center;color:#dcd7ffb3;font-size:12px;position:absolute}@keyframes pulse{0%{opacity:1;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}@keyframes flick{0%,92%,to{opacity:1}94%{opacity:.5}96%{opacity:1}97%{opacity:.6}}.scan{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:absolute;inset:0}.scan.hidden{opacity:0}.scan .frame{aspect-ratio:2/3;width:62vw;max-width:300px;position:relative}.scan .frame i{filter:drop-shadow(0 0 6px #7b6cff);border:3px solid #bfb3ff;width:34px;height:34px;position:absolute}.scan .frame i:first-child{border-bottom:0;border-right:0;top:0;left:0}.scan .frame i:nth-child(2){border-bottom:0;border-left:0;top:0;right:0}.scan .frame i:nth-child(3){border-top:0;border-right:0;bottom:0;left:0}.scan .frame i:nth-child(4){border-top:0;border-left:0;bottom:0;right:0}.scan .frame .line{background:linear-gradient(90deg,#0000,#d8d0ff,#0000);height:3px;animation:2.2s ease-in-out infinite scanline;position:absolute;top:0;left:6%;right:6%;box-shadow:0 0 14px #9d8fff}.scan .frame .ghost{opacity:.18;background:url(/marker/card.png) 50%/contain no-repeat;position:absolute;inset:10%}.scan .tip{letter-spacing:1px;text-shadow:0 1px 6px #0009;margin-top:22px;font-size:14px}@keyframes scanline{0%{top:4%}50%{top:94%}to{top:4%}}.dock{left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 22px);flex-wrap:wrap;justify-content:center;gap:12px;padding:0 16px;display:flex;position:absolute}.btn{letter-spacing:1px;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e126e8c;border:1px solid #c8beff99;border-radius:21px;height:42px;padding:0 20px;font-size:14px;box-shadow:0 0 14px #7b6cff73}.btn.primary{background:linear-gradient(90deg,#6a55ff,#9b7bff);border-color:#0000}.btn[hidden]{display:none}.toast{text-align:center;pointer-events:none;background:#0f0a32cc;border-radius:10px;max-width:86vw;padding:10px 16px;font-size:13px;transition:opacity .4s;position:absolute;top:18%;left:50%;transform:translate(-50%)}.loading{letter-spacing:1px;background:#0a0628bf;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:14px;transition:opacity .4s;display:flex;position:absolute;inset:0}.loading .spin{border:3px solid #c8beff40;border-top-color:#c9bfff;border-radius:50%;width:42px;height:42px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08051eb8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal .sheet{text-align:center;background:#1b1452;border:1px solid #c8beff66;border-radius:14px;width:min(86vw,380px);padding:18px}.modal .sheet img{border-radius:8px;width:100%;display:block}.modal .sheet p{color:#dcd7ffd9;font-size:13px;line-height:1.6}.hud-bg{background:radial-gradient(at 50% 45%,#4a4852 0%,#2b2a33 45%,#141318 100%)}.hud{pointer-events:none;position:absolute;inset:0}.hud svg{width:100%;height:100%;position:absolute;inset:0}.big20{background:linear-gradient(160deg,#e6e0ff 0%,#8a7cf0 40%,#4a3bb8 70%,#b3a6ff 100%);color:#0000;filter:drop-shadow(0 6px 18px #503cdc99);white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-family:Archivo Black,Arial Black,Helvetica,sans-serif;font-size:30vmin;font-weight:900;line-height:1;transition:opacity .6s,transform .8s;position:absolute;top:20%;left:50%;transform:translate(-50%,-50%)}.big20 small{vertical-align:1.2em;margin-left:.05em;font-size:.35em}.big20.hide{opacity:0;transform:translate(-50%,-60%)scale(.9)}.hint{left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 20%);text-align:center;letter-spacing:2px;color:#ebe6ffe6;pointer-events:none;font-size:14px;transition:opacity .4s;position:absolute}.hint .hand{width:34px;height:34px;margin:0 auto 10px;animation:1.2s infinite tap;display:block}@keyframes tap{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(6px)scale(.92)}}.card{color:#fff;letter-spacing:1px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));opacity:0;background:linear-gradient(135deg,#6e5aff8c,#321ea08c);border:1px solid #d7cdffd9;padding:10px 14px;font-size:13px;transition:opacity .35s,transform .45s cubic-bezier(.2,1.6,.4,1);position:absolute;transform:scale(.6);box-shadow:0 0 20px #7b6cff99}.card.show{opacity:1;transform:scale(1)}.card.title{transform-origin:50%;text-align:center;width:240px;margin-left:-120px;top:13%;left:50%}.card.title b{font-size:17px;display:block}.card.title span{color:#ddd6ff;font-size:12px}.card.chip{cursor:pointer;pointer-events:auto;color:#3a2bc4;background:#ffffffeb;font-weight:600}.card.chip:after{content:" ›"}.card.chip.c1{top:32%;left:7%}.card.chip.c2{top:36%;right:7%}.card.chip.c3{bottom:26%;left:8%}.card.chip.c4{bottom:29%;right:8%}.popup{opacity:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%);pointer-events:none;z-index:5;background:linear-gradient(160deg,#5f4bffeb,#28198cf2);border:1px solid #d8d0ff;width:min(78vw,320px);padding:20px 18px 18px;transition:opacity .3s,transform .4s cubic-bezier(.2,1.5,.4,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.popup.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.popup h3{color:#3a2bc4;background:#fff;margin:0 0 10px;padding:4px 10px;font-size:16px;display:inline-block}.popup p{color:#eeeaff;margin:0;font-size:13px;line-height:1.7}.popup .x{color:#fff;background:0 0;border:2px solid #fff;width:26px;height:26px;font-size:14px;line-height:20px;position:absolute;top:10px;right:10px}
