/* 15-second original Loyup film: continuous camera moves with a seekable timeline. */
.lf-player{--lf-cream:#faf7f2;--lf-navy:#192b45;--lf-deep:#14243b;--lf-peach:#ffaa70;--lf-blue:#29476b;--lf-muted:#aeb9ca;position:relative;overflow:hidden;border:1px solid #324561;border-radius:26px;background:var(--lf-deep);box-shadow:0 28px 75px #192b4518;color:var(--lf-cream);isolation:isolate}.lf-viewport{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(ellipse at 72% 52%,#29476b 0,#192b45 38%,#14243b 75%)}.lf-stage{position:absolute;width:1200px;height:675px;top:0;left:50%;transform-origin:top center;overflow:hidden;background:radial-gradient(ellipse at 70% 51%,#29476b 0,#192b45 38%,#14243b 76%);will-change:transform}.lf-grid{position:absolute;inset:-25%;opacity:.13;background-image:linear-gradient(#b9c9dc18 1px,transparent 1px),linear-gradient(90deg,#b9c9dc18 1px,transparent 1px);background-size:65px 65px;transform:perspective(450px) rotateX(60deg) scale(1.35);transform-origin:bottom;mask-image:linear-gradient(transparent 2%,#000 45%,transparent 100%)}.lf-halo{position:absolute;width:680px;height:680px;border:1px solid #ffaa7033;border-radius:50%;left:560px;top:0;box-shadow:0 0 0 42px #ffaa7008,0 0 0 110px #ffaa7005}.lf-logo{position:absolute;top:46px;left:66px;font-size:30px;letter-spacing:-2px;font-weight:700;color:white}.lf-logo span,.lf-outro>div span{color:var(--lf-peach)}.lf-caption{position:absolute;top:61px;right:70px;font-size:10px;letter-spacing:2px;color:#b9c9dc}.lf-shot-title{position:absolute;color:white;width:490px;opacity:0;will-change:transform,opacity}.lf-shot-title small{font-size:10px;letter-spacing:2px;color:var(--lf-peach)}.lf-shot-title h3{font-size:60px;line-height:1.02;letter-spacing:-3px;font-weight:500;margin:19px 0}.lf-shot-title h3 em{color:var(--lf-peach);font-style:normal}.lf-right-title{width:460px}.lf-sector-title h3{font-size:57px}.lf-phone{position:absolute;left:0;top:0;width:280px;height:535px;padding:8px;border:2px solid #8d9cb1;border-radius:48px;background:linear-gradient(130deg,#f8fafc,#8c9db5 13%,#18263a 17%,#192b45 85%,#8092aa);box-shadow:0 32px 95px #050b18b8,0 0 0 1px #ffffff8c;will-change:transform,opacity}.lf-phone-screen{position:relative;width:100%;height:100%;border-radius:39px;overflow:hidden;background:linear-gradient(180deg,#f7f8fa 0%,#e9edf3 100%);color:var(--lf-navy)}.lf-island{position:absolute;z-index:4;left:50%;top:10px;transform:translateX(-50%);width:100px;height:24px;border-radius:30px;background:#111927;color:#f6f7fa;display:grid;place-items:center;font-size:8px;font-weight:600;letter-spacing:.3px}.lf-status{position:relative;z-index:2;display:flex;justify-content:space-between;font-size:11px;font-weight:650;padding:15px 19px 20px}.lf-camera{position:absolute;inset:0;z-index:3;background:linear-gradient(160deg,#1c2839,#070d16);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;transition:opacity .4s}.lf-viewfinder{width:170px;height:170px;padding:13px;position:relative;border:1px solid #ffffff4d;border-radius:18px;background:#fff;box-shadow:0 0 55px #ffaa7055}.lf-viewfinder svg{width:100%;height:100%}.lf-viewfinder i{position:absolute;left:7px;right:7px;top:0;height:2px;background:var(--lf-peach);box-shadow:0 0 12px var(--lf-peach);animation:lf-scan 1.3s ease-in-out infinite alternate}.lf-camera>span{font-size:10px;margin:19px 0}.lf-camera>div:last-child{font-size:9px;color:#dce7f5}.lf-wallet-title{display:flex;justify-content:space-between;padding:25px 18px 11px;font-size:18px;font-weight:650;opacity:0}.lf-wallet-title span{display:grid;place-items:center;border-radius:50%;width:23px;height:23px;background:#dce4ef}.lf-wallet-tabs{padding:0 14px 11px;display:flex;gap:6px;white-space:nowrap;overflow:hidden;opacity:0}.lf-wallet-tabs span{font-size:6px;border-radius:20px;background:white;padding:5px 8px;color:#56647a}.lf-pass{position:relative;margin:0 11px;padding:15px 13px;border-radius:16px;height:301px;background:linear-gradient(135deg,#29476b,#192b45);color:white;box-shadow:0 12px 25px #192b4535;overflow:hidden;opacity:0}.lf-pass:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#ffffff14,transparent 45%);pointer-events:none}.lf-pass-head{display:flex;align-items:center;gap:8px}.lf-pass-head>span{width:28px;height:28px;border-radius:8px;background:#ffffff1c;color:var(--lf-peach);display:grid;place-items:center;font-size:17px}.lf-pass-head>b{font-size:9px;line-height:1.5}.lf-pass-head small{display:block;font-size:5px;letter-spacing:.8px;color:#ffffff9c}.lf-pass-head i{margin-left:auto;font-size:8px;color:var(--lf-peach);font-style:normal}.lf-pass h4{font-size:17px;font-weight:450;line-height:1.15;letter-spacing:-.5px;margin:16px 0 12px}.lf-stamps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;justify-items:center}.lf-dot{width:34px;height:34px;border:1px solid #ffffff45;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:14px;background:#ffffff0d;transition:background .25s,color .25s,transform .12s}.lf-dot.is-filled{background:var(--lf-peach);border-color:var(--lf-peach);color:var(--lf-navy)}.lf-pass-bottom{display:flex;justify-content:space-between;gap:4px;font-size:6px;color:#ffffffd8;margin-top:14px}.lf-pass-bottom b{color:var(--lf-peach)}.lf-pass-qr{width:39px;height:39px;padding:3px;border-radius:4px;background:white;margin:9px auto 0}.lf-pass-qr svg{width:100%;height:100%}.lf-home-indicator{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:87px;height:3px;background:#18243a;border-radius:4px}.lf-tent{position:absolute;left:0;top:0;width:300px;height:400px;perspective:900px;will-change:transform,opacity}.lf-tent-face{position:absolute;inset:0;border-radius:12px;background:linear-gradient(145deg,#fffdf9,#e5e9f0);box-shadow:0 30px 70px #080e1b88;display:flex;align-items:center;flex-direction:column;padding:27px 24px;color:var(--lf-navy);transform:rotateY(-6deg);border:1px solid #ffffffcc}.lf-tent-face>b{font-size:34px;line-height:1.05;letter-spacing:-1.7px;text-align:center;margin:8px 0 18px}.lf-tent-face svg{width:170px;height:170px;filter:drop-shadow(0 8px 15px #192b4520)}.lf-tent-face>span{font-size:7px;letter-spacing:1.6px;color:#536885;margin-top:17px}.lf-tent-face>strong{position:absolute;bottom:20px;font-size:13px}.lf-tent-back{position:absolute;top:32px;left:20px;width:260px;height:335px;border-radius:10px;background:var(--lf-peach);transform:rotate(12deg);box-shadow:0 30px 65px #080e1b66}.lf-tent-foot{position:absolute;bottom:-12px;left:0;width:280px;height:27px;background:#dbe1ea;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);border-radius:0 0 10px 10px}.lf-incoming-card{position:absolute;width:260px;height:315px;left:0;top:0;transform-style:preserve-3d;will-change:transform,opacity}.lf-incoming-card>.lf-pass{margin:0;height:100%;padding:18px}.lf-incoming-card .lf-pass h4{font-size:21px;margin:25px 0 20px}.lf-incoming-card .lf-dot{width:38px;height:38px}.lf-add-pill{position:absolute;left:0;top:0;padding:15px 20px;border-radius:18px;background:#fff;color:var(--lf-navy);box-shadow:0 20px 50px #060c1766;font-size:13px;font-weight:650;opacity:0}.lf-merchant{position:absolute;left:0;top:0;width:440px;min-height:390px;background:#f9f9fb;border:1px solid #d9e0e8;border-radius:17px;box-shadow:0 30px 90px #060c1799;padding:0 25px 24px;color:var(--lf-navy);text-align:center;will-change:transform,opacity}.lf-merchant-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #e8ebef;text-align:left}.lf-merchant-bar b{font-size:17px;letter-spacing:-1px}.lf-merchant-bar b:first-letter{color:#29476b}.lf-merchant-bar>span{font-size:9px;color:#69768a}.lf-merchant-bar i{color:#8ab580;font-size:11px}.lf-merchant>small{display:block;text-align:left;font-size:8px;letter-spacing:1.5px;color:#738097;margin:20px 0 12px}.lf-avatar{margin:auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:#e4e9f1;color:#29476b}.lf-merchant h4{font-size:20px;margin:8px 0 5px;letter-spacing:-.6px}.lf-merchant p{font-size:10px;color:#718097;margin:0 0 14px}.lf-amounts{display:flex;gap:8px;justify-content:center}.lf-amounts span{width:76px;padding:13px 0;border:1px solid #dce2e9;border-radius:9px;font-size:19px;background:#fff}.lf-amounts .lf-one{background:#192b45;color:white;border-color:#192b45}.lf-amounts span:last-child{font-size:11px}.lf-confirm{margin-top:13px;border-radius:9px;padding:13px;background:#192b45;color:white;font-size:10px}.lf-confirm>span{float:right}.lf-cursor{position:absolute;left:0;top:0;font-size:30px;color:#fa9f64;text-shadow:0 3px 8px #192b4533;opacity:0}.lf-validating .lf-one{animation:lf-tap .28s ease 2}.lf-notification{position:absolute;left:0;top:0;display:flex;gap:12px;align-items:center;padding:14px 17px;background:#ffffffed;backdrop-filter:blur(12px);border:1px solid #e4e8ee;border-radius:15px;box-shadow:0 17px 55px #080e1b66;color:var(--lf-navy);width:380px;opacity:0;will-change:transform,opacity}.lf-notification>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#192b45;color:var(--lf-peach)}.lf-notification small{display:block;font-size:7px;letter-spacing:.8px;color:#7a8597}.lf-notification b{display:block;font-size:10px;margin:4px 0}.lf-notification p{font-size:8px;margin:0;color:#758094}.lf-sector{position:absolute;left:0;top:0;width:290px;height:350px;border-radius:16px;background:linear-gradient(145deg,#f7f3ec,#e0e8f2);padding:24px;color:#192b45;box-shadow:0 35px 80px #050b1877;display:flex;flex-direction:column;justify-content:space-between;transform-style:preserve-3d;will-change:transform,opacity}.lf-sector>span{width:47px;height:47px;background:#192b45;color:#ffaa70;border-radius:13px;display:grid;place-items:center;font-size:24px}.lf-sector>small{font-size:7px;letter-spacing:1.3px;color:#708096}.lf-sector h4{font-size:29px;line-height:1.03;font-weight:500;letter-spacing:-1.3px;margin:0}.lf-sector>b{font-size:12px}.lf-sector-b{background:linear-gradient(145deg,#f2e9e5,#f6d7c7)}.lf-sector-b>span{background:#8a513d;color:#ffe5d5}.lf-sector-c{background:linear-gradient(145deg,#edeaf3,#d6dcef)}.lf-sector-c>span{background:#59496d;color:#e7dff5}.lf-outro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at center,#29476b 0,#192b45 53%,#14243b 88%);opacity:0;will-change:transform,opacity}.lf-outro>div{font-size:74px;font-weight:700;letter-spacing:-6px}.lf-outro h3{font-size:36px;font-weight:450;letter-spacing:-1.6px;margin:11px 0 24px}.lf-outro-pill{border:1px solid #ffffff50;border-radius:30px;padding:12px 20px;font-size:10px;color:#f5d8c7}.lf-outro>small{font-size:7px;letter-spacing:2px;color:#b9c9dc;margin-top:32px}.lf-film-note{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8px;letter-spacing:.5px;color:#c9d4e6b0;z-index:5}.lf-cover{position:absolute;inset:0;z-index:8;background:radial-gradient(ellipse at 70% 50%,#29476b 0,#192b45 46%,#14243b 88%);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transition:opacity .35s}.lf-cover[hidden]{display:none}.lf-cover>span{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;padding-left:4px;background:#ffaa70;color:#192b45;font-size:22px;box-shadow:0 0 0 13px #ffaa7024,0 15px 50px #0005;transition:transform .25s}.lf-cover:hover>span{transform:scale(1.09)}.lf-cover>b{font-size:9px;letter-spacing:2px;color:#dce7f5}.lf-controls{height:58px;display:flex;align-items:center;gap:14px;padding:0 18px;background:#14243b}.lf-controls button{border:0;background:transparent;color:#eaf0f7;font-size:14px;width:28px;height:36px;cursor:pointer}.lf-controls output,.lf-controls>span{font-size:9px;color:#aeb9ca;font-variant-numeric:tabular-nums}.lf-controls input{flex:1;appearance:none;height:3px;border-radius:4px;background:linear-gradient(to right,#ffaa70 var(--progress,0%),#53647b var(--progress,0%));cursor:pointer}.lf-controls input::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff2b}.lf-controls input::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff2b}.lf-player:fullscreen{border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;background:#14243b}.lf-player:fullscreen .lf-viewport{max-height:calc(100vh - 58px)}.lf-expanded{position:fixed;z-index:100;inset:15px;display:flex;flex-direction:column;justify-content:center;border-radius:19px}.lf-expanded .lf-viewport{max-height:calc(100vh - 58px)}
@keyframes lf-scan{from{transform:translateY(5px)}to{transform:translateY(155px)}}@keyframes lf-tap{50%{scale:.95}}
@media(max-width:760px){.lf-player{border-radius:18px}.lf-controls{height:50px;padding:0 12px;gap:9px}.lf-logo{top:22px;left:25px}.lf-caption{top:31px;right:25px;font-size:7px}.lf-shot-title small{font-size:8px}.lf-shot-title h3{font-size:53px}.lf-cover>span{width:57px;height:57px;font-size:17px}.lf-cover>b{font-size:7px}.lf-controls output,.lf-controls>span{font-size:8px}.lf-controls button{width:24px}}
@media(prefers-reduced-motion:reduce){.lf-player *, .lf-player *:before,.lf-player *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* The 1200 × 675 film stage scales from its top-left corner on all screens. */
.lf-stage{left:0;transform-origin:top left}.lf-incoming-card>.lf-pass{opacity:1}

/* The film shows the real card. */
.lf-pass.lc-preview{box-sizing:border-box;width:calc(100% - 24px);min-height:0;margin:0 12px;padding:16px}.lf-pass .lc-reward{font-size:24px;margin-top:6px}.lf-pass:after{z-index:2}
.lf-sector.lc-preview{box-sizing:border-box;width:290px;min-height:0;padding:22px;border-radius:18px;display:grid;justify-content:stretch}.lf-sector .lc-reward{font-size:26px}
.lf-sector-b{background:none}
