:root{color-scheme:dark;--bg: #0a0a0a;--fg: #eaeaea;--muted: #cfcfcf;--fine: #bdbdbd;--panel: rgba(10,10,10,.55);--border: rgba(255,255,255,.07)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Arvo,ui-serif,Georgia,Times New Roman,Times,serif;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.root{position:relative;min-height:100%}.fluid-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:block;z-index:0;background:radial-gradient(1200px 800px at 20% 30%,#111,#000 60%,#000)}.phrases{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;display:grid;place-items:center;gap:1.2rem;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.phrase{font-style:italic;font-size:clamp(14px,4.5vw,22px);color:#ffffff8c;text-shadow:0 6px 24px rgba(0,0,0,.6);opacity:.85;transform:none}.panel{position:relative;z-index:2;width:min(880px,100%);margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) 14px calc(32px + env(safe-area-inset-bottom)) 14px;min-height:100vh;display:grid;place-items:center}.panel>.step{width:min(720px,100%)}.halo{width:180px;height:180px;border-radius:50%;filter:blur(16px) saturate(120%);background:radial-gradient(circle at 45% 40%,#ffffff73,#c8c8c826 45%,#0000 70%);margin:0 auto 8px;box-shadow:0 30px 120px #ffffff14,inset 0 0 1px #ffffff1a}.title{margin:0 0 6px;font-weight:700;letter-spacing:.3px;font-size:clamp(20px,6.2vw,28px)}.subtitle{margin:0 0 18px;color:var(--muted);font-size:clamp(14px,4vw,18px)}.italic{font-style:italic}.fine{font-size:12px;color:var(--fine)}.fine-link{color:#cfcfcf;text-decoration:underline;opacity:.85}.fine-link:hover{opacity:1}.spacer{height:8px}.card{background:var(--panel);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;padding:14px;box-shadow:0 10px 40px #00000073,inset 0 1px #ffffff0d}.card.location .location-name{font-size:18px;margin-bottom:4px}.card.location .location-address{color:#d8d8d8;margin-bottom:4px}.card.location .meta{color:#a8a8a8;font-size:13px}.btn-row,.cta-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:14px;padding:14px 16px;cursor:pointer;color:#111;background:#f1f1f1;font-weight:700;letter-spacing:.2px;font-size:16px;min-width:44px;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,box-shadow .2s ease,background .2s ease;position:relative;overflow:hidden}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00000040}.btn:active{transform:translateY(0);box-shadow:0 2px 6px #0003}.btn.primary{background:linear-gradient(180deg,#fff,#d9d9d9)}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn.selected{outline:2px solid rgba(255,255,255,.35);outline-offset:2px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#ffffff0f;color:#f0f0f0;padding:10px 12px;border-radius:999px;font-size:15px;line-height:1;min-height:40px;transition:background .15s ease,transform .1s ease,border-color .15s ease;position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:#00000026;animation:ripple .6s ease-out;pointer-events:none}@keyframes ripple{to{transform:scale(10);opacity:0}}.chip.on{background:#f1f1f1;color:#111;border-color:transparent;box-shadow:0 6px 20px #00000040}.chip:active{transform:scale(.98)}.selection-note{margin-top:8px;color:var(--muted);font-size:14px;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}.selection-note.show{opacity:.95;transform:translateY(0)}.step{display:none}.step.active{display:block;animation:slideUp .32s cubic-bezier(.2,.65,.2,1)}@keyframes slideUp{0%{transform:translateY(18px)}to{transform:translateY(0)}}.form .field{margin-bottom:12px}.form .field.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;margin:0 0 6px;color:#e8e8e8}input,select{width:100%;padding:14px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#f0f0f0;outline:none;font-size:16px;min-height:44px}input::placeholder{color:#bdbdbd}.pay-spinner{width:0;height:0;border-radius:100vmax;border:0 solid #222;border-top-color:#111;opacity:0;transition:all .12s ease}.btn.loading .pay-label{opacity:.8}.btn.loading .pay-spinner{width:16px;height:16px;border-width:2px;opacity:1;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.face-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:12px 0}.face-circle{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 35%,#fff 0,#fff 20%,#000 45%,#000);filter:blur(.2px) contrast(140%);box-shadow:0 12px 40px #00000059,inset 0 1px #ffffff0f;transition:transform .24s ease,box-shadow .24s ease}.face-circle .face-icon{width:42px;height:42px;border-radius:12px;border:2px solid rgba(0,0,0,.65);position:relative;background:#ffffffd9}.face-circle .face-icon:before,.face-circle .face-icon:after{content:"";position:absolute;background:#111;border-radius:2px}.face-circle .face-icon:before{width:22px;height:2px;top:12px;left:9px}.face-circle .face-icon:after{width:18px;height:2px;bottom:12px;left:11px}.face-caption{color:var(--muted)}.face-circle.idle{animation:pulse 1.6s ease-in-out infinite}.face-circle.scan{transform:scale(1.06);box-shadow:0 18px 60px #00000073}.face-circle.ok{animation:accept .8s ease forwards}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes accept{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1.04)}}.orbit{position:fixed;z-index:3;right:14px;bottom:calc(18px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 10px 30px #00000059;color:#fff;text-decoration:none;overflow:hidden;isolation:isolate}.orbit .glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 50% 50%,#ffffff59,#fff0 60%);filter:blur(16px);opacity:.35;transition:opacity .2s ease}.orbit:hover .glow{opacity:.65}.orbit .ring{position:absolute;width:80px;height:80px;border-radius:50%;border:1px dashed rgba(255,255,255,.25);animation:orbit 3.6s linear infinite;pointer-events:none}.orbit .dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 14px #fffc;animation:orbit 3.6s linear infinite;transform-origin:40px 40px}.orbit svg{width:26px;height:26px;z-index:1}@keyframes orbit{to{transform:rotate(360deg)}}.progress-pill{position:fixed;z-index:3;left:14px;top:calc(14px + env(safe-area-inset-top));background:#ffffff14;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:6px 10px;display:flex;align-items:center;gap:8px;color:#e8e8e8;font-size:12px}.progress-pill .tick{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center}.progress-pill .tick.on{background:#f1f1f1;color:#111;border-color:transparent}.progress-pill .sep{opacity:.35}@media (max-width: 640px){.form .field.two{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
