/* R1 Rewards — pop-up launcher. Scoped to #r1r-launcher so theme styles don't leak in or out. */
#r1r-launcher{--r1l-header:#2D363A;--r1l-accent:#3F7A0C;--r1l-highlight:#5FAC13;--r1l-size:110px;--r1l-size-m:76px;--r1l-ink:#2D363A;--r1l-muted:#5B6770;--r1l-line:#E6EAED;
	position:fixed;bottom:16px;z-index:99990;font-family:inherit;font-size:16px;line-height:1.4;color:var(--r1l-ink)}
#r1r-launcher.r1r-l--right{right:20px}
#r1r-launcher.r1r-l--left{left:20px}
#r1r-launcher *,#r1r-launcher *::before,#r1r-launcher *::after{box-sizing:border-box}
#r1r-launcher [hidden]{display:none !important}

/* ---- Vial button ---- */
#r1r-launcher .r1r-l__btn{all:unset;position:relative;z-index:0;isolation:isolate;display:block;cursor:pointer;border-radius:16px;-webkit-tap-highlight-color:transparent}
#r1r-launcher .r1r-l__btn:focus-visible{outline:3px solid var(--r1l-highlight);outline-offset:4px}
#r1r-launcher .r1r-l__img{display:block;height:var(--r1l-size);width:auto;max-width:none;margin:0;
	filter:drop-shadow(0 10px 14px rgba(45,54,58,.35));transform-origin:50% 85%;
	transition:transform .28s cubic-bezier(.3,1.4,.5,1),filter .28s}
#r1r-launcher .r1r-l__btn:hover .r1r-l__img,#r1r-launcher .r1r-l__btn:focus-visible .r1r-l__img{transform:translateY(-6px) rotate(-7deg) scale(1.06);filter:drop-shadow(0 16px 20px rgba(45,54,58,.4))}
#r1r-launcher.is-open .r1r-l__img{transform:rotate(0) scale(.94)}

/* Tooltip: "Uncap your rewards" */
#r1r-launcher .r1r-l__tip{position:absolute;top:46%;white-space:nowrap;background:var(--r1l-header);color:#fff;padding:9px 14px;border-radius:12px;
	font-size:14px;font-weight:600;line-height:1.2;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 8px 20px rgba(45,54,58,.25)}
#r1r-launcher .r1r-l__tip b{color:var(--r1l-highlight);font-weight:700}
#r1r-launcher.r1r-l--right .r1r-l__tip{right:calc(100% + 12px);transform:translate(8px,-50%)}
#r1r-launcher.r1r-l--left .r1r-l__tip{left:calc(100% + 12px);transform:translate(-8px,-50%)}
#r1r-launcher .r1r-l__tip::after{content:"";position:absolute;top:50%;margin-top:-6px;border:6px solid transparent}
#r1r-launcher.r1r-l--right .r1r-l__tip::after{right:-6px;border-right:0;border-left-color:var(--r1l-header)}
#r1r-launcher.r1r-l--left .r1r-l__tip::after{left:-6px;border-left:0;border-right-color:var(--r1l-header)}
#r1r-launcher .r1r-l__btn:hover .r1r-l__tip,#r1r-launcher .r1r-l__btn:focus-visible .r1r-l__tip{opacity:1;transform:translate(0,-50%)}
#r1r-launcher.is-open .r1r-l__tip{opacity:0 !important}
@media (hover:none){#r1r-launcher .r1r-l__tip{display:none}}

/* Badge + reward-ready glow */
#r1r-launcher .r1r-l__badge{position:absolute;top:2px;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--r1l-accent);color:#fff;
	font-size:12px;font-weight:700;line-height:22px;text-align:center;box-shadow:0 0 0 2px #fff}
#r1r-launcher.r1r-l--right .r1r-l__badge{left:-6px}
#r1r-launcher.r1r-l--left .r1r-l__badge{right:-6px}
#r1r-launcher.has-reward .r1r-l__btn::before{content:"";position:absolute;left:50%;top:60%;width:calc(var(--r1l-size) * 1.05);height:calc(var(--r1l-size) * 1.05);
	transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--r1l-highlight) 50%,transparent) 0%,transparent 70%);
	animation:r1l-glow 2.4s ease-in-out infinite;pointer-events:none;z-index:-1}
