.tl-persp{perspective:1200px}.tl-stage-floor{position:absolute;inset-inline:0;bottom:-8%;height:42%;background:radial-gradient(72% 100% at 50% 0%,rgba(59,139,212,.08),transparent 70%);pointer-events:none}.tl-contact-shadow{position:absolute;left:50%;bottom:-6%;width:78%;height:12%;transform:translate(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(18,45,77,.28),transparent 70%);filter:blur(6px);pointer-events:none}.tl-card{position:relative;width:min(420px,88vw);aspect-ratio:856 / 540;border-radius:1.25rem;transform-style:preserve-3d;transform:rotateX(var(--rx, 10deg)) rotateY(var(--ry, -12deg));transition:transform .5s cubic-bezier(.2,.7,.3,1);background:radial-gradient(120% 160% at 12% 8%,var(--color-paper) 0%,#f4f9fd 45%,var(--color-brand-100) 100%);box-shadow:0 1px #ffffffe6 inset,0 44px 90px -34px #122d4d66}.tl-card-layer{position:absolute;inset:0;transform:translateZ(var(--z, 12px))}.tl-card-qr{position:absolute;transform:translateZ(30px);border-radius:.75rem;background:var(--color-paper);box-shadow:0 14px 28px -14px #122d4d73}.tl-card-glare{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}.tl-card-glare:before{content:"";position:absolute;inset:-40%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.5) 50%,transparent 58%);transform:translate(var(--glare, -60%));transition:transform .4s ease-out}.tl-card.is-settling{animation:tl-settle .6s cubic-bezier(.2,.7,.3,1) both}.tl-card-scan{position:absolute;inset-block:-6%;left:0;width:3px;background:linear-gradient(to bottom,transparent,var(--color-leaf-500),transparent);border-radius:999px;opacity:0;pointer-events:none;transform:translateZ(34px)}.tl-card.is-scanning .tl-card-scan{animation:tl-scan-sweep 1.1s ease-in-out both}.tl-card-stamps{position:absolute;background-image:radial-gradient(circle at 4px 4px,rgba(42,108,176,.1) 3px,transparent 3.5px);background-size:18px 18px;pointer-events:none}.tl-receipt{position:relative;background:var(--color-paper);filter:drop-shadow(0 18px 30px rgba(18,45,77,.16))}.tl-receipt-edge{position:relative}.tl-receipt-edge:before,.tl-receipt-edge:after{content:"";position:absolute;inset-inline:0;height:9px;background:linear-gradient(135deg,var(--color-paper) 5px,transparent 0) 0 0 / 11px 9px repeat-x,linear-gradient(45deg,var(--color-paper) 5px,transparent 0) 0 0 / 11px 9px repeat-x}.tl-receipt-edge:before{top:-8px}.tl-receipt-edge:after{bottom:-8px;transform:scaleY(-1)}.tl-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tl-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:linear-gradient(to right,var(--color-brand-500) var(--fill, 50%),#e2e8f0 var(--fill, 50%));cursor:pointer}.tl-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:999px;background:var(--color-paper);border:3px solid var(--color-brand-600);box-shadow:0 2px 8px #122d4d4d}.tl-range::-moz-range-thumb{width:16px;height:16px;border-radius:999px;background:var(--color-paper);border:3px solid var(--color-brand-600);box-shadow:0 2px 8px #122d4d4d}.tl-range:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:4px}.tl-legal{color:#475569;font-size:1rem;line-height:1.75}.tl-legal>*+*{margin-top:1rem}:where(.tl-legal) strong{color:var(--color-ink);font-weight:600}:where(.tl-legal) h3{font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;color:var(--color-ink)}:where(.tl-legal) ul{list-style:disc;padding-left:1.35rem}:where(.tl-legal) ul>li+li{margin-top:.35rem}:where(.tl-legal) a{color:var(--color-brand-700);text-decoration:underline;text-underline-offset:2px}:where(.tl-legal) a:hover{color:var(--color-brand-800)}:where(.tl-legal) code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em;background:#f1f5f9;border-radius:.25rem;padding:.05em .3em}.tl-depth{transform:translateY(calc(var(--par, 0) * 1px));will-change:transform}@supports (animation-timeline: view()){.js .tl-reveal{animation:tl-reveal-in 1ms linear both;animation-timeline:view();animation-range:entry 5% entry 40%}}@keyframes tl-reveal-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes tl-settle{0%{opacity:0;transform:rotateX(24deg) rotateY(-20deg) translateY(28px)}to{opacity:1;transform:rotateX(var(--rx, 10deg)) rotateY(var(--ry, -12deg)) translateY(0)}}@keyframes tl-scan-sweep{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes tl-glare-sweep{0%{transform:translate(-70%)}to{transform:translate(70%)}}@supports (container-type: inline-size){.tl-card{container-type:inline-size}.tl-card-scan{transform:translateZ(34px) translate(4cqw)}@keyframes tl-scan-sweep{0%{opacity:0;transform:translateZ(34px) translate(4cqw)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translateZ(34px) translate(94cqw)}}}@media(prefers-reduced-motion:reduce){.tl-card,.tl-card-glare:before{transition:none}.tl-card.is-settling,.tl-card.is-scanning .tl-card-scan{animation:none}.tl-card.is-scanning .tl-card-scan{opacity:0}.js .tl-reveal{animation:none}.tl-depth{transform:none}}.tl-journey-fill{height:0;animation-name:tl-journey-fill;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes tl-journey-fill{0%{height:0}to{height:100%}}@media(prefers-reduced-motion:reduce){.tl-journey-fill{animation:none;height:100%}}
