@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap";:root{font-family:DM Sans,sans-serif;color:#21162c;background:#f7efe7;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{margin:0;min-height:100%}body{min-width:320px}button,a{font:inherit}button{cursor:pointer}.landing{min-height:100vh;padding:30px clamp(22px,6vw,88px) 24px;overflow:hidden;position:relative;background:radial-gradient(circle at 80% 22%,rgba(236,63,117,.14),transparent 27%),radial-gradient(circle at 12% 85%,rgba(255,205,91,.15),transparent 25%),#f8f1ea}.landing:before{content:"✦";position:absolute;color:#e94173;left:52%;top:18%;font-size:31px;transform:rotate(16deg)}.nav{display:flex;align-items:center;justify-content:space-between;max-width:1320px;margin:auto}.brand,.scanner-brand{color:#26172e;font-weight:800;letter-spacing:-.05em;text-decoration:none;font-size:22px}.brand span,.scanner-brand span{color:#ed3f76;font-size:12px;letter-spacing:.08em;vertical-align:top;margin-left:4px}.status-dot{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.status-dot:before{content:"";width:7px;height:7px;background:#5fca89;display:inline-block;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #5fca892e}.hero{max-width:1210px;margin:55px auto 30px;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,9vw,120px);align-items:center}.eyebrow{color:#ed3f76;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800}.hero h1,.start-panel h1{font-family:Playfair Display,serif;font-size:clamp(55px,6.4vw,94px);line-height:.95;letter-spacing:-.05em;margin:18px 0 28px}.hero h1 em{color:#e93e73;position:relative}.hero h1 em:after{content:"";position:absolute;left:1%;right:-4%;height:9px;border-radius:50%;border-top:3px solid #e93e73;bottom:-8px;transform:rotate(-2deg)}.lede{color:#74697c;max-width:570px;font-size:17px;line-height:1.7}.steps{margin-top:45px;display:flex;align-items:center;max-width:590px;gap:18px;color:#766a7e;font-size:13px}.steps span{white-space:nowrap}.steps b{color:#eb3f75;margin-right:5px}.steps i{height:1px;background:#d9cbd0;flex:1}.marker-card{width:min(100%,425px);justify-self:center;background:#fffaf4;padding:22px 28px 20px;border:1px solid #26172e;box-shadow:13px 13px #24162e,21px 21px #f1bb54;transform:rotate(2.2deg);text-align:center}.card-top,.card-foot{font-size:10px;font-weight:800;letter-spacing:.13em;display:flex;justify-content:space-between}.tiny-star{color:#ed3f76;font-size:18px}.qr-wrap{width:72%;margin:18px auto;padding:13px;position:relative;background:#fff}.qr-wrap canvas{display:block;width:100%!important;height:auto!important}.corner{position:absolute;width:24px;height:24px;border-color:#ec3e73;border-style:solid}.c1{left:0;top:0;border-width:3px 0 0 3px}.c2{right:0;top:0;border-width:3px 3px 0 0}.c3{right:0;bottom:0;border-width:0 3px 3px 0}.c4{left:0;bottom:0;border-width:0 0 3px 3px}.marker-card h2{font-family:Playfair Display,serif;font-size:28px;line-height:1.05;margin:13px 0}.marker-card>p{font-size:11px;line-height:1.5;max-width:280px;margin:0 auto 20px;color:#796e77}.card-foot{padding-top:14px;border-top:1px solid #ded3cc;font-size:8px}.actions{max-width:1210px;margin:30px auto 0;display:flex;align-items:center;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;min-height:52px;padding:0 23px;font-weight:700;font-size:14px;text-decoration:none;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.primary{color:#fff;background:#e93e73;box-shadow:0 9px 24px #e93e7340}.secondary{color:#25172d;background:transparent;border:1px solid #bdb0b5}.ghost{color:#6d6172;padding-left:8px}.privacy{max-width:1210px;margin:20px auto;font-size:11px;color:#92858d}.privacy a{color:inherit;text-underline-offset:2px}.scanner{position:fixed;inset:0;background:#100b18;overflow:hidden;color:#fff}#camera{position:absolute;width:100%;height:100%;object-fit:cover}#three-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;touch-action:none}.scanner:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(circle at center,transparent 20%,rgba(12,7,20,.22) 80%)}.scanner-head{position:absolute;z-index:5;left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center}.scanner-brand{color:#fff;letter-spacing:-.04em}.round-button{width:43px;height:43px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#140c1d6b;color:#fff;display:grid;place-items:center;text-decoration:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.guide{position:absolute;z-index:3;width:min(68vw,390px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);transition:opacity .3s;pointer-events:none}.guide.hidden{opacity:0}.guide span{position:absolute;width:45px;height:45px;border-color:#ffd65d;border-style:solid}.guide span:nth-child(1){left:0;top:0;border-width:3px 0 0 3px}.guide span:nth-child(2){right:0;top:0;border-width:3px 3px 0 0}.guide span:nth-child(3){right:0;bottom:0;border-width:0 3px 3px 0}.guide span:nth-child(4){left:0;bottom:0;border-width:0 0 3px 3px}.guide p{position:absolute;top:calc(100% + 24px);width:100%;text-align:center;font-size:13px;text-shadow:0 2px 8px #000}.found{z-index:5;position:absolute;opacity:0;pointer-events:none;left:50%;bottom:max(30px,env(safe-area-inset-bottom));transform:translate(-50%,15px);padding:12px 18px;border:1px solid rgba(255,255,255,.2);border-radius:999px;white-space:nowrap;background:#140c1db8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;transition:.3s}.found.visible{opacity:1;transform:translate(-50%)}.found span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#68e098;margin-right:7px}.model-credit{position:absolute;z-index:5;right:max(16px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));color:#ffffff94;font-size:9px;text-decoration:none}.start-panel,.camera-error{z-index:9;position:absolute;inset:0;background:radial-gradient(circle at 50% 27%,rgba(233,62,115,.18),transparent 28%),linear-gradient(145deg,#171022,#0d0913);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;transition:opacity .4s,visibility .4s}.start-panel.gone{opacity:0;visibility:hidden}.start-panel h1{font-size:clamp(47px,9vw,72px);margin:10px 0 18px}.start-panel>p:not(.eyebrow){color:#b7adbd;max-width:430px;line-height:1.65;margin-bottom:28px}.start-panel .button{min-width:220px}.mini-gift{width:70px;height:70px;display:grid;place-items:center;font-size:31px;color:#ffd65d;border:1px solid rgba(255,255,255,.2);transform:rotate(8deg);margin-bottom:25px}.text-button{border:0;color:#aaa0b1;background:none;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.camera-error h2{font-family:Playfair Display,serif;font-size:40px;margin-bottom:0}.camera-error p{color:#b7adbd;max-width:360px;line-height:1.6}.demo-bg{background:radial-gradient(circle at center,#493260,#110b19 70%)}@media(max-width:760px){.landing{padding-top:22px}.hero{grid-template-columns:1fr;margin-top:55px;gap:45px}.hero h1{font-size:clamp(49px,15vw,72px)}.steps{gap:9px;font-size:11px}.marker-card{width:min(88vw,390px)}.actions{flex-wrap:wrap;justify-content:center}.actions .button{flex:1 1 42%}.actions .ghost{flex-basis:100%}.privacy{text-align:center}.model-credit{right:50%;transform:translate(50%);bottom:max(10px,env(safe-area-inset-bottom));white-space:nowrap}.landing:before{display:none}}@media print{body{background:#fff}.landing{padding:0;background:#fff;min-height:0}.nav,.hero-copy,.actions,.privacy{display:none}.hero{display:block;margin:0}.marker-card{margin:12mm auto;width:120mm;box-shadow:none;transform:none;padding:10mm}}