#r1r-launcher.r1r-l--pill.has-reward .r1r-l__btn::before{display:none}
#r1r-launcher.r1r-l--pill.has-reward .r1r-l__btn{animation:r1l-ring 2.4s ease-in-out infinite}
@keyframes r1l-ring{0%,100%{box-shadow:0 10px 28px rgba(45,54,58,.22),0 0 0 0 color-mix(in srgb,var(--r1l-highlight) 55%,transparent)}50%{box-shadow:0 10px 28px rgba(45,54,58,.22),0 0 0 6px color-mix(in srgb,var(--r1l-highlight) 30%,transparent)}}
@keyframes r1l-glow{0%,100%{opacity:.55}50%{opacity:1}}

/* Pill variant */
#r1r-launcher.r1r-l--pill .r1r-l__btn{display:flex;align-items:center;gap:8px;height:58px;padding:0 18px 0 8px;border-radius:99px;background:#fff;box-shadow:0 10px 28px rgba(45,54,58,.22)}
#r1r-launcher.r1r-l--pill .r1r-l__img{height:48px;filter:none}
#r1r-launcher.r1r-l--pill .r1r-l__btn:hover .r1r-l__img{transform:rotate(-7deg)}
#r1r-launcher .r1r-l__pilltext{font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}
#r1r-launcher.r1r-l--pill .r1r-l__tip{top:50%}

/* ---- Panel ---- */
#r1r-launcher .r1r-l__panel{position:fixed;bottom:calc(var(--r1l-size) + 32px);width:380px;max-width:calc(100vw - 32px);
	max-height:min(640px,calc(100vh - var(--r1l-size) - 56px));display:flex;flex-direction:column;background:#fff;border-radius:18px;
	box-shadow:0 24px 60px rgba(20,32,43,.28);overflow:hidden;animation:r1l-in .22s ease-out}
#r1r-launcher.r1r-l--right .r1r-l__panel{right:20px}
#r1r-launcher.r1r-l--left .r1r-l__panel{left:20px}
#r1r-launcher.r1r-l--pill .r1r-l__panel{bottom:90px;max-height:min(640px,calc(100vh - 110px))}
@keyframes r1l-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
#r1r-launcher .r1r-l__body{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}
#r1r-launcher .r1r-l__loading{padding:40px 20px;text-align:center;color:var(--r1l-muted)}
#r1r-launcher .r1r-l__scrim{position:fixed;inset:0;background:rgba(20,32,43,.45)}

#r1r-launcher .r1r-l__head{background:var(--r1l-header);color:#fff;padding:16px 20px;display:flex;flex-direction:column;gap:10px;flex:0 0 auto}
#r1r-launcher .r1r-l__toprow,#r1r-launcher .r1r-l__balrow{display:flex;justify-content:space-between;align-items:center;gap:12px}
#r1r-launcher .r1r-l__balrow{align-items:flex-end}
#r1r-launcher .r1r-l__brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px}
#r1r-launcher .r1r-l__headimg{height:30px;width:auto;margin:0}
#r1r-launcher .r1r-l__close{all:unset;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
#r1r-launcher .r1r-l__close:hover{background:rgba(255,255,255,.18)}
#r1r-launcher .r1r-l__close:focus-visible{outline:2px solid var(--r1l-highlight);outline-offset:2px}
#r1r-launcher .r1r-l__head--guest{position:relative}
#r1r-launcher .r1r-l__head--guest .r1r-l__close{position:absolute;top:12px;right:12px}
#r1r-launcher .r1r-l__bal{font-size:32px;font-weight:700;line-height:1;margin-bottom:4px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
#r1r-launcher .r1r-l__sub{font-size:13px;color:#C9D2D9}
#r1r-launcher .r1r-l__sub strong{color:#fff}
#r1r-launcher .r1r-l__rate{font-size:12px;color:#C9D2D9;white-space:nowrap}
#r1r-launcher .r1r-l__bar{height:6px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden}
#r1r-launcher .r1r-l__bar span{display:block;height:100%;background:var(--r1l-highlight);border-radius:99px}
#r1r-launcher .r1r-l__bar--light{background:var(--r1l-line);margin-top:6px}
#r1r-launcher .r1r-l__title{font-size:20px;font-weight:700;line-height:1.2}
#r1r-launcher .r1r-l__guesthero{display:flex;gap:14px;align-items:center;padding-right:36px}
#r1r-launcher .r1r-l__guestimg{height:88px;width:auto;margin:0;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}

