@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(assets/fonts/Inter-Regular.ttf) format("truetype")}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(assets/fonts/Inter-Medium.ttf) format("truetype")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(assets/fonts/Inter-SemiBold.ttf) format("truetype")}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(assets/fonts/Inter-Bold.ttf) format("truetype")}

:root{
  --ground:#080D19;--surface:#111A2C;--surface-elev:#18233A;--sunken:#0C1322;
  --border:#22304B;--border-strong:#33446A;
  --text:#EEF2FB;--text2:#A3B0CC;--text3:#73819C;
  --accent:#2FD3AE;--accent-pressed:#26B897;--on-accent:#05211A;--accent-text:#3FE0BB;--accent-tint:#2FD3AE24;
  --lilac:#C9A8FF;--lilac-tint:#8B3DFF2E;--warning:#FBBF24;--warning-tint:#FBBF2424;
  --chrome:#121B2EE0;--chrome-border:#FFFFFF1F;--glass:#FFFFFF0F;--glass-border:#FFFFFF24;
  --hero:linear-gradient(135deg,#6B2FD6 0%,#3D3FD6 55%,#0B7A64 100%);
  --r-md:12px;--r-lg:24px;--pad:20px;--max:1120px;
}
*{box-sizing:border-box}
html{background:var(--ground);color-scheme:dark}
body{margin:0;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:24px;color:var(--text);background:var(--ground);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
.aurora{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
   radial-gradient(circle at 5% -10%,#8B3DFF6B 0,transparent min(105vw,1100px)),
   radial-gradient(circle at 105% 18%,#2FD3AE42 0,transparent min(85vw,900px)),
   radial-gradient(circle at 45% 75%,#3B5BFF33 0,transparent min(95vw,1000px))}

.top{position:sticky;top:12px;z-index:5;max-width:var(--max);margin:12px auto 0;display:flex;align-items:center;justify-content:space-between;
  padding:10px 10px 10px 20px;margin-inline:max(16px,calc((100% - var(--max))/2));
  background:var(--chrome);border:1px solid var(--chrome-border);border-radius:999px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 30px #00000066}
.brand img{height:52px;width:auto}

main{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:72px 0 48px}
h1{font-size:clamp(40px,6vw,64px);line-height:1.05;font-weight:700;letter-spacing:-.02em;margin:16px 0 16px}
.grad{background:linear-gradient(90deg,var(--lilac),var(--accent-text));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:18px;line-height:26px;color:var(--text2);max-width:30em;margin:0}
.fine{font-size:12px;line-height:16px;font-weight:500;color:var(--text3);margin:16px 0 0}
h2{font-size:clamp(26px,3.4vw,34px);line-height:1.18;font-weight:600;letter-spacing:-.015em;margin:8px 0 24px}
h3{font-size:16px;line-height:24px;font-weight:600;margin:16px 0 4px}
p{margin:0}
.overline{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}

.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600}
.badge-lilac{color:var(--lilac);background:var(--lilac-tint)}

.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);font-weight:600;text-decoration:none;transition:transform .12s,background .12s}
.btn-small{height:40px;padding:0 18px;font-size:14px;border-radius:999px}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-pressed)}
.btn:active,.store-live:active{transform:scale(.97)}

.stores{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.store{display:inline-flex;align-items:center;gap:12px;height:60px;padding:0 22px 0 18px;border-radius:14px;text-decoration:none;font-weight:600;font-size:18px;line-height:20px}
.store small{display:block;font-size:12px;line-height:14px;font-weight:500;opacity:.8}
.store-live{background:var(--accent);color:var(--on-accent)}
.store-live:hover{background:var(--accent-pressed)}
.store-soon{background:var(--glass);border:1px solid var(--glass-border);color:var(--text2);cursor:default}
.store-on-hero.store-live{background:#fff;color:#0B1220}
.store-on-hero.store-soon{background:#FFFFFF1F;border-color:#FFFFFF3D;color:#fff}
.store .ic{width:26px;height:26px}

.ic{display:inline-block;width:20px;height:20px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;flex:none}
.ic-wallet{--i:url(assets/icons/wallet.svg)}.ic-ticket{--i:url(assets/icons/ticket.svg)}.ic-users{--i:url(assets/icons/users.svg)}
.ic-calendar{--i:url(assets/icons/calendar.svg)}.ic-trophy{--i:url(assets/icons/trophy.svg)}.ic-chart{--i:url(assets/icons/chart-column.svg)}
.ic-shield{--i:url(assets/icons/shield.svg)}.ic-smartphone{--i:url(assets/icons/smartphone.svg)}
.ic-play{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3.2v17.6c0 .8.9 1.3 1.6.9l14.6-8.8c.7-.4.7-1.4 0-1.8L6.6 2.3C5.9 1.9 5 2.4 5 3.2z'/%3E%3C/svg%3E")}

.phone{margin:0;border-radius:44px;padding:8px;background:#05080F;border:1px solid var(--border-strong);box-shadow:0 30px 80px #00000099,0 0 0 1px #FFFFFF0A inset}
.phone img{border-radius:36px;width:100%;height:auto}
.hero-phone{display:flex;justify-content:center}
.hero-phone .phone{max-width:340px;transform:rotate(2deg)}

.section{padding:56px 0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px}
.card p{color:var(--text2);font-size:14px;line-height:20px;font-weight:500}
.tile{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-md)}
.t-accent{background:var(--accent-tint);color:var(--accent-text)}
.t-lilac{background:var(--lilac-tint);color:var(--lilac)}
.t-warning{background:var(--warning-tint);color:var(--warning)}

.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700;font-variant-numeric:tabular-nums}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gallery .phone{border-radius:34px;padding:6px}
.gallery .phone img{border-radius:28px}
.gallery figcaption{text-align:center;font-size:14px;font-weight:500;color:var(--text2);margin:14px 0 4px}

.note{display:flex;gap:20px;align-items:flex-start;padding:28px}
.note h2{margin:4px 0 10px;font-size:26px}
.note p{font-size:16px;line-height:24px;font-weight:400}

.cta{padding:24px 0 72px}
.hero-card{background:var(--hero);border:1px solid #FFFFFF1F;border-radius:32px;padding:48px 40px;text-align:center;color:#fff}
.hero-card h2{margin:0 0 8px;font-size:clamp(30px,4vw,44px)}
.hero-card p{color:#FFFFFFB8;font-size:18px}
.hero-card .stores{justify-content:center}

.foot{text-align:center;padding:24px var(--pad) 48px;border-top:1px solid var(--border);max-width:var(--max);margin:0 auto}
.foot-icon{border-radius:10px;margin:0 auto 14px}
.by{display:flex;gap:8px;align-items:center;justify-content:center;color:var(--text2);font-size:14px;font-weight:500}
.by img{height:18px;width:auto}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:48px;text-align:center}
  .lead{margin-inline:auto}.hero .stores{justify-content:center}
  .hero-phone .phone{max-width:280px;transform:none}
  .grid,.steps{grid-template-columns:1fr 1fr}
  .gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad)}
  .gallery figure{flex:0 0 62%;scroll-snap-align:center}
}
@media (max-width:600px){
  .grid,.steps{grid-template-columns:1fr}
  .note{flex-direction:column}
  .hero-card{padding:36px 20px}
  .store{width:100%;justify-content:center}
  .brand img{height:44px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Legal and help pages (generated by scripts/website/build-legal.py) */
.ic-check{--i:url(assets/icons/circle-check.svg)}.ic-file{--i:url(assets/icons/file-text.svg)}
.doc{max-width:780px;padding-top:56px;padding-bottom:40px}
.doc-title{font-size:clamp(34px,5vw,48px);line-height:1.1;margin:10px 0 8px}
.doc-lead{color:var(--text2);font-size:18px;line-height:26px;margin:0 0 8px}
.doc-body{margin-top:20px;padding:24px}
.doc-body h2{font-size:20px;line-height:28px;margin:24px 0 8px}
.doc-body h2:first-child{margin-top:0}
.doc-body p{color:var(--text2);margin:0 0 12px;font-size:16px;line-height:24px;font-weight:400}
.doc-body strong{color:var(--text)}
.doc-list{color:var(--text2);margin:0 0 12px;padding-left:22px}
.doc-list li{margin:0 0 6px}
.doc-section{margin-top:40px}
.doc-h{font-size:22px;margin:0 0 14px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start;color:var(--text2);font-size:15px;line-height:22px}
.checks .ic{color:var(--accent-text);margin-top:1px}
.help-country{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin:22px 0 10px}
.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.help h3{margin:0}
.help-where{color:var(--text3)!important;font-size:13px!important;margin:2px 0 12px}
.help-actions{display:flex;flex-wrap:wrap;gap:8px}
.btn-ghost{background:var(--glass);border:1px solid var(--glass-border);color:var(--text)}
.btn-ghost:hover{background:#FFFFFF1A}
.foot-links{display:flex;gap:20px;justify-content:center;margin:14px 0 6px;font-size:14px;font-weight:500}
.foot-links a{color:var(--text2);text-decoration:none}.foot-links a:hover{color:var(--text)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.grid-4{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.help-grid,.grid-4{grid-template-columns:1fr}}
.note-links{margin-top:12px!important;font-weight:500}.note-links a{color:var(--accent-text)}

/* Pages reached from links: invitation code, email confirmation, password form */
.code{font-size:32px;line-height:40px;font-weight:700;letter-spacing:.08em;color:var(--text)!important;font-variant-numeric:tabular-nums;margin:4px 0 20px!important}
.doc-body .stores{margin-top:16px}
details.doc-body summary{cursor:pointer;color:var(--accent-text);font-weight:600}
details.doc-body form{margin-top:16px}
details.doc-body label{color:var(--text2);font-size:14px;font-weight:500}
details.doc-body input{margin-top:8px;width:100%;max-width:360px;height:48px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--sunken);color:var(--text);font:inherit;font-size:16px}
details.doc-body input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn-large{height:52px;padding:0 24px;font-size:16px;border-radius:999px;border:0;cursor:pointer}
.foot-links{flex-wrap:wrap;gap:8px 20px}
.foot-links a{white-space:nowrap}