#r1r-launcher .r1r-l__tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-bottom:1px solid var(--r1l-line);flex:0 0 auto}
#r1r-launcher .r1r-l__tabs button{all:unset;min-height:46px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:600;color:var(--r1l-muted);cursor:pointer;box-shadow:inset 0 -2px 0 transparent}
#r1r-launcher .r1r-l__tabs button[aria-selected="true"]{color:var(--r1l-ink);box-shadow:inset 0 -2px 0 var(--r1l-accent)}
#r1r-launcher .r1r-l__tabs button:focus-visible{outline:2px solid var(--r1l-accent);outline-offset:-4px}
#r1r-launcher .r1r-l__count{min-width:18px;padding:0 5px;border-radius:99px;background:var(--r1l-accent);color:#fff;font-size:11px;line-height:18px;text-align:center}

#r1r-launcher .r1r-l__content{padding:16px 20px;overflow-y:auto;flex:1 1 auto;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
#r1r-launcher .r1r-l__content [role="tabpanel"]{display:flex;flex-direction:column;gap:12px}
#r1r-launcher .r1r-l__banner{background:#FFF6E0;color:#5C4200;border-radius:10px;padding:10px 12px;font-size:13px}
#r1r-launcher .r1r-l__row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid #EEF1F3}
#r1r-launcher .r1r-l__rowtitle{font-size:14px;font-weight:600}
#r1r-launcher .r1r-l__rowsub{font-size:12px;color:var(--r1l-muted)}
#r1r-launcher .r1r-l__val{font-weight:700;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
#r1r-launcher .r1r-l__note,#r1r-launcher .r1r-l__p{font-size:13px;color:var(--r1l-muted);margin:0}
#r1r-launcher .r1r-l__h{font-size:16px;font-weight:700}
#r1r-launcher .r1r-l__muted{font-size:13px;color:var(--r1l-muted);margin:0}
#r1r-launcher .r1r-l__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
#r1r-launcher .r1r-l__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--r1l-muted);margin-top:4px}
#r1r-launcher .r1r-l__grow{flex:1 1 auto;min-width:0}

#r1r-launcher .r1r-l__linkrow{display:flex;gap:8px}
#r1r-launcher .r1r-l__linkrow input{flex:1 1 auto;min-width:0;min-height:44px;padding:0 10px;border:1px solid #C3CBD2;border-radius:10px;background:#F7F9FA;color:var(--r1l-ink);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin:0}
#r1r-launcher .r1r-l__btnfill,#r1r-launcher .r1r-l__btnline,#r1r-launcher .r1r-l__cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;border:0;font-family:inherit;white-space:nowrap}
#r1r-launcher .r1r-l__btnfill,#r1r-launcher .r1r-l__cta{background:var(--r1l-accent);color:#fff}
#r1r-launcher .r1r-l__btnfill:hover,#r1r-launcher .r1r-l__cta:hover{filter:brightness(.92);color:#fff}
#r1r-launcher .r1r-l__btnline{background:#fff;color:var(--r1l-accent);box-shadow:inset 0 0 0 1px var(--r1l-accent);min-height:38px}
#r1r-launcher .r1r-l__cta{width:100%;min-height:50px;font-size:15px;margin-top:4px}
#r1r-launcher .r1r-l__share{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#r1r-launcher .r1r-l__share a,#r1r-launcher .r1r-l__share button{all:unset;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #C3CBD2;border-radius:10px;background:#fff;font-size:13px;color:var(--r1l-ink);cursor:pointer;text-align:center}
#r1r-launcher .r1r-l__share a:hover,#r1r-launcher .r1r-l__share button:hover{border-color:var(--r1l-accent)}
#r1r-launcher .r1r-l__share a:focus-visible,#r1r-launcher .r1r-l__share button:focus-visible,#r1r-launcher .r1r-l__btnfill:focus-visible,#r1r-launcher .r1r-l__btnline:focus-visible,#r1r-launcher .r1r-l__cta:focus-visible{outline:2px solid var(--r1l-accent);outline-offset:2px}
#r1r-launcher .r1r-l__qr{display:flex;justify-content:center;padding:8px}
#r1r-launcher .r1r-l__qr img,#r1r-launcher .r1r-l__qr canvas{width:168px !important;height:168px !important}
#r1r-launcher .r1r-l__milestone{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--r1l-line);border-radius:12px}
#r1r-launcher .r1r-l__milestone>div{flex:1 1 auto;min-width:0}
#r1r-launcher .r1r-l__msimg{height:44px;width:auto;margin:0}
#r1r-launcher .r1r-l__claim{display:flex;align-items:center;gap:12px;padding:12px;border:2px solid var(--r1l-accent);border-radius:12px}
#r1r-launcher .r1r-l__claim>div{flex:1 1 auto;min-width:0}
#r1r-launcher .r1r-l__thumb{width:48px;height:48px;border-radius:10px;object-fit:cover;background:#E4E9EC;flex:0 0 auto;display:block;margin:0}
#r1r-launcher .r1r-l__row--item{justify-content:flex-start}

#r1r-launcher .r1r-l__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
#r1r-launcher .r1r-l__steps li{display:flex;gap:12px;align-items:flex-start;margin:0}
#r1r-launcher .r1r-l__steps li>span{width:32px;height:32px;flex:0 0 auto;border-radius:10px;background:color-mix(in srgb,var(--r1l-highlight) 15%,#fff);color:var(--r1l-accent);display:flex;align-items:center;justify-content:center;font-weight:700}
#r1r-launcher .r1r-l__steps strong{display:block;font-size:14px}
#r1r-launcher .r1r-l__steps small{display:block;font-size:13px;color:var(--r1l-muted)}
#r1r-launcher .r1r-l__center{text-align:center;font-size:14px;margin:0}
#r1r-launcher a{color:var(--r1l-accent)}
#r1r-launcher .r1r-l__foot{display:flex;justify-content:space-between;gap:12px;padding:12px 20px 14px;border-top:1px solid var(--r1l-line);font-size:13px;flex:0 0 auto}

/* ---- Mobile: smaller vial, bottom sheet ---- */
@media (max-width:600px){
	#r1r-launcher{bottom:12px}
	#r1r-launcher.r1r-l--right{right:12px}
	#r1r-launcher.r1r-l--left{left:12px}
	#r1r-launcher .r1r-l__img{height:var(--r1l-size-m)}
	#r1r-launcher.has-reward .r1r-l__btn::before{width:calc(var(--r1l-size-m) * 1.05);height:calc(var(--r1l-size-m) * 1.05)}
	#r1r-launcher .r1r-l__panel,#r1r-launcher.r1r-l--pill .r1r-l__panel{left:0 !important;right:0 !important;bottom:0;width:100%;max-width:none;max-height:85vh;border-radius:22px 22px 0 0;
		padding-bottom:env(safe-area-inset-bottom);animation:r1l-up .26s ease-out}
	#r1r-launcher .r1r-l__head{padding-top:12px}
	#r1r-launcher .r1r-l__head::before{content:"";align-self:center;width:40px;height:4px;border-radius:99px;background:rgba(255,255,255,.35)}
	#r1r-launcher .r1r-l__close{width:44px;height:44px}
	#r1r-launcher.is-open .r1r-l__btn{visibility:hidden}
}
@keyframes r1l-up{from{transform:translateY(100%)}to{transform:none}}

@media (prefers-reduced-motion:reduce){
	#r1r-launcher .r1r-l__img,#r1r-launcher .r1r-l__tip,#r1r-launcher .r1r-l__panel{transition:none;animation:none}
	#r1r-launcher .r1r-l__btn:hover .r1r-l__img,#r1r-launcher .r1r-l__btn:focus-visible .r1r-l__img{transform:none}
	#r1r-launcher.has-reward .r1r-l__btn::before,#r1r-launcher.r1r-l--pill.has-reward .r1r-l__btn{animation:none}
}
@media print{#r1r-launcher{display:none !important}}
