@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

/* Cherry & rose — shared by every public, member and reward page. */
:root {
  color-scheme: light;
  --ink: #302126;
  --muted: #6f6067;
  --brand: #c6283d;
  --brand-hover: #a81f34;
  --brand-solid: #c6283d;
  --brand-strong: #a81f34;
  --brand-soft: #fbe7eb;
  --paper: #fff9f6;
  --surface: #ffffff;
  --line: #eedde0;
  --navy: #641c2e;
  --coral: #e98a84;
  --rose: #f7dde1;
  --rose-ink: #952a43;
  --warm: #fff3ea;
  --mint: #e7f3ec;
  --mint-ink: #28694c;
  --gold: #fff2d4;
  --gold-ink: #795519;
  --on-feature: #ffffff;
  --on-feature-muted: #f3d6dc;
  --feature-start: #641c2e;
  --feature-end: #8b2441;
  --radius: 20px;
  --shadow: 0 8px 28px #641c2e05, 0 2px 6px #641c2e03;
  --premium-gradient: linear-gradient(120deg, var(--feature-start), var(--feature-end));
  --hero-gradient: radial-gradient(ellipse at 78% 45%, #f7dde178, transparent 55%), linear-gradient(120deg, #fffaf7, #fff5f2);
  --bs-body-font-family: 'DM Sans', sans-serif;
  --bs-body-color: var(--ink);
  --bs-body-bg: var(--paper);
  --bs-heading-color: var(--ink);
  --bs-secondary-color: var(--muted);
  --bs-tertiary-bg: var(--paper);
  --bs-border-color: var(--line);
  --bs-primary: var(--brand);
  --bs-primary-rgb: 198, 40, 61;
  --bs-primary-bg-subtle: var(--brand-soft);
  --bs-primary-text-emphasis: var(--rose-ink);
  --bs-primary-border-subtle: var(--line);
  --bs-link-color: var(--brand);
  --bs-link-color-rgb: 198, 40, 61;
  --bs-link-hover-color: var(--brand-hover);
  --bs-link-hover-color-rgb: 168, 31, 52;
  --bs-focus-ring-color: #c6283d30;
}
[data-bs-theme=dark] {
  color-scheme: dark;
  --ink: #fff2f4;
  --muted: #c6acb4;
  --brand: #ff99ab;
  --brand-hover: #ffbdc9;
  --brand-soft: #45232f;
  --paper: #1d1318;
  --surface: #2a1c23;
  --line: #4b303b;
  --navy: #421625;
  --rose: #4a2533;
  --rose-ink: #ffafbf;
  --warm: #36251f;
  --mint: #21382e;
  --mint-ink: #a4d9bd;
  --gold: #443421;
  --gold-ink: #f0ce8d;
  --feature-start: #54172d;
  --feature-end: #78213d;
  --shadow: 0 8px 28px #0000001a;
  --hero-gradient: radial-gradient(ellipse at 78% 45%, #762a4140, transparent 55%), linear-gradient(120deg, #251820, #301c24);
  --bs-primary-rgb: 255, 153, 171;
  --bs-link-color-rgb: 255, 153, 171;
  --bs-link-hover-color-rgb: 255, 189, 201;
  --bs-emphasis-color: var(--ink);
  --bs-secondary-bg: var(--surface);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.display-font{font-family:Manrope,sans-serif;letter-spacing:-.045em;font-weight:750}
h1{line-height:1.08}
h2{line-height:1.18}
h3{font-size:1.25rem}
p{line-height:1.7}
a{text-decoration:none}
button,a,input,select{touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
button{font:inherit}
img{max-width:100%}
.icon{flex-shrink:0;width:21px;height:21px;vertical-align:middle}
.btn{--bs-btn-border-radius:12px;--bs-btn-padding-x:1.35rem;--bs-btn-padding-y:.8rem;--bs-btn-font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:.9rem;min-height:46px;letter-spacing:-.01em}
.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-hover);--bs-btn-hover-border-color:var(--brand-hover);--bs-btn-active-bg:var(--brand-hover);--bs-btn-disabled-bg:var(--brand);--bs-btn-disabled-border-color:var(--brand);--bs-btn-color:#fff}
.btn-light{--bs-btn-bg:var(--surface);--bs-btn-color:var(--ink);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--brand-soft);--bs-btn-hover-border-color:var(--line);--bs-btn-hover-color:var(--ink)}
.btn-soft{background:var(--brand-soft);color:var(--brand);border:1px solid transparent}
.btn-soft:hover{background:var(--brand);color:white}
.btn-dark{background:var(--navy);border-color:var(--navy)}
.btn-sm{min-height:38px;font-size:.8rem;padding:.5rem .9rem}
.btn-link{color:var(--brand);padding:.5rem}
.icon-btn{display:inline-grid;place-items:center;width:43px;height:43px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);position:relative}
.theme-toggle .theme-icon-dark{display:none}
:root[data-bs-theme=dark] .theme-toggle .theme-icon-light{display:none}
:root[data-bs-theme=dark] .theme-toggle .theme-icon-dark{display:block}
.text-muted{color:var(--muted)!important}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.67rem;font-weight:750;color:var(--brand);display:flex;align-items:center;gap:10px}
.eyebrow:before{content:'';width:19px;height:2px;background:currentColor}
.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font:800 1.35rem Manrope,sans-serif;letter-spacing:-.055em;white-space:nowrap}
.brand img{border-radius:10px}
.brand-dot{font:500 .58rem sans-serif;align-self:flex-start;margin-top:5px;margin-left:-5px}
.container-xl{max-width:1240px;padding-left:24px;padding-right:24px}
.public-header{height:90px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:var(--paper)}
.public-header .container-xl{display:flex;align-items:center;justify-content:space-between;gap:24px}
.public-nav{display:flex;align-items:center;gap:34px}
.public-nav a{font-size:.83rem;font-weight:550;color:var(--ink)}
.public-actions{display:flex;align-items:center;gap:12px}
.public-actions .icon-btn{width:36px;height:36px;border:0;background:none}
.mobile-public-menu{display:none;padding:20px;border-bottom:1px solid var(--line);background:var(--surface)}
.mobile-public-menu.open{display:grid;gap:20px}
.menu-toggle{display:none}
.hero{position:relative;padding:80px 0 72px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:46px}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;background:var(--brand-soft);padding:7px 12px;border-radius:100px;font-size:.7rem;font-weight:650;letter-spacing:.04em;color:var(--brand);margin-bottom:24px}
.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.hero h1{font-size:clamp(3.4rem,5.8vw,5rem);letter-spacing:-.065em;margin-bottom:25px}
.hero h1 em{font-style:normal;color:var(--brand);position:relative;white-space:nowrap}
.hero h1 em:after{content:'';position:absolute;height:7px;left:2px;right:0;bottom:-8px;border-top:3px solid var(--coral);border-radius:50%;transform:rotate(-2deg)}
.hero-desc{max-width:430px;font-size:1.02rem;line-height:1.85;color:var(--muted);margin-bottom:29px}
.hero-cta{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.hero-cta .btn{padding:1rem 1.6rem}
.hero-note{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:.72rem}
.hero-note span{display:flex;gap:5px;align-items:center}
.hero-note .icon{width:14px;color:var(--brand)}
.hero-art{min-height:500px;position:relative;display:flex;align-items:center;justify-content:center}
.orbit-ring{position:absolute;width:475px;height:475px;border-radius:50%;border:1px solid var(--line);background:radial-gradient(ellipse,#faecee 0%,#fbf1f390 45%,transparent 70%)}
.orbit-ring:after{content:'';position:absolute;inset:29px;border-radius:50%;border:1px dashed var(--line)}
.art-spark{position:absolute;top:28px;left:36px;color:var(--coral);transform:rotate(15deg)}
.art-spark .icon{width:46px;height:46px}
.video-phone{position:relative;width:248px;height:436px;border:7px solid var(--surface);border-radius:34px;background:#44181f;box-shadow:15px 25px 70px #6b1c2925;overflow:hidden;transform:rotate(7deg);z-index:2}
.video-phone .scene{width:100%;height:100%;object-fit:cover}
.phone-top{position:absolute;top:14px;left:15px;right:15px;display:flex;justify-content:space-between;color:#fff;font-size:.59rem;font-weight:600}
.phone-bottom{position:absolute;left:18px;right:18px;bottom:21px;color:#fff}
.phone-bottom h3{font-size:1.25rem;line-height:1.3;margin:11px 0}
.phone-bottom p{font-size:.6rem;opacity:.8;margin:0}
.phone-play{position:absolute;top:42%;left:39%;width:58px;height:58px;border-radius:50%;background:#ffffff25;backdrop-filter:blur(8px);display:grid;place-items:center;color:#fff;border:1px solid #fff8}
.phone-play .icon{fill:currentColor;width:22px}
.phone-progress{height:3px;background:#fff4;margin:13px 0;border-radius:9px}
.phone-progress:before{content:'';display:block;width:60%;height:100%;background:#fff;border-radius:9px}
.mini-video{position:absolute;top:90px;left:5px;width:147px;height:206px;transform:rotate(-12deg);background:#efd5be;border:6px solid var(--surface);border-radius:19px;overflow:hidden;box-shadow:0 15px 45px #46141c1a}
.mini-video img{width:100%;height:100%;object-fit:cover}
.mini-video span{position:absolute;bottom:12px;left:12px;color:white;font-size:.68rem;font-weight:600}
.float-card{position:absolute;background:var(--surface);padding:14px 18px;border:1px solid var(--line);border-radius:15px;box-shadow:0 15px 35px #6b1c2912;z-index:3;display:flex;align-items:center;gap:12px;animation:float 6s ease-in-out infinite}
.float-card .bubble{width:40px;height:40px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);border-radius:50%}
.float-card p{margin:0;font-size:.61rem;color:var(--muted);line-height:1.5}
.float-card strong{display:block;font-size:.84rem;margin-bottom:2px}
.float-card.top{top:33px;right:0;transform:rotate(-5deg)}
.float-card.bottom{bottom:22px;left:3px;animation-delay:-3s}
.float-card.bottom .bubble{background:#fce8e1;color:#b34f37}
.art-caption{position:absolute;right:6px;bottom:19px;font-size:.58rem;color:var(--muted);writing-mode:vertical-rl;letter-spacing:.12em}
.payment-strip{padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.payment-strip .container-xl{display:flex;align-items:center;justify-content:space-between;gap:28px}
.payment-strip p{font-size:.7rem;color:var(--muted);margin:0;max-width:180px;line-height:1.6}
.payment-logos{display:flex;gap:42px;align-items:center;flex-wrap:wrap}
.payment-logo{display:flex;align-items:center;gap:7px;font-family:Manrope,sans-serif;font-weight:800;font-size:1.15rem;color:var(--muted)}
.payment-logo small{font-size:.6rem;font-family:inherit;font-weight:500}
.section{padding:85px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:35px}
.section-head h2{font-size:2.5rem;max-width:650px;margin:12px 0 0}
.section-head p{max-width:300px;font-size:.88rem;color:var(--muted);margin:0}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}
.step-card{padding:28px 27px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);position:relative}
.step-number{position:absolute;right:24px;top:25px;font-size:.7rem;color:var(--muted);font-family:Manrope,sans-serif}
.step-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:var(--brand);background:var(--brand-soft);margin:7px 0 33px}
.step-icon.coral{background:#fce9e2;color:#bd6d52}
.step-icon.lavender{background:#faebee;color:#a9616d}
.step-card h3{font-size:1.1rem;margin-bottom:10px}
.step-card p{font-size:.82rem;color:var(--muted);line-height:1.8;margin:0}
.feature-section{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.feature-illustration{background:#faedef;border-radius:28px;min-height:380px;position:relative;display:grid;place-items:center;overflow:hidden}
.feature-illustration img{width:75%;max-height:320px}
.feature-copy h2{font-size:2.6rem;margin:16px 0 23px}
.feature-copy>p{font-size:.92rem;color:var(--muted)}
.feature-check{display:flex;gap:13px;margin-top:23px}
.feature-check .icon{background:var(--brand-soft);color:var(--brand);padding:4px;width:26px;height:26px;border-radius:50%}
.feature-check strong{display:block;font-size:.85rem}
.feature-check p{font-size:.77rem;color:var(--muted);margin:3px 0}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.stat-cell{padding:28px;text-align:center;border-right:1px solid var(--line)}
.stat-cell:last-child{border:0}
.stat-cell strong{display:block;font-family:Manrope,sans-serif;font-size:2.15rem;letter-spacing:-.06em}
.stat-cell span{font-size:.74rem;color:var(--muted)}
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.faq-grid h2{font-size:2.6rem;margin:16px 0}
.faq-grid p{font-size:.87rem;color:var(--muted)}
.faq-list details{border-bottom:1px solid var(--line);padding:19px 0}
.faq-list summary{font-weight:600;font-size:.88rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq-list summary:after{content:'+';color:var(--brand);font-weight:400;font-size:1.2rem}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{font-size:.83rem;margin:14px 20px 0 0}
.public-footer{padding:50px 0 24px}
.footer-top{display:flex;justify-content:space-between;gap:25px;margin-bottom:36px}
.footer-top p{max-width:250px;color:var(--muted);font-size:.76rem;margin:15px 0 0}
.footer-links{display:flex;flex-wrap:wrap;gap:20px 35px;font-size:.76rem;align-items:flex-start;padding-top:8px}
.footer-links a{color:var(--muted)}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.65rem;color:var(--muted)}
.soft-badge{padding:6px 10px;font-size:.66rem;letter-spacing:.02em;font-weight:600;background:var(--brand-soft);color:var(--brand);border-radius:7px}
.soft-badge.coral{background:#fce8e1;color:#ac5943}
.soft-badge.neutral{background:var(--paper);color:var(--muted)}
.soft-badge.danger{background:#fde9eb;color:#ba4057}
.card{background:var(--surface);border-color:var(--line);border-radius:var(--radius);box-shadow:none}
.card-body{padding:25px}
.card-title{font-size:1.1rem}
.form-label{font-size:.77rem;font-weight:600;margin-bottom:8px}
.form-control,.form-select{background-color:var(--surface);color:var(--ink);border-color:var(--line);min-height:49px;border-radius:10px;font-size:.86rem;padding:12px 14px}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #d04e6412}
.form-control::placeholder{color:var(--muted);font-size:.81rem}
.form-text{font-size:.72rem;color:var(--muted)}
.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}
.form-check-label{font-size:.77rem}
.divider{display:flex;align-items:center;gap:15px;font-size:.7rem;color:var(--muted);margin:25px 0}
.divider:before,.divider:after{content:'';height:1px;flex:1;background:var(--line)}
.auth-layout{min-height:calc(100vh - 91px);display:grid;grid-template-columns:1fr 1fr;max-width:1300px;margin:auto}
.auth-art{padding:60px;position:relative;display:flex;flex-direction:column;justify-content:center;background:var(--brand-soft);margin:26px 0 26px 24px;border-radius:30px;overflow:hidden}
.auth-art h2{font-size:3.1rem;max-width:430px;line-height:1.12;margin:20px 0}
.auth-art p{max-width:320px;font-size:.87rem;color:var(--muted)}
.auth-art>img{width:270px;align-self:center;margin-top:25px;transform:rotate(-5deg)}
.auth-art .eyebrow{color:var(--brand)}
.auth-form-wrap{max-width:470px;width:100%;margin:auto;padding:55px 35px}
.auth-form-wrap h1{font-size:2rem;margin:13px 0}
.auth-form-wrap>p{font-size:.85rem;color:var(--muted);margin-bottom:27px}
.auth-form-wrap .small{font-size:.76rem}
.auth-bottom{margin-top:27px;text-align:center;font-size:.78rem;color:var(--muted)}
.password-wrap{position:relative}
.password-wrap input{padding-right:50px}
.password-wrap .icon-btn{position:absolute;right:7px;top:4px;border:0;background:none;width:40px}
.auth-trust{font-size:.66rem!important;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;margin-top:28px}
.auth-trust .icon{width:14px}
.social-auth{min-height:44px;display:flex;justify-content:center}
.social-auth:empty{display:none}
.app-layout{min-height:100vh}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:238px;border-right:1px solid var(--line);background:var(--surface);padding:31px 24px;display:flex;flex-direction:column;z-index:20}
.sidebar .brand{padding-left:8px}
.nav-label{font-size:.59rem;color:var(--muted);letter-spacing:.14em;font-weight:650;margin:38px 0 13px 15px}
.side-nav{display:grid;gap:5px}
.side-nav a{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:11px;color:var(--muted);font-size:.82rem;font-weight:550}
.side-nav a.active{background:var(--brand-soft);color:var(--brand);font-weight:700}
.side-nav a:hover{background:var(--paper);color:var(--ink)}
.sidebar-bottom{margin-top:auto}
.sidebar-note{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px 15px;margin-top:24px}
.sidebar-note p{font-size:.72rem;margin:9px 0 13px;color:var(--muted)}
.sidebar-note strong{font-size:.83rem}
.sidebar-note .icon{color:var(--brand)}
.member-area{margin-left:238px}
.member-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line);background:var(--surface);gap:20px}
.member-breadcrumb{color:var(--muted);font-size:.75rem;display:flex;gap:10px;align-items:center}
.member-breadcrumb strong{font-weight:550;color:var(--ink)}
.header-tools{display:flex;align-items:center;gap:12px}
.avatar{width:39px;height:39px;background:var(--brand-soft);border-radius:50%;display:inline-grid;place-items:center;color:var(--brand-solid);font-size:.75rem;font-weight:750;overflow:hidden}
.avatar img{height:100%;width:100%;object-fit:cover}
/* Keep the badge out of the button's grid so the bell stays vertically centered. */
.header-tools #unread-indicator{position:absolute;inset:0;pointer-events:none}
.unread-dot{position:absolute;right:6px;top:7px;min-width:7px;height:7px;border:2px solid var(--surface);border-radius:50%;background:var(--coral)}
.member-main{max-width:1330px;padding:35px 40px 70px;margin:auto}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}
.page-heading h1{font-size:1.8rem;margin-bottom:8px}
.page-heading p{margin:0;color:var(--muted);font-size:.82rem}
.greeting-note{font-size:.7rem;color:var(--muted);display:flex;align-items:center;gap:6px}
.balance-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px;margin-bottom:30px}
.balance-card{padding:23px;border-radius:19px;background:var(--surface);border:1px solid var(--line);min-height:151px}
.balance-card.primary{background:var(--brand);border:0;color:white;position:relative;overflow:hidden}
.balance-card.primary:after{content:'';position:absolute;border:1px solid #ffffff2b;border-radius:50%;height:150px;width:150px;right:-30px;top:40px;box-shadow:0 0 0 25px #ffffff08}
.balance-card .label{font-size:.72rem;display:flex;align-items:center;gap:8px;color:var(--muted)}
.balance-card.primary .label,.balance-card.primary .balance-note{color:var(--on-feature-muted)}
.balance-amount{font-family:Manrope,sans-serif;font-size:2rem;letter-spacing:-.05em;font-weight:750;margin:10px 0 6px}
.balance-note{font-size:.66rem;color:var(--muted);display:flex;align-items:center;gap:5px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(250px,1fr);gap:25px}
.block-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}
.block-heading h2{font-size:1.13rem;margin:0}
.block-heading p{font-size:.72rem;color:var(--muted);margin:6px 0 0}
.tab-pills{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:4px;margin-bottom:20px;max-width:max-content;flex-wrap:wrap}
.tab-pills button,.tab-pills a{border:0;padding:8px 17px;border-radius:7px;color:var(--muted);background:transparent;font-size:.74rem;font-weight:600}
.tab-pills .active{background:var(--brand);color:#fff}
.video-feature{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.video-poster{aspect-ratio:16/9;background:#f5dde1;position:relative;overflow:hidden}
.video-poster>img{width:100%;height:100%;object-fit:cover}
.video-poster:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#340e1466);pointer-events:none}
.poster-play{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;border:1px solid #fff8;background:#ffffffde;color:var(--brand-solid);display:grid;place-items:center;box-shadow:0 0 0 12px #fff2}
.poster-play .icon{fill:currentColor}
.video-duration{position:absolute;bottom:15px;left:17px;z-index:1;color:white;display:flex;align-items:center;gap:6px;font-size:.7rem}
.video-info{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.video-info h3{font-size:1rem;margin:0 0 7px;line-height:1.45}
.video-info p{font-size:.72rem;color:var(--muted);margin:0}
.reward-pill{background:var(--brand-soft);border-radius:10px;padding:9px 13px;color:var(--brand);font-size:.95rem;font-weight:750;white-space:nowrap}
.side-stack{display:grid;gap:19px;align-content:start}
.mini-heading{font-size:.92rem;margin-bottom:15px}
.mini-task{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.mini-task:last-child{border:0;padding-bottom:0}
.mini-task .step-icon{width:41px;height:41px;border-radius:12px;margin:0;flex-shrink:0}
.mini-task strong{display:block;font-size:.78rem}
.mini-task p{font-size:.66rem;color:var(--muted);margin:3px 0}
.mini-task>.icon{margin-left:auto;color:var(--muted);width:17px}
.reward-banner{background:#faedef;border-radius:19px;padding:23px;position:relative;overflow:hidden;color:#5b2e36}
.reward-banner .eyebrow{color:#92636b}
.reward-banner h3{font-size:1.35rem;margin:13px 0 8px;max-width:170px}
.reward-banner p{font-size:.73rem;max-width:180px;color:#927176}
.reward-banner>.icon{width:110px;height:110px;position:absolute;right:-21px;top:20px;stroke-width:.8;transform:rotate(-10deg);opacity:.35}
.activity-list{list-style:none;padding:0;margin:0}
.activity-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.activity-row:last-child{border:0}
.activity-row strong{font-size:.82rem;display:block}
.activity-row p{font-size:.68rem;color:var(--muted);margin:5px 0 0}
.activity-row .amount{font-weight:750;font-size:.9rem;white-space:nowrap}
.activity-row .avatar{flex-shrink:0}
.mobile-nav{display:none}
.member-footer{font-size:.66rem;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;justify-content:space-between;padding:25px 0 0;margin-top:30px;border-top:1px solid var(--line)}
.member-footer nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.member-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted)}
.notice{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:12px;border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:15px 18px;margin-bottom:20px;font-size:.76rem;line-height:1.6}
.notice>.icon{color:var(--brand)}
.notice>:not(.icon):not(.btn){min-width:0;overflow-wrap:anywhere}
.notice .btn{margin-left:auto;flex-shrink:0}
.notice.warning{background:#fff6ec;color:#81582c;border-color:#f5e5cf}
.notice.danger{background:#fff0f1;color:#9c3c52;border-color:#f4d7df}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.offer-card{padding:22px;display:flex;flex-direction:column;min-height:300px}
.offer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.offer-logo{width:58px;height:58px;object-fit:cover;border-radius:14px;background:var(--brand-soft)}
.offer-card h3{font-size:.98rem;line-height:1.45;margin:18px 0 8px}
.offer-card p{font-size:.73rem;color:var(--muted);margin-bottom:22px}
.offer-card .btn{margin-top:auto}
.offer-card .reward-pill{font-size:.83rem}
.section-space{margin-top:30px}
.wallet-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}
/* Wallet-only balance hero. The illustration has its own column at every width. */
.wallet-balance {
  --wallet-highlight:#ff7990;
  container-type:inline-size;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:20px;
  border-radius:24px;
  color:var(--on-feature);
  background:radial-gradient(ellipse at 100% 0%,#c3295266,transparent 62%),linear-gradient(115deg,#51091f 2%,#740e2c 62%,#94143c);
  box-shadow:0 12px 30px #67152d18,inset 0 1px 0 #ffffff1a;
}
.wallet-balance::before,
.wallet-balance::after {
  content:'';
  position:absolute;
  z-index:-1;
  pointer-events:none;
  border-radius:50%;
}
.wallet-balance::before {
  width:115%;
  height:155%;
  left:49%;
  top:-28%;
  transform:rotate(40deg);
  background:linear-gradient(120deg,#ee3a6529,#b326502e 65%,transparent);
  border:1px solid #ff799014;
  box-shadow:-40px 0 0 #f34c6c0c,-85px 0 0 #ff799008;
}
.wallet-balance::after {
  width:150%;
  height:65%;
  left:-23%;
  bottom:-37%;
  transform:rotate(12deg);
  background:linear-gradient(180deg,#cf29513b,#690c2910);
  border-top:1px solid #ff799029;
  box-shadow:160px -18px 0 -6px #d82c5220;
}
.wallet-balance p { margin:0; color:var(--on-feature-muted); }
.wallet-balance-hero {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  align-items:center;
  gap:8px;
  margin-bottom:18px;
}
.wallet-balance-summary { min-width:0; }
.wallet-balance .wallet-balance-label {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:clamp(.68rem,2.85cqi,.95rem);
  line-height:1.4;
  color:var(--on-feature);
}
.wallet-balance-label .icon {
  flex:none;
  width:clamp(26px,7.5cqi,42px);
  height:clamp(26px,7.5cqi,42px);
  padding:6px;
  border-radius:9px;
  background:#ffffff1c;
}
.wallet-balance .balance-amount {
  /* Keep currency formatting intact while sizing the amount to its available space. */
  font-size:clamp(1.25rem,min(16cqi,calc(86cqi / var(--wallet-amount-length))),5.5rem);
  font-weight:800;
  font-variant-numeric:tabular-nums;
  line-height:1.12;
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
  margin:16px 0 4px;
}
.wallet-balance-hero-wide .balance-amount { font-size:clamp(1rem,calc(72cqi / var(--wallet-amount-length)),4rem); }
.wallet-balance-art {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 8px 10px #33061740);
}
.wallet-payout-labels {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px 16px;
  margin-bottom:10px;
  font-size:clamp(.75rem,3.2cqi,1.05rem);
  line-height:1.5;
}
.wallet-payout-labels > p { min-width:0; }
.wallet-payout-labels > p:first-child { flex-shrink:0; }
.wallet-payout-minimum { text-align:end; overflow-wrap:anywhere; }
.wallet-balance .progress {
  height:clamp(9px,2.1cqi,13px);
  border-radius:100px;
  background:#f8b7ca33;
  box-shadow:inset 0 1px 2px #41081d29;
}
.wallet-balance .progress-bar {
  border-radius:inherit;
  background:linear-gradient(90deg,var(--wallet-highlight),#ff9b98);
  box-shadow:0 0 12px #ff799033;
  transition:width .45s ease;
}
.wallet-balance .wallet-balance-note {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:16px;
  font-size:clamp(.75rem,3.1cqi,.98rem);
  line-height:1.5;
}
.wallet-reward-icon {
  display:grid;
  place-items:center;
  flex:none;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#ffffff1c;
}
.wallet-reward-icon .icon { width:18px; height:18px; }
[data-bs-theme="dark"] .wallet-balance { box-shadow:0 12px 30px #00000024,inset 0 1px 0 #ffffff14; }
@media(min-width:576px) {
  .wallet-balance { padding:28px; border-radius:28px; }
  .wallet-balance-hero { gap:16px; margin-bottom:24px; }
  .wallet-balance-label .icon { padding:8px; border-radius:11px; }
  .wallet-balance .balance-amount { margin-top:22px; }
  .wallet-balance .wallet-balance-note { gap:14px; margin-top:20px; }
  .wallet-reward-icon { width:38px; height:38px; }
  .wallet-reward-icon .icon { width:21px; height:21px; }
}
@container (max-width:400px) {
  .wallet-balance-hero-wide { row-gap:12px; }
  .wallet-balance-hero-wide .wallet-balance-summary { display:contents; }
  .wallet-balance-hero-wide .wallet-balance-label { grid-column:1; grid-row:1; }
  .wallet-balance-hero-wide .wallet-balance-art { grid-column:2; grid-row:1; }
  .wallet-balance-hero-wide .balance-amount {
    grid-column:1/-1;
    margin:0;
    font-size:clamp(1rem,min(12cqi,calc(160cqi / var(--wallet-amount-length))),3rem);
  }
}
.progress{height:6px;--bs-progress-bg:var(--line);--bs-progress-bar-bg:var(--brand);border-radius:10px}
/* Branded payout choices, scoped to the wallet destination section. */
.payout-details { container-type:inline-size; align-self:start; }
.payout-details .card-body { padding:20px; }
.payout-heading { display:flex; align-items:start; flex-wrap:wrap; gap:8px 16px; margin-bottom:22px; }
.payout-heading > div { flex:1; min-width:0; }
.payout-heading h2 { font-size:clamp(1.35rem,5.4cqi,1.9rem); letter-spacing:-.045em; margin:0 0 7px; }
.payout-heading p { color:var(--muted); font-size:.88rem; line-height:1.5; margin:0; }
.payout-heading .btn { padding:3px 0; font-size:.75rem; }
.payout-details .payment-choice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 24px; }
.payout-details .payment-option {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:124px;
  padding:17px 8px 12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--surface) 92%,var(--rose)));
  cursor:pointer;
  text-align:center;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.payout-details .payment-option:has(input:checked) {
  border-color:var(--brand);
  background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,var(--surface) 75%,var(--rose)));
  box-shadow:0 5px 16px #c6283d0c,inset 0 0 0 .5px var(--brand);
}
.payout-details .payment-option:has(input:focus-visible) { outline:3px solid var(--brand); outline-offset:3px; }
.payout-details .payment-option input {
  position:absolute;
  top:10px;
  right:10px;
  width:16px;
  height:16px;
  margin:0;
  border-color:var(--muted);
  cursor:pointer;
}
.payout-details .payment-option input:checked { border-color:var(--brand-solid); background-color:var(--brand-solid); box-shadow:0 2px 5px #c6283d20; }
.payout-details .payment-option strong { font-size:.88rem; font-weight:750; line-height:1.4; margin-top:8px; }
.payment-subtitle { font-size:.69rem; line-height:1.4; color:var(--muted); margin-top:2px; }
.payment-art { display:flex; align-items:center; justify-content:center; width:100%; height:43px; }
.payment-logo { display:block; width:44px; height:43px; object-fit:contain; }
.payment-logo-skrill { width:81px; }
.payment-crypto-logos { display:flex; align-items:center; justify-content:center; width:100%; max-width:102px; }
.payment-crypto-logos img { display:block; width:calc((100% + 4px)/3); max-width:34px; min-width:0; height:auto; aspect-ratio:1; object-fit:contain; }
.payment-crypto-logos img + img { margin-left:-2px; }
.payment-crypto-logos img[src$="ethereum.svg"] { border-radius:50%; background:#eef0ff; }
.payout-input { position:relative; }
.payout-input > .icon { position:absolute; z-index:1; left:15px; top:44px; width:20px; height:20px; color:var(--muted); pointer-events:none; }
.payout-details .form-label { font-size:.86rem; font-weight:700; margin-bottom:9px; }
.payout-details .form-control { min-height:51px; border-radius:13px; padding:12px 16px 12px 45px; font-size:.86rem; background-color:var(--surface); }
.payout-details .form-select { min-height:51px; border-radius:13px; font-size:.86rem; }
.payout-details .form-control[readonly] { color:var(--muted); background:color-mix(in srgb,var(--surface) 80%,var(--paper)); }
.payout-details .invalid-feedback { font-size:.74rem; }
.payout-help { display:flex; align-items:start; gap:10px; padding:14px; background:var(--brand-soft); color:var(--muted); border-radius:14px; margin:4px 0 16px; }
.payout-help > .icon { flex:none; width:19px; height:19px; color:var(--brand); margin-top:1px; }
.payout-help p { font-size:.75rem; line-height:1.6; margin:0; }
.payout-save { display:flex; align-items:center; gap:12px; width:100%; padding:14px; border:1px solid var(--line); border-radius:14px; color:var(--ink); background:var(--surface); text-align:left; }
.payout-save > span:last-child { display:grid; gap:4px; }
.payout-save strong { font-size:.86rem; font-weight:700; }
.payout-save strong + span { font-size:.73rem; line-height:1.5; color:var(--muted); }
.payout-save-check { display:grid; place-items:center; flex:none; width:27px; height:27px; border:1.5px solid var(--line); border-radius:8px; }
.payout-save-check .icon { width:19px; height:19px; opacity:0; }
.payout-save.is-saved .payout-save-check { color:var(--on-feature); border-color:var(--brand-solid); background:var(--brand-solid); box-shadow:0 3px 8px #c6283d20; }
.payout-save.is-saved .payout-save-check .icon { opacity:1; }
.payout-save:focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
.payout-save:disabled { cursor:default; }
.payout-save[aria-busy="true"] { opacity:.7; }
.payout-request { margin-top:20px; }
.payout-details #request-payout { display:flex; align-items:center; justify-content:center; gap:12px; min-height:53px; border:0; border-radius:14px; color:var(--on-feature); background:linear-gradient(115deg,#ee446f,var(--brand-solid)); font-size:.98rem; font-weight:700; box-shadow:0 8px 18px #c6283d1a; }
.payout-details #request-payout:disabled { opacity:.5; box-shadow:none; }
.payout-details #request-payout[aria-busy="true"] { opacity:.75; }
.payout-details #request-payout:focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
.payout-request .form-text { font-size:.72rem; line-height:1.6; margin-top:14px; }
.payout-availability { font-size:.8rem; line-height:1.5; color:var(--muted); }
@container (min-width:480px) {
  .payout-details .card-body { padding:26px; }
  .payout-details .payment-choice { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
  .payout-details .payment-option { min-height:130px; padding-top:22px; }
  .payout-details .payment-option strong { font-size:.83rem; }
  .payment-subtitle { font-size:.65rem; }
}
@media(hover:hover) {
  .payout-details .payment-option:hover { border-color:var(--brand); box-shadow:0 5px 18px #c6283d12; }
  .payout-save:not(:disabled):hover { border-color:var(--brand); background:var(--brand-soft); }
  .payout-details #request-payout:not(:disabled):hover { filter:brightness(.96); box-shadow:0 10px 22px #c6283d28; }
}
.copy-field{display:flex;background:var(--surface);border:1px solid var(--line);padding:7px;border-radius:12px;gap:9px;align-items:center}
.copy-field input{width:100%;min-width:0;background:none;border:0;padding:5px 10px;color:var(--ink);font-size:.78rem;outline:none}
.copy-field .btn{flex-shrink:0}
.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:23px;align-items:start}
.settings-avatar.avatar{width:56px;height:56px;font-size:1rem}
.settings-theme-button.btn{min-height:28px;padding:3px 9px;font-size:.75rem;line-height:1.4;border-radius:8px}
.profile-phone>.form-select{flex:0 0 6.5rem;width:6.5rem;padding-inline-end:2rem}
.profile-phone>.form-control{min-width:0}
.email-preference .form-switch{font-size:1.125rem}
.email-preference .form-check-input:checked{background-color:var(--bs-success);border-color:var(--bs-success)}
.list-action{width:100%;padding:16px 0;background:none;border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;text-align:left;color:var(--ink);font-size:.8rem}
.list-action:last-child{border:0}
.list-action>.icon:last-child{margin-left:auto;width:16px;color:var(--muted)}
.list-action>span{flex:1}
.notification-card{padding:22px;display:flex;gap:15px}
.notification-card.unread{border-left:3px solid var(--brand)}
.notification-card h3{font-size:.94rem;margin:2px 0 8px}
.notification-card>.flex-grow-1{min-width:0}
.notification-body{font-size:.79rem;color:var(--muted);overflow-wrap:anywhere;margin-bottom:1rem}
.notification-body>:last-child{margin-bottom:0}
.notification-card .timestamp{font-size:.65rem;color:var(--muted)}
.notification-icon{background:var(--brand-soft);color:var(--brand);border-radius:13px;padding:11px;height:44px}
.step-metric{padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:13px;margin:23px 0;overflow-wrap:anywhere}
.step-metric .metric{font-size:1.25rem;font-weight:750;display:block;margin-top:9px}
.spin-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
.wheel-stage{min-height:420px;display:grid;place-items:center;position:relative;background:radial-gradient(circle,var(--brand-soft),transparent 70%)}
.spin-wheel{width:310px;height:310px;border-radius:50%;background:conic-gradient(var(--brand-solid) 0 45deg,#f9e9ec 45deg 90deg,#f4a08b 90deg 135deg,#f8eff0 135deg 180deg,var(--brand-solid) 180deg 225deg,#f9e9ec 225deg 270deg,#f4a08b 270deg 315deg,#f8eff0 315deg);border:9px solid var(--surface);box-shadow:0 0 0 1px var(--line),0 15px 50px #551d2622;position:relative;transition:transform 3s cubic-bezier(.12,.64,.1,1)}
.spin-wheel:after{content:'✦';display:grid;place-items:center;font-size:2.5rem;width:80px;height:80px;border:8px solid var(--surface);border-radius:50%;background:var(--navy);color:white;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.wheel-pointer{position:absolute;top:43px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:29px solid var(--navy);z-index:2}
.wheel-star{position:absolute;color:white;font-size:1.8rem;left:45%;top:7%;transform:rotate(22deg)}
.wheel-star:nth-child(2){left:78%;top:43%}
.wheel-star:nth-child(3){left:45%;top:79%}
.wheel-star:nth-child(4){left:10%;top:43%}
.scratch-card{background:var(--navy);color:white;border:0;border-radius:20px;min-height:250px;padding:26px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.scratch-card:before{content:'';position:absolute;inset:12px;border:1px dashed #ffffff40;border-radius:12px;pointer-events:none}
.scratch-card>.icon{width:47px;height:47px;color:#f4d4da;margin-bottom:15px}
.scratch-card h3{font-size:1.3rem}
.scratch-card p{font-size:.73rem;color:var(--on-feature-muted)}
.scratch-card .btn{z-index:1}
.reward-result{text-align:center;padding:15px}
.reward-result .state-icon{margin:auto auto 25px}
.reward-result h3{font-size:2rem}
.reward-result p{color:var(--muted);font-size:.87rem}
.public-page{max-width:850px;padding:60px 24px 80px;margin:auto}
.public-page h1{font-size:3rem;margin:17px 0 24px}
.public-page .lead{font-size:1rem;color:var(--muted)}
.legal-copy h2{font-size:1.3rem;margin-top:32px}
.legal-copy p,.legal-copy li{font-size:.86rem;color:var(--muted);line-height:1.9}
.legal-copy ul{padding-left:20px}
.empty-state{text-align:center;padding:45px 25px}
.empty-state h3{font-size:1.15rem;margin:20px 0 10px}
.empty-state p{color:var(--muted);font-size:.8rem;max-width:370px;margin:0 auto 20px}
.state-icon{width:61px;height:61px;display:grid;place-items:center;border-radius:19px;background:var(--brand-soft);color:var(--brand);margin:auto}
.state-icon>.icon{width:27px;height:27px}
.loading-state{padding:60px 20px;min-height:220px;display:grid;align-content:center;justify-items:center;gap:23px}
.loading-state p{font-size:.79rem;color:var(--muted)}
.loader-orbit{width:39px;height:39px;border:2px solid var(--line);border-radius:50%;border-top-color:var(--brand);animation:spin 1s linear infinite}
.boot-screen{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:22px}
.boot-screen p{color:var(--muted);font-size:.8rem}
#app>.loading-state,.boot-screen{min-height:100vh;min-height:100dvh;text-align:center}
#app>.loading-state p,.boot-screen p{margin:0}
.boot-mark{display:block;width:58px;height:58px;margin-inline:auto;animation:float 2s infinite}
.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.skeleton{height:155px;border-radius:20px;background:linear-gradient(100deg,var(--line),var(--surface),var(--line));background-size:200% 100%;animation:shimmer 1.4s infinite}
.modal-content{background:var(--surface);border:1px solid var(--line);border-radius:23px;padding:8px}
.modal-header,.modal-footer{border-color:var(--line);padding:18px}
.modal-body{padding:22px 18px;font-size:.87rem}
.modal-body p:last-child{margin-bottom:0}
.skip-link{position:absolute;left:16px;top:-70px;z-index:2000;background:var(--brand);color:white;padding:12px 20px;border-radius:10px}
.skip-link:focus{top:15px}
/* Watch dialog: decorative presentation is independent of playback accounting. */
.player-overlay,.player-exit {
  --player-surface:#101116; --player-muted:#bdb8c5; --player-line:#ffffff1a;
  --player-red:#ff286c; --player-pink:#ffb1d1;
  position:fixed; inset:0; z-index:1050; display:flex; overflow-y:auto; overscroll-behavior:contain; outline:0;
  padding:max(12px,calc(env(safe-area-inset-top) + var(--toast-clearance,0px))) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background:#060407b8; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#faf9fc; animation:player-backdrop-in .3s ease both;
}
.player-dialog {
  position:relative; flex:none; width:min(100%,760px); max-height:100%; min-height:0; margin:auto; padding:16px;
  overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#55404d transparent; scroll-padding-block:16px;
  border:1px solid var(--player-line); border-radius:28px; color-scheme:dark;
  background:radial-gradient(ellipse at 100% 100%,#e114551f,transparent 55%),radial-gradient(ellipse at 0 0,#81112b1a,transparent 36%),linear-gradient(145deg,#17151d,#101116 60%,#1b1019);
  box-shadow:0 24px 80px #0007,inset 0 1px 0 #ffffff05; animation:player-dialog-in .3s cubic-bezier(.2,.7,.25,1) both;
}
.player-toolbar { position:relative; display:flex; align-items:center; gap:12px; width:100%; }
.player-heading-icon { display:grid; place-items:center; flex:none; width:48px; height:48px; border-radius:17px; background:linear-gradient(135deg,#ff315e,#f50050); border:1px solid #ff557b80; box-shadow:0 5px 22px #ee134426; }
.player-heading-icon .icon { width:26px; height:26px; padding:3px; border-radius:7px; color:var(--player-red); background:#fff; fill:currentColor; stroke-width:1; }
.player-heading { flex:1; min-width:0; }
.player-toolbar h2 { font-size:clamp(19px,3.8vw,26px); font-weight:800; letter-spacing:-.035em; line-height:1.25; margin:0 0 5px; color:#faf9fc; }
.player-heading p { font-size:13px; line-height:1.45; color:var(--player-muted); margin:0; }
.player-toolbar .player-close { flex:none; width:44px; height:44px; min-width:44px; border-radius:50%; color:#f8f7fb; border:1px solid var(--player-line); background:linear-gradient(145deg,#28262e,#1a1820); transition:background .2s ease,transform .2s ease; }
.player-close .icon { width:25px; height:25px; }
.player-content { position:relative; }
.is-finding-next :is(.player-reward,.player-stage,.player-bottom) { visibility:hidden; }
.player-discovery { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px 12px; text-align:center; background:radial-gradient(ellipse at 50% 34%,color-mix(in srgb,var(--player-red) 9%,transparent),transparent 62%); animation:player-reward-in .35s ease both; }
.player-discovery[hidden] { display:none; }
.player-discovery-art { position:relative; flex:none; width:170px; height:148px; margin-bottom:24px; }
.player-discovery-art::before { content:""; position:absolute; inset:0 11px; border:1px solid var(--player-line); border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--player-red) 12%,transparent),transparent 70%); }
.player-discovery-card { position:absolute; top:34px; left:41px; width:88px; height:82px; border:1px solid color-mix(in srgb,var(--player-red) 40%,transparent); border-radius:18px; background:color-mix(in srgb,var(--player-red) 13%,var(--player-surface)); transform:translateX(-24px) rotate(-18deg); }
.player-discovery-card:nth-child(2) { transform:translateX(24px) rotate(18deg); }
.player-discovery-card:nth-child(3) { display:grid; place-items:center; transform:rotate(-5deg); background:linear-gradient(145deg,color-mix(in srgb,var(--player-red) 75%,white),var(--player-red)); border-color:color-mix(in srgb,var(--player-red) 55%,white); box-shadow:0 12px 40px color-mix(in srgb,var(--player-red) 25%,transparent),inset 0 1px 0 var(--player-line); animation:player-discovery-float 2s ease-in-out infinite; }
.player-discovery-card .icon { width:34px; height:34px; fill:currentColor; }
.player-discovery-spark { position:absolute; top:12px; right:17px; width:25px; height:25px; color:var(--player-pink); }
.player-discovery-eyebrow { margin-bottom:12px; font-size:10px; font-weight:750; letter-spacing:.2em; color:color-mix(in srgb,var(--player-red) 60%,white); }
.player-discovery h3 { max-width:390px; margin:0 0 12px; font-size:clamp(23px,4.5vw,32px); line-height:1.2; letter-spacing:-.04em; color:inherit; }
.player-discovery p { max-width:320px; margin:0; font-size:13px; line-height:1.6; color:var(--player-muted); }
.player-discovery-loading { display:inline-flex; align-items:center; gap:9px; margin-top:28px; padding:9px 15px; border:1px solid var(--player-line); border-radius:99px; color:var(--player-muted); font-size:11px; }
.player-discovery-loading .spinner-border { width:13px; height:13px; border-width:2px; color:var(--player-red); }
/* Static waves stay behind the copy; the reward always uses the shared money formatter. */
.player-reward {
  position:relative; isolation:isolate; container-type:inline-size; display:grid; place-items:center; overflow:hidden;
  margin:20px 0 14px; padding:14px 16px; min-height:108px; border:1px solid #f465a34d; border-radius:21px;
  background:radial-gradient(ellipse at 0% 50%,#ff196e3b,transparent 60%),radial-gradient(ellipse at 100% 50%,#be145a47,transparent 60%),linear-gradient(120deg,#231727,#171522 50%,#35132b);
  box-shadow:inset 0 1px 0 #ffffff08;
}
.player-reward::before,.player-reward::after,.player-autoplay::after { content:""; position:absolute; z-index:-1; pointer-events:none; border-radius:50%; }
.player-reward::before { width:75%; height:160%; inset-inline-start:-23%; top:43%; transform:rotate(26deg); background:linear-gradient(135deg,#ee4d9b17,#9b234921 55%,#ed174d0a); box-shadow:36px -30px 0 #28223b21; }
.player-reward::after { width:64%; height:130%; inset-inline-end:-24%; top:48%; transform:rotate(-25deg); border-top:1px solid #f834783b; background:linear-gradient(180deg,#e8206b14,#6d2b721a); box-shadow:0 22px 0 #e82a7412,0 44px 0 #ea317311; }
.player-reward-copy { width:100%; min-width:0; text-align:center; position:relative; }
.player-reward-copy p { color:#f3dce9; margin:0 0 3px; font-size:14px; line-height:1.5; }
.player-reward-amount {
  display:block; font-family:Manrope,sans-serif; font-size:46px;
  font-size:clamp(22px,min(max(40px,14cqi),calc(160cqi / var(--player-amount-length))),64px);
  font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.045em; line-height:1.15; overflow-wrap:anywhere;
  color:#ff8fba; animation:player-reward-in .45s .1s ease both;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .player-reward-amount { background:linear-gradient(180deg,#ffb1d1 0%,#ff5c9d 55%,#ff286c 100%); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
}
.player-stage { position:relative; width:100%; flex:none; background:#000; border:1px solid #ffffff08; border-radius:22px; overflow:hidden; }
/* A reserved strip inside the frame keeps the disclosure off YouTube's title,
   branding and controls. Native iframe fullscreen stays owned by the provider. */
.player-disclosure { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:42px; padding:7px 10px; pointer-events:none; }
.player-sponsor { display:inline-flex; align-items:center; gap:8px; min-width:0; max-width:100%; padding:4px 9px 4px 5px; border:1px solid #ffffff2e; border-radius:999px; background:#16161ec7; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); color:#faf9fc; font-size:11px; font-weight:600; line-height:1.3; }
.player-ad-label { flex:none; padding:3px 5px; border:1px solid #ffb1d14d; border-radius:5px; background:linear-gradient(135deg,#d92360,#a80942); color:#fff; font-size:10px; }
.player-sponsor-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-countdown { display:inline-flex; align-items:center; flex:none; gap:5px; padding:5px 8px; border:1px solid var(--player-line); border-radius:999px; background:var(--player-surface); color:var(--player-pink); font-size:12px; line-height:1.3; white-space:nowrap; font-variant-numeric:tabular-nums; }
.player-countdown .icon { width:14px; height:14px; }
.player-countdown strong { display:inline-block; min-width:2ch; text-align:end; font-weight:750; }
.player-viewport { position:relative; width:100%; aspect-ratio:16/9; min-height:200px; }
.player-stage iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.player-pause { position:absolute; inset:0; z-index:2; background:#130e15ed; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:20px; overflow-y:auto; }
.player-pause h3 { font-size:clamp(1.05rem,3vw,1.5rem); color:#fff; }
.player-pause p { color:var(--player-muted); font-size:.82rem; margin-bottom:12px; }
.player-pause .btn { font-size:.8rem; min-height:44px; }
.player-bottom { padding-top:18px; }
.player-autoplay { position:relative; isolation:isolate; display:flex; align-items:center; gap:14px; min-height:78px; width:100%; padding:16px; overflow:hidden; cursor:pointer; border:1px solid var(--player-line); border-radius:20px; background:radial-gradient(ellipse at 100% 65%,#a20e3a26,transparent 65%),linear-gradient(110deg,#26202de6,#4f102b8c); box-shadow:inset 0 1px 0 #ffffff05; transition:border-color .2s ease,box-shadow .2s ease; }
.player-autoplay::after { width:45%; height:105%; inset-inline-end:-12%; top:42%; transform:rotate(-30deg); border-top:1px solid #f8347826; background:linear-gradient(180deg,#f1135112,#f1135100); box-shadow:-20px 16px 0 #f1135110; }
.player-autoplay .player-autoplay-input { position:relative; flex:none; width:30px; height:30px; margin:0; border:1px solid #77717e; border-radius:9px; background-color:#28242f; cursor:pointer; transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.player-autoplay .player-autoplay-input:checked { background-color:var(--player-red); background-image:var(--bs-form-check-bg-image),linear-gradient(135deg,#ff3664,#f50050); background-size:100% 100%; border-color:#ff8db0; box-shadow:inset 0 0 0 2px #ffadc43b,0 3px 12px #fc174b1f; }
.player-autoplay-copy { position:relative; flex:1; min-width:0; }
.player-autoplay-copy strong { display:block; color:#faf9fc; font-size:15px; font-weight:700; line-height:1.35; }
.player-autoplay-copy > span { display:block; color:var(--player-muted); font-size:12px; line-height:1.5; margin-top:4px; }
.player-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:16px; }
.player-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; font-size:14px; font-weight:700; color:#faf9fc; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.player-actions .player-skip { padding:12px 16px; border:1px solid var(--player-line); border-radius:17px; background:linear-gradient(135deg,#25232c,#1b1922); box-shadow:inset 0 1px 0 #ffffff04; }
.player-skip .icon { width:18px; height:18px; }
.player-skip .icon:last-child { width:22px; height:22px; margin-inline-start:6px; }
.player-actions .player-report { position:relative; color:#d4d1db; border:0; padding:10px 4px 10px 14px; }
.player-report::before { content:""; position:absolute; inset-inline-start:0; height:24px; border-inline-start:1px solid #ffffff26; }
.player-report .icon { width:21px; height:21px; }
.player-dialog :is(button,input):focus-visible { outline:2px solid #ffbcce; outline-offset:4px; box-shadow:none; }
.player-autoplay:focus-within { border-color:#ff8ca9; }
.player-dialog :is(.player-close,.player-skip,.player-report):active { transform:scale(.97); }
.player-exit { pointer-events:none; animation:player-backdrop-out .25s ease both; }
.player-exit .player-dialog { animation:player-dialog-out .25s ease both; }
@media(hover:hover) {
  .player-toolbar .player-close:hover { background:#37313d; color:#fff; }
  .player-autoplay:hover { border-color:#f3517977; box-shadow:inset 0 0 22px #ff245109; }
  .player-actions .player-skip:hover { background:#322d39; border-color:#ffffff38; color:#fff; }
  .player-actions .player-report:hover { color:#fff; background:#ffffff08; }
}
@media(min-width:576px) {
  .player-overlay,.player-exit { padding:max(24px,calc(env(safe-area-inset-top) + var(--toast-clearance,0px))) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); }
  .player-dialog { padding:24px; }
  .player-toolbar { gap:20px; }
  .player-heading-icon { width:64px; height:64px; border-radius:50%; }
  .player-heading-icon .icon { width:32px; height:32px; border-radius:8px; }
  .player-toolbar .player-close { width:56px; height:56px; }
  .player-heading p { font-size:16px; }
  .player-reward { margin:24px 0 18px; min-height:124px; padding-block:14px; border-radius:24px; }
  .player-reward-copy p { font-size:18px; }
  .player-disclosure { padding-inline:14px; }
  .player-sponsor { font-size:12px; }
  .player-bottom { padding-top:24px; }
  .player-autoplay { min-height:96px; padding:20px 24px; gap:22px; }
  .player-autoplay .player-autoplay-input { width:36px; height:36px; border-radius:10px; }
  .player-autoplay-copy strong { font-size:20px; }
  .player-autoplay-copy > span { font-size:15px; }
  .player-actions { padding-top:20px; }
  .player-actions .btn { font-size:18px; min-height:62px; gap:18px; }
  .player-actions .player-skip { padding-inline:26px; min-width:46%; }
  .player-skip .icon { width:23px; height:23px; }
  .player-skip .icon:last-child { width:27px; height:27px; margin-inline-start:auto; }
  .player-actions .player-report { padding-inline:30px 16px; }
  .player-report .icon { width:26px; height:26px; }
  .player-report::before { height:32px; }
}
@media(max-width:374px) {
  .player-dialog { padding:12px; border-radius:24px; }
  .player-toolbar { gap:8px; }
  .player-toolbar h2 { font-size:19px; }
  .player-heading p { font-size:12px; }
  .player-reward { margin-top:16px; padding-block:12px; }
  .player-autoplay { padding:14px 12px; gap:10px; }
  .player-autoplay-copy strong { font-size:14px; }
  .player-autoplay-copy > span { font-size:11px; }
  .player-actions { gap:8px; }
  .player-actions .btn { gap:7px; font-size:13px; }
  .player-actions .player-skip { padding-inline:12px; }
  .player-skip .icon:last-child { margin-inline-start:0; }
}
@media(max-height:600px) {
  .player-reward { min-height:96px; padding-block:10px; }
  .player-bottom { padding-top:12px; }
}
@keyframes player-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes player-dialog-in { from { opacity:0; transform:translateY(12px) scale(.975); } to { opacity:1; transform:none; } }
@keyframes player-reward-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@keyframes player-discovery-float { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-7px) rotate(0); } }
@keyframes player-backdrop-out { to { opacity:0; } }
@keyframes player-dialog-out { to { opacity:0; transform:translateY(8px) scale(.985); } }
@media(prefers-reduced-motion:reduce) {
  .player-overlay,.player-exit,.player-dialog,.player-reward-amount,.player-autoplay,.player-autoplay-input,.player-close,.player-actions .btn,.player-discovery,.player-discovery-card,.player-discovery-loading .spinner-border { animation:none!important; transition:none!important; }
}

.table{--bs-table-bg:var(--surface);--bs-table-color:var(--ink);font-size:.8rem}
.table th{font-size:.68rem;color:var(--muted);font-weight:550;padding:14px}
.table td{padding:16px 14px;vertical-align:middle}
.table-responsive{border-radius:12px}
.promotion-card{padding:15px;border:1px solid var(--line);border-radius:16px;margin-bottom:20px;background:var(--surface);position:relative}
.promotion-card img{width:100%;max-height:220px;object-fit:contain;border-radius:10px}
.promotion-card .promotion-label{font-size:.6rem;letter-spacing:.1em;color:var(--muted);margin-bottom:10px}
.promotion-card .promotion-close{position:absolute;right:8px;top:8px;width:30px;height:30px;z-index:2}


@keyframes float{0%,100%{translate:0 0}
50%{translate:0 -9px}
}
@keyframes spin{to{transform:rotate(360deg)}
}
@keyframes shimmer{to{background-position:-200% 0}
}

@media(min-width:1440px){.hero{padding:90px 0 85px}
.hero-art{min-height:530px}
.hero-grid{gap:70px}
.video-phone{width:265px;height:464px}
.orbit-ring{width:500px;height:500px}
}

@media(max-width:1199px){.public-nav{gap:22px}
.hero-grid{gap:20px}
.hero h1{font-size:4rem}
.hero-art{min-height:470px}
.orbit-ring{width:380px;height:380px}
.mini-video{width:128px;left:0}
.float-card{padding:12px}
.float-card.top{right:-10px}
.float-card.bottom{left:-6px}
.sidebar{width:215px;padding:28px 18px}
.member-area{margin-left:215px}
.member-main{padding:30px 25px 60px}
.member-header{padding:0 25px}
.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-grid{grid-template-columns:1.5fr 1fr}
.balance-grid{gap:12px}
.balance-card{padding:20px}
.balance-amount{font-size:1.8rem}
.payment-logos{gap:27px}
}

@media(max-width:991px){.public-nav{display:none}
.menu-toggle{display:inline-grid}
.hero h1{font-size:3.5rem}
.hero-art{min-height:420px}
.video-phone{width:208px;height:370px}
.mini-video{width:104px;height:163px;top:105px;left:0}
.orbit-ring{width:330px;height:330px}
.float-card.top{top:0;right:-8px}
.float-card.bottom{bottom:0;left:0}
.float-card strong{font-size:.7rem}
.float-card p{font-size:.56rem}
.float-card .bubble{width:33px;height:33px}
.hero-desc{font-size:.92rem}
.hero-cta .btn{font-size:.8rem;padding:.9rem 1.1rem}
.steps-grid{gap:15px}
.step-card{padding:24px 20px}
.section-head h2,.feature-copy h2,.faq-grid h2{font-size:2.1rem}
.feature-grid,.faq-grid{gap:40px}
.payment-strip .container-xl{gap:20px}
.payment-logos{gap:22px}
.payment-logo{font-size:.93rem}
.sidebar{width:190px;padding:28px 14px}
.sidebar .brand{font-size:1.1rem;gap:6px}
.sidebar .brand img{width:29px;height:29px}
.member-area{margin-left:190px}
.dashboard-grid{grid-template-columns:1fr}
.side-stack{grid-template-columns:1fr 1fr}
.balance-card{padding:17px}
.balance-amount{font-size:1.5rem}
.balance-card .label{font-size:.66rem}
.balance-card .label .icon{width:17px}
.balance-note{font-size:.6rem}
.wallet-grid,.settings-grid{grid-template-columns:1fr}
.spin-layout{grid-template-columns:1fr 1fr;gap:15px}
.spin-wheel{width:240px;height:240px}
.wheel-stage{min-height:340px}
.wheel-pointer{top:39px}
.auth-art{padding:35px}
.auth-art h2{font-size:2.5rem}
.auth-form-wrap{padding:40px 28px}
}

@media(max-width:767px){.container-xl{padding-left:21px;padding-right:21px}
.public-header{height:76px}
.public-actions{gap:7px}
.public-actions>.btn-light{display:none}
.public-actions>.btn-primary{font-size:.73rem;padding:.6rem .95rem;min-height:39px}
.brand{font-size:1.2rem;gap:8px}
.brand img{width:31px;height:31px}
.public-actions .theme-toggle{display:none}
.hero{padding:44px 0 36px}
.hero-grid{grid-template-columns:1fr;gap:25px}
.hero-copy{max-width:540px}
.hero h1{font-size:3.35rem;max-width:400px;margin-bottom:24px}
.hero-kicker{font-size:.64rem;margin-bottom:20px}
.hero-desc{max-width:365px;font-size:.87rem;margin-bottom:23px}
.hero-note{font-size:.66rem;gap:14px;margin-top:20px}
.hero-cta .btn{padding:.88rem 1.1rem;font-size:.82rem}
.hero-art{min-height:430px;max-width:440px;width:100%;margin:5px auto 0}
.video-phone{width:225px;height:389px}
.orbit-ring{width:345px;height:345px}
.mini-video{width:122px;height:182px;top:95px;left:10px}
.float-card.top{right:0;top:12px}
.float-card.bottom{bottom:5px;left:5px}
.float-card{padding:12px 14px}
.float-card strong{font-size:.77rem}
.float-card p{font-size:.59rem}
.art-caption{bottom:20px;right:0}
.art-spark{left:12px;top:15px}
.payment-strip{padding:21px 0}
.payment-strip .container-xl{display:block}
.payment-strip p{max-width:none;text-align:center;font-size:.68rem;margin-bottom:19px}
.payment-logos{display:grid;grid-template-columns:1fr 1fr;gap:19px 25px;justify-items:center;max-width:340px;margin:auto}
.payment-logo{font-size:1.07rem}
.section{padding:53px 0}
.section-head{display:block;margin-bottom:26px}
.section-head h2{font-size:2rem;max-width:320px}
.section-head p{max-width:none;margin-top:16px;font-size:.79rem}
.steps-grid{grid-template-columns:1fr;gap:13px}
.step-card{padding:23px;min-height:160px;display:grid;grid-template-columns:49px 1fr;gap:0 19px}
.step-icon{width:47px;height:47px;border-radius:14px;margin:1px 0;grid-row:1/3}
.step-card h3{font-size:.97rem;padding-right:20px;margin:4px 0 10px}
.step-card p{grid-column:2;font-size:.77rem}
.step-number{top:24px;right:21px;font-size:.6rem}
.feature-grid,.faq-grid{grid-template-columns:1fr;gap:33px}
.feature-illustration{min-height:285px;order:2}
.feature-copy h2,.faq-grid h2{font-size:2rem}
.feature-copy>p{font-size:.83rem}
.feature-check{margin-top:19px}
.stat-cell{padding:20px 8px}
.stat-cell strong{font-size:1.6rem}
.stat-cell span{font-size:.6rem}
.faq-grid{gap:12px}
.faq-list summary{font-size:.82rem}
.footer-top{display:block;margin-bottom:28px}
.footer-links{flex-wrap:wrap;gap:17px 25px;margin-top:27px;font-size:.74rem}
.footer-bottom{display:block;font-size:.62rem}
.footer-bottom span{display:block;margin-bottom:10px}
.public-footer{padding-top:35px}
.auth-art{display:none}
.auth-layout{display:block;min-height:auto}
.auth-form-wrap{padding:37px 25px 50px;max-width:480px}
.auth-form-wrap h1{font-size:1.9rem}
.sidebar{display:none}
.member-area{margin:0}
.member-header{height:76px;padding:0 20px;position:sticky;top:0;z-index:20}
.member-breadcrumb{display:none}
.member-header .mobile-brand{display:block!important}
.header-tools{gap:9px}
.header-tools .icon-btn{width:36px;height:36px;border:0;background:none}
.header-tools .avatar{width:34px;height:34px;font-size:.68rem}
.member-main{padding:25px 20px 100px}
.page-heading{margin-bottom:23px;align-items:flex-start}
.page-heading h1{font-size:1.55rem;margin-bottom:6px}
.page-heading p{font-size:.75rem;max-width:250px}
.page-heading .btn{font-size:.7rem;padding:.55rem .75rem;min-height:38px}
.greeting-note{display:none}
.balance-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}
.balance-card.primary{grid-column:1/-1;padding:23px;min-height:139px}
.balance-card.primary .label{font-size:.76rem}
.balance-card.primary .balance-amount{font-size:2.35rem;margin:8px 0 5px}
.balance-card.primary .balance-note{font-size:.69rem}
.balance-card{min-height:123px;padding:18px}
.balance-card .label{font-size:.69rem}
.balance-amount{font-size:1.6rem;margin:12px 0 6px}
.balance-note{font-size:.65rem}
.dashboard-grid{gap:25px}
.side-stack{gap:15px}
.card-body{padding:21px}
.video-info{padding:17px}
.video-info h3{font-size:.91rem}
.reward-pill{font-size:.87rem;padding:9px 11px}
.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--line);padding:10px 10px calc(10px + env(safe-area-inset-bottom));z-index:1020;box-shadow:0 -5px 25px #42171e04}
.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.59rem;color:var(--muted);font-weight:500;min-height:43px}
.mobile-nav a.active{color:var(--brand);font-weight:750}
.mobile-nav .wallet-nav .icon{background:var(--brand);color:#fff;width:43px;height:39px;border-radius:13px;padding:8px;margin-top:-17px;box-shadow:0 0 0 5px var(--surface)}
.mobile-nav .wallet-nav{gap:5px}
.mobile-nav .icon{width:22px;height:22px}
.member-footer{font-size:.72rem}
.notice{padding:13px;font-size:.71rem;gap:9px}
.notice>.icon{width:18px}
.notice .btn{font-size:.7rem;padding:.4rem .65rem;min-height:33px}
/* Keep icon and copy together; only the action moves below on mobile. */
.notice:has(>.icon):has(>.btn){display:grid;grid-template-columns:18px minmax(0,1fr)}
.notice:has(>.icon)>.btn{grid-column:2;justify-self:start;margin-inline:0;max-width:100%;white-space:normal}
.card-grid{gap:13px}
.offer-card{padding:17px;min-height:300px}
.offer-top{flex-direction:column;gap:11px}
.offer-logo{width:45px;height:45px;border-radius:11px}
.offer-card h3{font-size:.86rem;margin-top:15px}
.offer-card p{font-size:.68rem}
.offer-card .reward-pill{font-size:.73rem;padding:6px 9px}
.offer-card .btn{font-size:.7rem;padding:.65rem .5rem}
.wallet-grid{gap:20px}
.copy-field{margin-top:20px}
.copy-field .btn{padding:.7rem .8rem;font-size:.73rem}
.settings-grid{gap:18px}
.spin-layout{grid-template-columns:1fr}
.wheel-stage{min-height:345px}
.spin-wheel{width:280px;height:280px}
.wheel-pointer{top:23px}
.notification-card{padding:18px;gap:12px}
.notification-icon{padding:9px;height:38px}
.notification-card h3{font-size:.87rem}
.public-page{padding-top:42px}
.public-page h1{font-size:2.3rem}
.public-page .lead{font-size:.9rem}
.skeleton-grid{grid-template-columns:1fr 1fr}
.skeleton:first-child{grid-column:1/-1}
.modal-dialog{margin:15px}
.modal-footer .btn{font-size:.79rem}
}

@media(max-width:374px){.container-xl{padding:0 17px}
.hero h1{font-size:2.95rem}
.hero-art{min-height:405px}
.video-phone{width:205px;height:366px}
.orbit-ring{width:300px;height:300px}
.mini-video{left:0;width:107px}
.float-card{padding:10px}
.float-card .bubble{width:30px;height:30px}
.hero-note{gap:9px;font-size:.62rem}
.hero-cta{gap:9px}
.hero-cta .btn{font-size:.75rem;padding:.85rem .95rem}
.member-main{padding-left:16px;padding-right:16px}
.member-header{padding:0 16px}
.header-tools{gap:6px}
.header-tools .theme-toggle{display:none}
.side-stack{grid-template-columns:1fr}
.card-grid{grid-template-columns:1fr}
.offer-top{flex-direction:row}
.offer-card{min-height:230px}
.balance-card{padding:15px}
.page-heading h1{font-size:1.4rem}
.stat-cell strong{font-size:1.35rem}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

[hidden]{display:none!important}

.promotion-link{display:block;border:0;padding:0;background:none;text-align:left;width:100%;color:inherit}
.promotion-link.btn{width:auto;padding:.6rem 1rem}
.promotion-floating{position:fixed;right:22px;bottom:20px;z-index:1025;width:310px;max-width:calc(100vw - 30px);box-shadow:var(--shadow)}
.payout-notice{position:fixed;left:22px;bottom:22px;z-index:1024;display:flex;align-items:center;gap:13px;max-width:calc(100vw - 40px);background:var(--surface);border:1px solid var(--line);padding:14px;border-radius:16px;box-shadow:var(--shadow)}
.payout-notice .state-icon{width:40px;height:40px;border-radius:12px}
.payout-notice strong{display:block;font-size:.72rem;margin:6px 0}
.payout-notice p{font-size:.63rem;color:var(--muted);margin:0}
.payout-notice .eyebrow{font-size:.52rem}
.payout-notice .icon-btn{width:27px;height:27px;border:0}
.payout-notice .icon-btn .icon{width:14px}
.hero-grid>*{min-width:0}

@media(max-width:767px){.promotion-floating{bottom:87px;right:15px}
.payout-notice{bottom:88px;left:15px;max-width:calc(100vw - 30px)}
.public-page .payout-notice{bottom:20px}
}

/* Catalog-driven reward wheel */
.wheel-stage{min-height:420px;isolation:isolate}
.wheel-assembly{position:relative;width:min(100%,370px);aspect-ratio:1}
.spin-wheel{width:100%;height:100%;border:0;background:none;box-shadow:0 15px 50px #551d2622;transition:transform 3.8s cubic-bezier(.12,.7,.12,1)}
.spin-wheel:after{display:none}
.spin-wheel svg{width:100%;height:100%;display:block;overflow:visible}
.wheel-rim{fill:var(--surface);stroke:var(--line);stroke-width:2}
.wheel-segment>path,.wheel-segment>circle{stroke:var(--surface);stroke-width:1.5}
.wheel-blue{fill:var(--brand)}
.wheel-ice{fill:var(--brand-soft)}
.wheel-navy{fill:#522129}
.wheel-pale{fill:#faedef}
.wheel-coral{fill:#f5ac98}
.wheel-gold{fill:#f3d48c}
.wheel-segment text{fill:var(--ink);font-family:inherit;font-weight:800;letter-spacing:-.5px}
.wheel-blue text,.wheel-navy text{fill:#fff}
.wheel-cash-label{font-size:22px}
.wheel-small-label{font-size:14px}
.wheel-dot{fill:var(--ink);opacity:.22}
.wheel-blue .wheel-dot,.wheel-navy .wheel-dot{fill:#fff;opacity:.5}
.wheel-hub{width:24%;aspect-ratio:1;border:7px solid var(--surface);border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--navy);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 3px 12px #42171e25;container-type:inline-size}
.wheel-hub .icon{width:min(28px,45cqi);height:min(28px,45cqi);flex-shrink:0}
.wheel-hub span{margin-top:min(4px,6cqi);font-size:min(7px,11cqi);line-height:1;letter-spacing:.08em;font-weight:800;white-space:nowrap}
.wheel-pointer{top:-8px;border-left-width:12px;border-right-width:12px;border-top:31px solid var(--navy);filter:drop-shadow(0 3px 2px #42171e30)}
.prize-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.prize-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:21px 10px;background:var(--paper);border:1px solid var(--line);border-radius:18px;text-align:center;min-height:142px}
.prize-card strong{font-size:1.06rem;line-height:1.3}
.prize-card>span:last-child{font-size:.68rem;color:var(--muted)}
.prize-icon{color:var(--brand);width:34px;height:34px;display:grid;place-items:center;background:var(--brand-soft);border-radius:11px}
.prize-special{background:var(--brand-soft)}
.prize-special .prize-icon{background:var(--surface)}
.spin-announcement{text-align:center;font-weight:700;color:var(--brand);min-height:24px;margin:10px 0}
.spin-odds-note{max-width:440px;margin-inline:auto}
.wheel-stage .empty-state{padding:35px 15px}

@media(max-width:991px){.wheel-assembly{width:min(100%,310px)}
.wheel-stage{min-height:340px}
.prize-grid{gap:10px}
.prize-card{padding:18px 9px}
}

@media(max-width:767px){.spin-layout{gap:12px}
.wheel-stage{min-height:330px}
.wheel-assembly{width:min(100%,310px)}
.prize-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.prize-card strong{font-size:.98rem}
.spin-layout #spin-controls{padding:5px 4px 15px}
.spin-odds-note{font-size:.68rem}
.wheel-hub{border-width:6px}
}

@media(prefers-reduced-motion:reduce){.spin-wheel{transition:none}
}

/* Shared surfaces, illustrations and touch-first interactions. */

body { background:var(--paper); }

h1,h2,h3 { text-wrap:balance; }

.btn,.icon-btn,.side-nav a,.mini-task,.list-action,.discovery-card { transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease; }

.btn-primary { --bs-btn-bg:var(--brand-solid); --bs-btn-border-color:var(--brand-solid); --bs-btn-hover-bg:var(--brand-strong); --bs-btn-hover-border-color:var(--brand-strong); --bs-btn-active-bg:var(--brand-strong); --bs-btn-disabled-bg:var(--brand-solid); --bs-btn-disabled-border-color:var(--brand-solid); box-shadow:0 5px 12px #d3596d1a; }

.btn { border-radius:13px; min-height:46px; }

.btn:active:not(:disabled),.icon-btn:active { transform:scale(.98); }

.btn:disabled { opacity:.55; }

.icon-btn { min-width:44px; min-height:44px; border-radius:14px; }

.card { border-color:var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow-wrap:anywhere; }

.card-body { padding:26px; }

.form-control,.form-select { background-color:var(--paper); border-color:var(--line); border-radius:12px; min-height:48px; }

.form-control:focus,.form-select:focus { background-color:var(--surface); border-color:var(--brand); box-shadow:0 0 0 4px var(--brand-soft); }

.form-label { font-size:.8rem; font-weight:650; }

.form-check-input:checked { background-color:var(--brand-solid); border-color:var(--brand-solid); }

.form-text { color:var(--muted); line-height:1.65; }

.public-header { background:var(--surface); }

.public-header .brand-dot,.sidebar .brand-dot { color:var(--brand); }

.hero { background:var(--hero-gradient); }

.hero-kicker { background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow); }

.hero h1 { font-weight:800; }

.hero h1 em { color:var(--brand); }

[data-bs-theme=dark] .hero h1 em { color:var(--brand); }

.hero h1 em:after { border-color:#e6af7a; }

.orbit-ring { background:radial-gradient(ellipse,#ecb9c14d,transparent 68%); border-color:#e4aeb733; }

.orbit-ring:after { border-color:#e4aeb777; }

.float-card { box-shadow:0 12px 36px #67313a1a; animation-iteration-count:3; }

.payment-strip { background:var(--surface); }

.step-card { box-shadow:var(--shadow); }

.step-card:nth-child(2) { background:color-mix(in srgb,var(--rose) 35%,var(--surface)); }

.step-card:nth-child(3) { background:color-mix(in srgb,var(--mint) 40%,var(--surface)); }

.feature-illustration { background:var(--hero-gradient); }

.stat-grid { overflow:hidden; border-radius:24px; box-shadow:var(--shadow); }

.stat-cell strong { color:var(--brand); }

.faq-list details { border:1px solid var(--line); background:var(--surface); padding:0 20px; border-radius:15px; margin-bottom:10px; }

.faq-list details[open] { border-color:color-mix(in srgb,var(--brand) 45%,var(--line)); }

.faq-list summary { padding:20px 25px 20px 0; }



.public-page { position:relative; }

.public-page-art { float:right; width:175px; height:auto; margin:-8px -25px 10px 20px; }

.legal-copy { max-width:900px; }

.payment-policy .public-page-art { margin-right:0; }

.legal-copy h2 { border-top:1px solid var(--line); padding-top:25px; }

.auth-layout { background:var(--surface); }

.auth-art { background:linear-gradient(155deg,#4e232a,#98505c); position:relative; overflow:hidden; }

.auth-art:before { content:''; width:460px; height:460px; border:1px solid #ffffff12; border-radius:50%; position:absolute; left:-180px; bottom:-180px; box-shadow:0 0 0 50px #ffffff04,0 0 0 100px #ffffff03; pointer-events:none; }

.auth-art img { width:340px; max-width:100%; position:relative; }

.auth-emblem { display:grid; place-items:center; width:58px; height:58px; background:var(--brand-soft); color:var(--brand); border-radius:18px; margin-bottom:25px; }

.auth-emblem .icon { width:28px; height:28px; }

.auth-trust { border-top:1px solid var(--line); padding-top:23px; }

.sidebar { background:var(--surface); border-right-color:var(--line); padding-top:30px; }

.nav-label { font-size:.59rem; margin-top:28px; letter-spacing:.13em; }

.side-nav a { position:relative; min-height:45px; font-size:.81rem; }

.side-nav a.active { background:var(--brand-soft); color:var(--brand); }

.side-nav a.active:after { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; margin-left:auto; }

.side-nav a:nth-child(5)>.icon { color:var(--brand); }

.side-nav a:nth-child(6)>.icon { color:var(--rose-ink); }

.side-nav a:nth-child(7)>.icon { color:var(--gold-ink); }

.sidebar-note { background:var(--hero-gradient); border:0; position:relative; padding-top:68px; margin-top:50px; }

.sidebar-art { position:absolute; right:8px; top:-35px; }

.sidebar-note p { font-size:.7rem; }

.member-header { background:var(--surface); }

.member-main { max-width:1450px; }

.page-heading { margin-bottom:26px; gap:20px; }

.page-heading h1 { font-size:clamp(1.65rem,2.2vw,2.25rem); margin:12px 0 9px; }

.page-heading p { font-size:.84rem; max-width:620px; }

.page-kicker { display:flex; align-items:center; gap:7px; color:var(--brand); font-size:.61rem; font-weight:750; letter-spacing:.13em; }

.page-kicker .icon { width:16px; height:16px; }

.heading-copy { min-width:0; }

.heading-action { flex-shrink:0; }

.greeting-note { border:1px solid var(--line); border-radius:30px; padding:10px 14px; background:var(--surface); }

.greeting-note .icon { color:var(--gold-ink); }

.balance-card { position:relative; box-shadow:var(--shadow); border-radius:22px; }

.balance-card.primary { background:var(--premium-gradient); }

.balance-card.primary:after { right:-20px; top:15px; width:170px; height:170px; box-shadow:0 0 0 25px #ffffff05,0 0 0 50px #ffffff04; pointer-events:none; }

.balance-card:not(.primary) .label .icon { background:var(--gold); color:var(--gold-ink); width:31px; height:31px; border-radius:10px; padding:6px; }

.balance-card:last-child:not(.primary) .label .icon { background:var(--mint); color:var(--mint-ink); }

.balance-card .balance-amount { font-variant-numeric:tabular-nums; }

.balance-card.primary .balance-note { position:relative; z-index:1; }

.reward-discovery-section { margin:30px 0 32px; }

.reward-discover { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }

.discovery-card { min-width:0; position:relative; overflow:hidden; display:flex; align-items:center; min-height:190px; padding:22px; border:1px solid var(--line); border-radius:22px; color:var(--ink); background:var(--brand-soft); }

.discovery-ticket { background:var(--rose); border-color:color-mix(in srgb,var(--rose-ink) 12%,var(--rose)); }

.discovery-trophy { background:var(--gold); border-color:color-mix(in srgb,var(--gold-ink) 12%,var(--gold)); }

.discovery-card>div { position:relative; width:66%; z-index:1; }

.discovery-label { font-size:.7rem; font-weight:700; display:flex; align-items:center; gap:7px; }

.discovery-label .icon { width:17px; height:17px; }

.discovery-card h3 { font-size:1.15rem; margin:14px 0 18px; line-height:1.3; }

.discovery-action { display:flex; align-items:center; gap:7px; font-size:.68rem; font-weight:650; }

.discovery-action .icon { width:17px; }

.discovery-card .reward-art { position:absolute; width:170px; height:auto; right:-42px; bottom:8px; transform:rotate(-8deg); }

.discovery-trophy .reward-art { transform:rotate(9deg); }

.reward-banner { background:linear-gradient(140deg,#5d3138,#995762); }

.reward-banner>.icon { color:#e5c784; opacity:.6; }

.reward-banner .eyebrow { color:var(--brand-soft); }

.video-feature { box-shadow:var(--shadow); border-radius:24px; }

.poster-play { background:#fff; color:var(--brand-solid); box-shadow:0 0 0 10px #ffffff25,0 10px 35px #42232830; }

.reward-pill { background:var(--mint); color:var(--mint-ink); border-radius:12px; }

.mini-task { border-radius:14px; }

.step-icon { box-shadow:inset 0 0 0 1px #d3596d0a; }

.step-icon.coral { background:var(--rose); color:var(--rose-ink); }

.step-icon.lavender { background:var(--brand-soft); color:var(--brand); }

.offer-card { border-top:3px solid var(--brand-soft); }

.offer-logo { background:var(--brand-soft); padding:3px; }

.offer-card:nth-child(3n+2) { border-top-color:var(--rose); }

.offer-card:nth-child(3n+3) { border-top-color:var(--mint); }



.copy-field { box-shadow:var(--shadow); }

.activity-row { gap:16px; padding-block:18px; }

.activity-row>div { min-width:0; overflow-wrap:anywhere; }

.activity-row .amount { color:var(--mint-ink); }

.notification-card.unread { border-left:3px solid var(--brand); background:color-mix(in srgb,var(--brand-soft) 25%,var(--surface)); }

.notification-icon { background:var(--brand-soft); color:var(--brand); border-radius:13px; }

.notification-card .timestamp { flex-shrink:0; }

.notice { border-radius:14px; border:1px solid color-mix(in srgb,var(--brand) 15%,var(--line)); background:var(--brand-soft); color:var(--ink); }

.soft-badge { background:var(--mint); color:var(--mint-ink); }

.soft-badge.coral { background:var(--gold); color:var(--gold-ink); }

.soft-badge.danger { background:var(--rose); color:var(--rose-ink); }

.soft-badge.neutral { background:var(--paper); color:var(--muted); }

.tab-pills { border-radius:14px; box-shadow:var(--shadow); }

.tab-pills button,.tab-pills a { min-height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; }

.tab-pills .active { background:var(--brand-solid); color:#fff; }

.empty-state { background:radial-gradient(ellipse at 50% 15%,var(--brand-soft),transparent 63%); border-radius:20px; }

.state-icon { box-shadow:0 0 0 7px color-mix(in srgb,var(--brand-soft) 45%,transparent); border-radius:20px; }

.empty-state h3 { text-wrap:balance; }

.reward-nav { display:flex; gap:8px; margin:0 0 24px; padding:6px; border:1px solid var(--line); border-radius:17px; background:var(--surface); width:fit-content; max-width:100%; }

.reward-nav a { display:flex; align-items:center; justify-content:center; gap:9px; padding:11px 21px; border-radius:12px; color:var(--muted); font-size:.79rem; font-weight:650; min-height:46px; }

.reward-nav a.active { background:var(--brand-soft); color:var(--brand); }

.reward-nav .icon { width:19px; height:19px; }

.spin-layout { border-radius:26px; background:var(--surface); border:1px solid var(--line); padding:20px; box-shadow:var(--shadow); gap:30px; }

.wheel-stage { position:relative; min-height:440px; background:radial-gradient(circle at center,#edbac333 0%,transparent 67%),var(--paper); border-radius:22px; padding:55px 18px 25px; }

.wheel-stage:before,.wheel-stage:after { content:'✦'; position:absolute; color:#c9a34b; font-size:25px; left:9%; top:25%; }

.wheel-stage:after { left:auto; top:auto; right:10%; bottom:14%; font-size:19px; color:#e09faa; }

.wheel-stage-label { position:absolute; top:18px; left:0; width:100%; text-align:center; color:var(--muted); font-size:.56rem; font-weight:750; letter-spacing:.16em; }

.wheel-stage-label .icon { width:14px; height:14px; margin-right:4px; }

.wheel-assembly { max-width:335px; }

.wheel-rim { fill:#f6e8bd; stroke:#dec491; }

.wheel-hub { background:linear-gradient(130deg,#67343d,#965560); border-color:#f8edcd; }

.wheel-pointer { border-top-color:#dba35e; }

.wheel-blue { fill:#d66779; }
.wheel-ice { fill:#f6dee2; }
.wheel-navy { fill:#5e3239; }
.wheel-pale { fill:#f9e9ec; }
.wheel-coral { fill:#edb5c0; }
.wheel-gold { fill:#f2d78c; }

#spin-controls { align-self:center; padding:12px 20px 12px 0; }

#spin-controls .h3 { font-size:1.8rem; }

#spin-controls .btn { min-height:51px; }

.prize-card { border-radius:18px; background:var(--paper); }

.prize-card:nth-child(3n+2) .prize-icon { background:var(--gold); color:var(--gold-ink); }

.prize-card:nth-child(3n+3) .prize-icon { background:var(--mint); color:var(--mint-ink); }

.prize-icon { width:43px; height:43px; border-radius:14px; }

.prize-special { background:var(--brand-soft); }

.scratch-intro { display:flex; align-items:center; justify-content:space-between; background:var(--hero-gradient); border:1px solid var(--line); border-radius:25px; padding:25px 35px; margin-bottom:25px; }

.scratch-intro h2 { font-size:2rem; margin:15px 0 12px; }

.scratch-intro p { color:var(--muted); font-size:.83rem; margin:0; }

.scratch-intro .reward-art { width:240px; height:auto; margin:-15px 0; }

.scratch-card { background:linear-gradient(140deg,#764049,#a86772); padding:28px 20px; border:1px solid #bd8992; min-height:310px; box-shadow:var(--shadow); }

.scratch-card:nth-child(3n+2) { background:linear-gradient(140deg,#835159,#a2789b); }

.scratch-card:nth-child(3n+3) { background:linear-gradient(140deg,#3d5f70,#618c99); }

.scratch-card:before { border-color:#e7d3a871; border-radius:15px; }

.scratch-card-label { font-size:.52rem; letter-spacing:.12em; color:var(--on-feature-muted); display:flex; align-items:center; gap:6px; margin-bottom:20px; }

.scratch-card-label .icon { width:13px; height:13px; }

.scratch-seal { width:76px; height:76px; display:grid; place-items:center; background:linear-gradient(130deg,#fff1c9,#dfb370); color:#77592c; border-radius:50%; margin-bottom:19px; box-shadow:0 0 0 6px #f8e0ae15,inset 0 0 0 5px #fff3cb66; }

.scratch-seal .icon { width:34px; height:34px; }

.scratch-card h3 { font-size:1.15rem; }

.scratch-card p { color:var(--on-feature-muted); }

.scratch-card .btn { background:#fff6e6; color:#604348; border-color:#fff6e6; min-height:44px; }

.catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

.catalog-card { padding:13px 13px 20px; gap:8px; justify-content:flex-start; }

.catalog-art { width:100%; height:120px; flex-shrink:0; display:grid; grid-template-rows:minmax(0,1fr); place-items:center; overflow:hidden; background:var(--hero-gradient); border-radius:12px; margin-bottom:5px; }

.catalog-art img { max-width:100%; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; padding:12px; }

.catalog-fallback { width:67px; height:67px; display:grid; place-items:center; background:var(--surface); color:var(--brand); border-radius:22px; transform:rotate(-8deg); box-shadow:var(--shadow); }

.catalog-fallback .icon { width:34px; height:34px; }

.catalog-kind { color:var(--muted); text-transform:uppercase; font-weight:700; font-size:.53rem; letter-spacing:.09em; }

.catalog-card>span:not(.catalog-kind),.catalog-card p { font-size:.72rem; color:var(--muted); margin:0; }

.jackpot-hero { position:relative; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:35px; border-radius:26px; background:linear-gradient(120deg,#4b292f,#6c4148); color:#fff; margin-bottom:24px; overflow:hidden; }

.jackpot-hero:before { content:''; position:absolute; width:430px; height:430px; border:1px solid #fff1c51a; border-radius:50%; right:-170px; top:-140px; box-shadow:0 0 0 35px #fff1c505,0 0 0 70px #fff1c504; pointer-events:none; }

.jackpot-hero>div { position:relative; min-width:0; }

.jackpot-status { display:inline-flex; align-items:center; gap:8px; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#f6ddac; background:#f6ddac12; border:1px solid #f6ddac25; border-radius:25px; padding:8px 13px; }

.jackpot-status .icon { width:15px; height:15px; }

.jackpot-hero h2 { font-size:1.7rem; margin:21px 0 8px; }

.jackpot-amount { font-family:Manrope,sans-serif; font-weight:800; font-size:3.3rem; letter-spacing:-.05em; color:#f9e2b1; }

.jackpot-hero p { font-size:.8rem; color:var(--on-feature-muted); margin-top:12px; }

.jackpot-hero .reward-art { width:260px; height:auto; position:relative; }

.jackpot-metrics { display:flex; flex-wrap:wrap; gap:12px 22px; font-size:.7rem; margin-top:20px; color:var(--on-feature-muted); }

.jackpot-metrics span { display:flex; align-items:center; gap:6px; }

.jackpot-metrics .icon { width:16px; color:#f9e2b1; }

.jackpot-columns { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:22px; }

.jackpot-ticket { display:flex; align-items:center; gap:14px; padding:17px 0; border-top:1px dashed var(--line); }

.jackpot-ticket>div { flex:1; min-width:0; }

.jackpot-ticket strong { font-size:.81rem; }
.jackpot-ticket p { font-size:.68rem; color:var(--muted); margin:5px 0 0; text-transform:capitalize; }

.jackpot-ticket .btn { padding:9px 12px; font-size:.7rem; }

.ticket-stamp,.winner-medal { width:42px; height:47px; display:grid; place-items:center; flex-shrink:0; background:var(--gold); color:var(--gold-ink); border:1px solid color-mix(in srgb,var(--gold-ink) 14%,var(--gold)); border-radius:12px; }

.winner-medal { width:40px; height:40px; border-radius:50%; }

.winner-row { justify-content:flex-start; }

.modal-content { border-radius:25px; padding:9px; box-shadow:0 25px 80px #3c171d30; }

.modal-header { gap:13px; border-bottom:0; align-items:center; }

.modal-header .modal-title { font-size:1.2rem!important; line-height:1.35; }

.modal-symbol { width:43px; height:43px; display:grid; place-items:center; border-radius:14px; background:var(--brand-soft); color:var(--brand); flex-shrink:0; }

.modal-symbol.is-danger { background:var(--rose); color:var(--rose-ink); }

.modal-header .btn-close { margin-left:auto; min-width:28px; min-height:28px; }

.modal-body { padding-top:7px; font-size:.88rem; }

.modal-footer { border-top:1px solid var(--line); gap:8px; }

.modal-backdrop { --bs-backdrop-bg:#291317; --bs-backdrop-opacity:.58; }

.reward-result .state-icon { width:84px; height:84px; background:var(--gold); color:var(--gold-ink); border-radius:27px; animation:reward-pop .45s ease-out both; }

.reward-result .state-icon .icon { width:39px; height:39px; }

.reward-result h3 { font-size:2.25rem; }

/* Shared glass notifications. Semantic colours stay independent of tenant branding. */
#toast-host {
  --bs-toast-zindex:1090;
  position:fixed; z-index:var(--bs-toast-zindex);
  top:env(safe-area-inset-top,0px); right:env(safe-area-inset-right,0px);
  width:432px; max-width:100%; padding:16px; pointer-events:none;
  max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin;
}
#toast-host > .app-toast { margin:0 0 12px; }
#toast-host > .app-toast:last-child { margin-bottom:0; }
.player-overlay > #toast-host { max-height:50vh; max-height:50dvh; }
.app-toast {
  --toast-light:#86efac; --toast-bright:#4ade80; --toast-accent:#10b981; --toast-deep:#059669; --toast-shade:#047857;
  --toast-rgb:16,185,129; --toast-wash:247,255,251; --toast-text:#111827; --toast-muted:#667085;
  --toast-white:255,255,255; --toast-outline:rgba(16,185,129,.10); --toast-close:rgba(102,112,133,.075);
  position:relative; isolation:isolate; width:100%; max-width:100%; overflow:hidden;
  border:1px solid var(--toast-outline); border-radius:20px; pointer-events:auto;
  color:var(--toast-text); background:linear-gradient(135deg,rgba(var(--toast-white),.98),rgba(var(--toast-wash),.96));
  box-shadow:0 12px 35px #0f172a1a,0 4px 12px #0f172a0a,0 0 30px rgba(var(--toast-rgb),.06),inset 0 1px 0 rgba(var(--toast-white),.8);
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.app-toast.error { --toast-light:#fecdd3; --toast-bright:#fb7185; --toast-accent:#f43f5e; --toast-deep:#e11d48; --toast-shade:#be123c; --toast-rgb:244,63,94; --toast-wash:255,247,248; --toast-outline:rgba(244,63,94,.10); }
.app-toast.warning { --toast-light:#fde68a; --toast-bright:#fbbf24; --toast-accent:#f59e0b; --toast-deep:#d97706; --toast-shade:#b45309; --toast-rgb:245,158,11; --toast-wash:255,252,245; --toast-outline:rgba(245,158,11,.13); }
.app-toast.info { --toast-light:#a5f3fc; --toast-bright:#38bdf8; --toast-accent:#0ea5e9; --toast-deep:#0284c7; --toast-shade:#0369a1; --toast-rgb:14,165,233; --toast-wash:246,252,255; --toast-outline:rgba(14,165,233,.10); }
.app-toast.show,.app-toast.showing { opacity:1; }
.app-toast.show { animation:toast-enter .4s cubic-bezier(.22,1,.36,1) both; }
.app-toast.is-leaving { opacity:0; transform:translateY(-8px) scale(.97); animation:none; transition-duration:.23s; pointer-events:none; }
.app-toast .toast-body { display:flex; align-items:center; gap:16px; min-height:96px; padding-block:19px; padding-inline:23px 10px; }
.toast-copy { flex:1; min-width:0; position:relative; max-height:50vh; max-height:50dvh; overflow:auto; overflow-wrap:anywhere; }
.toast-copy:focus-visible { outline:2px solid var(--toast-deep); outline-offset:-2px; border-radius:3px; }
.toast-title { display:block; margin-bottom:4px; color:var(--toast-text); font-size:16px; font-weight:750; line-height:1.3; letter-spacing:-.3px; }
.toast-message { display:block; color:var(--toast-muted); font-size:13px; line-height:1.45; white-space:pre-line; }
.toast-symbol { position:relative; display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; }
.toast-symbol:before,.toast-symbol:after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.toast-symbol:before { inset:-8px; border:1px solid rgba(var(--toast-rgb),.10); background:linear-gradient(145deg,rgba(var(--toast-rgb),.04),rgba(var(--toast-rgb),.20)); box-shadow:0 7px 15px rgba(var(--toast-rgb),.10); animation:toast-ring .6s .1s ease-out both; }
.toast-symbol:after { inset:-13px; background:radial-gradient(circle,transparent 52%,rgba(var(--toast-rgb),.04) 55%,transparent 72%); }
.toast-orb { position:relative; display:grid; place-items:center; width:100%; height:100%; border-radius:50%; background:radial-gradient(circle at 30% 25%,var(--toast-bright) 0%,var(--toast-accent) 45%,var(--toast-deep) 75%,var(--toast-shade) 100%); box-shadow:inset 2px 2px 3px #ffffff80,inset -2px -3px 4px rgba(0,0,0,.12),0 6px 12px rgba(var(--toast-rgb),.22); animation:toast-icon .56s .08s cubic-bezier(.22,1,.36,1) both; }
.toast-orb:before { content:""; position:absolute; inset:3px 5px 45% 4px; border-radius:50%; background:linear-gradient(145deg,#ffffff70,#ffffff00 80%); transform:rotate(-25deg); }
.toast-orb:after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px #ffffff30,0 0 16px rgba(var(--toast-rgb),.14); }
.toast-orb .icon { position:relative; width:28px; height:28px; color:white; stroke-width:3.2; }
.toast-close { position:relative; flex:0 0 44px; display:grid; place-items:center; align-self:flex-start; width:44px; height:44px; margin-top:-5px; border:0; border-radius:50%; padding:0; background:transparent; color:var(--toast-muted); transition:transform .18s ease,color .18s ease; }
.toast-close:before { content:""; position:absolute; inset:6px; border-radius:inherit; background:var(--toast-close); box-shadow:inset 0 1px 2px rgba(var(--toast-white),.8),0 2px 4px #0f172a04; transition:background .18s; }
.toast-close .icon { position:relative; width:19px; height:19px; stroke-width:2.3; }
.toast-close:hover { color:var(--toast-text); transform:scale(1.04); }
.toast-close:hover:before { background:rgba(var(--toast-rgb),.12); }
.toast-close:focus-visible { outline:2px solid var(--toast-deep); outline-offset:-3px; }
.toast-art { position:absolute; inset:0; z-index:-1; overflow:hidden; border-radius:inherit; pointer-events:none; }
.toast-art * { pointer-events:none; }
.toast-waves { position:absolute; inset:auto 0 0; width:100%; height:100%; fill:var(--toast-accent); opacity:.09; animation:toast-decoration .65s .1s both; }
.toast-waves path+path { fill:var(--toast-bright); }
.toast-particle { position:absolute; display:block; color:var(--toast-accent); animation:toast-particle .65s .14s both; }
.toast-dot { width:4px; height:4px; border-radius:50%; background:var(--toast-bright); box-shadow:0 0 6px rgba(var(--toast-rgb),.25); }
.dot-one { top:18px; inset-inline-start:16px; --particle-opacity:.65; }
.dot-two { bottom:15px; inset-inline-start:76px; width:3px; height:3px; --particle-opacity:.5; animation-delay:.22s; }
.toast-dash { top:15px; inset-inline-start:33px; width:4px; height:9px; border-radius:3px; background:linear-gradient(var(--toast-light),var(--toast-accent)); --particle-rotation:-42deg; --particle-opacity:.55; }
.toast-spark .icon { display:block; width:11px; height:11px; fill:currentColor; stroke:none; }
.spark-one { top:17px; inset-inline-start:77px; --particle-opacity:.8; animation-delay:.24s; }
.spark-two { bottom:23px; inset-inline-start:10px; --particle-opacity:.55; }
.spark-two .icon { width:9px; height:9px; }
.toast-mini { display:grid; place-items:center; border-radius:5px; background:linear-gradient(145deg,var(--toast-light),var(--toast-accent)); box-shadow:inset 1px 1px 2px #ffffff90,0 2px 6px rgba(var(--toast-rgb),.20); --particle-rotation:-20deg; --particle-opacity:.38; }
.toast-mini .icon { width:70%; height:70%; color:white; stroke-width:3; }
.mini-one { inset-inline-end:14px; bottom:14px; width:17px; height:17px; animation-delay:.28s; }
.mini-two { inset-inline-end:38px; bottom:7px; width:10px; height:10px; border-radius:3px; --particle-rotation:18deg; --particle-opacity:.28; animation-delay:.34s; }
.toast-progress { position:absolute; inset:auto 16px 0; height:2px; overflow:hidden; border-radius:2px; background:rgba(var(--toast-rgb),.06); }
.toast-progress>span { display:block; width:100%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--toast-light),var(--toast-accent)); opacity:.65; transform-origin:left center; }
.app-toast.is-timing .toast-progress>span { animation:toast-countdown var(--toast-duration) linear forwards; animation-delay:var(--toast-elapsed,0ms); }
.app-toast.is-paused .toast-progress>span { animation-play-state:paused; }
.app-toast.is-relocated,.is-relocated .toast-orb,.is-relocated .toast-symbol:before,.is-relocated .toast-particle,.is-relocated .toast-waves { animation:none; }
.is-relocated .toast-particle { opacity:var(--particle-opacity,.6); transform:rotate(var(--particle-rotation,0deg)); }
[dir=rtl] .toast-progress>span { transform-origin:right center; }
[dir=rtl] .toast-waves { scale:-1 1; }
[data-bs-theme=dark] .app-toast { --toast-white:35,39,46; --toast-wash:29,35,40; --toast-text:#f5f7fa; --toast-muted:#c3cbd5; --toast-outline:rgba(var(--toast-rgb),.16); --toast-close:rgba(203,213,225,.10); box-shadow:0 12px 35px #00000038,0 4px 12px #0000001a,0 0 30px rgba(var(--toast-rgb),.06); }
@media(max-width:575.98px) {
  #toast-host { left:env(safe-area-inset-left,0px); right:env(safe-area-inset-right,0px); margin-inline:auto; width:auto; max-width:432px; padding:16px; }
  .app-toast { border-radius:18px; }
  .app-toast .toast-body { min-height:88px; padding-block:17px; padding-inline:16px 8px; gap:13px; }
  .toast-symbol { flex-basis:42px; width:42px; height:42px; }
  .toast-symbol:before { inset:-6px; }
  .toast-orb .icon { width:25px; height:25px; }
  .toast-title { font-size:15px; }
  .toast-message { font-size:12.5px; }
  .toast-close { margin-top:-6px; }
  .toast-mini,.toast-dash,.dot-two { display:none; }
  .spark-one { inset-inline-start:61px; top:12px; }
  .spark-two { inset-inline-start:7px; bottom:18px; }
  .dot-one { top:16px; inset-inline-start:12px; }
}
@keyframes toast-enter { from { opacity:0; transform:translateY(-12px) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes toast-icon { 0% { opacity:0; transform:scale(.75); } 65% { opacity:1; transform:scale(1.08); } 100% { opacity:1; transform:scale(1); } }
@keyframes toast-ring { 0% { opacity:0; transform:scale(.75); } 60% { opacity:1; transform:scale(1.12); } 100% { opacity:1; transform:scale(1); } }
@keyframes toast-particle { 0% { opacity:0; transform:translateY(4px) scale(.5) rotate(var(--particle-rotation,0deg)); } 60% { opacity:var(--particle-opacity,.6); } 100% { opacity:var(--particle-opacity,.6); transform:translateY(0) scale(1) rotate(var(--particle-rotation,0deg)); } }
@keyframes toast-decoration { from { opacity:0; transform:translateY(4px); } to { opacity:.09; transform:translateY(0); } }
@keyframes toast-countdown { to { transform:scaleX(0); } }
@media(prefers-reduced-motion:reduce) {
  .app-toast,.toast-orb,.toast-symbol:before,.toast-particle,.toast-waves { animation:none!important; }
  .app-toast,.toast-close,.toast-close:before { transition:none!important; }
  .toast-particle { opacity:var(--particle-opacity,.6); transform:rotate(var(--particle-rotation,0deg)); }
  /* The lifetime indicator is functional; only decorative motion is disabled. */
  .app-toast.is-timing .toast-progress>span { animation-duration:var(--toast-duration)!important; }
}

/* A cash receipt uses the same toast manager, with a gold coin and emerald amount. */
.app-toast.earning { --earning-gold:#fbbf24; --earning-gold-deep:#b45309; --earning-amount:#008452; }
.app-toast.earning .toast-body { min-height:104px; padding-block:21px; padding-inline:24px 10px; gap:15px; }
.app-toast.earning .toast-title { font-size:17px; font-weight:750; letter-spacing:-.4px; }
.earning-toast-amount { color:var(--earning-amount); font-weight:800; animation:earning-amount .25s .15s ease-out both; }
.app-toast.earning .toast-symbol { width:56px; height:56px; flex-basis:56px; }
.app-toast.earning .toast-symbol:before { inset:-9px; animation:toast-ring .6s .04s ease-out both; background:linear-gradient(145deg,#d9ffe533,rgba(var(--toast-rgb),.20)); }
.app-toast.earning .toast-symbol:after { inset:-17px; background:radial-gradient(circle,#fbbf241a 35%,#a7f3d81a 58%,transparent 72%); animation:toast-ring .6s .04s ease-out both; }
.app-toast.earning .toast-orb {
  border:3px solid #ffe69a;
  background:radial-gradient(circle at 30% 25%,#fff4b8 0%,#ffd54a 25%,#fbbf24 50%,#f59e0b 75%,#b45309 100%);
  box-shadow:0 2px 0 #cf830b,0 7px 14px #c77c1830,inset 1px 1px 2px #fffde5,inset -2px -3px 4px #9b50014d;
  animation:earning-coin .6s .04s cubic-bezier(.22,1,.36,1) both;
}
.app-toast.earning .toast-orb:before { inset:3px; transform:none; border:1px solid #c98316b3; background:linear-gradient(145deg,#fff4b840,transparent 65%); box-shadow:inset 1px 1px 2px #a2601359,0 1px 1px #fff9cfcc; }
.app-toast.earning .toast-orb:after { inset:2px 6px 56% 3px; transform:rotate(-25deg); background:linear-gradient(135deg,#ffffedcc,transparent 80%); box-shadow:none; }
.earning-coin-symbol { position:relative; z-index:1; display:block; color:#fff3ad; font-size:34px; line-height:1; font-weight:800; text-shadow:0 1px 0 #fffde0,1px 2px 1px #b26716,2px 3px 2px #92500b4d; }
.app-toast.earning .toast-orb>.icon { color:#fff3ad; width:29px; height:29px; }
.app-toast.earning .toast-particle { animation-duration:.32s; }
.app-toast.earning .toast-spark { color:var(--earning-gold); }
.app-toast.earning .spark-one { inset-inline-start:85px; top:14px; animation-delay:.23s; }
.app-toast.earning .spark-two { inset-inline-start:12px; bottom:21px; animation-delay:.20s; }
.app-toast.earning .toast-dash { inset-inline-start:32px; top:12px; animation-delay:.16s; }
.app-toast.earning .dot-one { inset-inline-start:10px; top:45px; }
.app-toast.earning .dot-two { inset-inline-start:89px; bottom:29px; }
.earning-mini-coin { display:grid; place-items:center; border:1px solid #ffe9a1; border-radius:50%; background:radial-gradient(circle at 30% 25%,#fff4b8,#ffd54a 30%,#f59e0b 75%,#b45309); box-shadow:inset 1px 1px 1px #fff8cf,0 2px 1px #d18e2c80,0 3px 7px #e1a12526; --particle-opacity:.6; --particle-rotation:20deg; }
.earning-mini-coin:before { content:""; position:absolute; inset:2px; border:1px solid #bc77194d; border-radius:50%; }
.earning-mini-coin .earning-coin-symbol { font-size:10px; text-shadow:0 1px 0 #fffde0,1px 1px 1px #b26716; }
.earning-mini-coin .icon { position:relative; width:70%; height:70%; color:#fff3ad; stroke-width:2.5; }
.earning-mini-coin.mini-one { width:22px; height:22px; bottom:15px; inset-inline-end:14px; --particle-opacity:.40; --particle-rotation:-22deg; animation-delay:.30s; }
.earning-mini-coin.mini-two { width:14px; height:14px; bottom:8px; inset-inline-end:42px; border-radius:50%; --particle-opacity:.25; animation-delay:.32s; }
.earning-mini-coin.mini-two .earning-coin-symbol { font-size:8px; }
.earning-mini-coin.mini-three { width:12px; height:18px; inset-inline-start:9px; top:14px; --particle-rotation:-28deg; animation-delay:.2s; }
.earning-mini-coin.mini-three .earning-coin-symbol { font-size:8px; }
.earning-mini-coin.mini-four { width:18px; height:15px; inset-inline-start:80px; bottom:12px; --particle-rotation:24deg; --particle-opacity:.5; animation-delay:.27s; }
.app-toast.earning .toast-progress>span { background:linear-gradient(90deg,#a7f3d0,#00bd73); opacity:.9; }
[data-bs-theme=dark] .app-toast.earning { --earning-amount:#6ee7b7; }
@media(max-width:575.98px) {
  .app-toast.earning .toast-body { min-height:96px; padding-block:19px; padding-inline:17px 8px; gap:12px; }
  .app-toast.earning .toast-symbol { width:46px; height:46px; flex-basis:46px; }
  .app-toast.earning .toast-symbol:before { inset:-7px; }
  .app-toast.earning .toast-title { font-size:15px; letter-spacing:-.3px; }
  .app-toast.earning .toast-message { font-size:12px; }
  .earning-coin-symbol { font-size:28px; }
  .app-toast.earning .toast-orb>.icon { width:25px; height:25px; }
  .earning-mini-coin.mini-one,.earning-mini-coin.mini-two { display:none; }
  .earning-mini-coin.mini-three { inset-inline-start:7px; top:11px; width:9px; height:13px; }
  .earning-mini-coin.mini-three .earning-coin-symbol { font-size:6px; }
  .earning-mini-coin.mini-four { inset-inline-start:63px; bottom:10px; width:12px; height:10px; }
  .earning-mini-coin.mini-four .earning-coin-symbol { font-size:6px; }
  .app-toast.earning .spark-one { inset-inline-start:65px; top:12px; }
  .app-toast.earning .spark-two { inset-inline-start:7px; bottom:18px; }
  .app-toast.earning .toast-waves { width:75%; inset-inline-start:auto; inset-inline-end:0; }
}
@keyframes earning-coin { 0% { opacity:0; transform:scale(.7) rotate(-22deg); } 65% { opacity:1; transform:scale(1.08) rotate(5deg); } 100% { opacity:1; transform:scale(1) rotate(0); } }
@keyframes earning-amount { from { opacity:0; } to { opacity:1; } }
.app-toast.earning.is-relocated .toast-orb,.app-toast.earning.is-relocated .toast-symbol:before,.app-toast.earning.is-relocated .toast-symbol:after,.app-toast.earning.is-relocated .toast-particle,.app-toast.earning.is-relocated .earning-toast-amount { animation:none; }
@media(prefers-reduced-motion:reduce) {
  .app-toast.earning .toast-symbol:after,.earning-toast-amount { animation:none!important; }
}

/* Recent payout: a presentation variant of the shared toast, with the same clock. */
#toast-host:has(.payout) { width:712px; }
#toast-host:has(.payout) > .app-toast:not(.payout) { width:400px; margin-inline-start:auto; }
.app-toast.payout {
  --payout-accent:var(--brand); --payout-accent-deep:var(--brand-hover); --payout-ink:#142137;
  --payout-muted:#65748c; --payout-line:#ffd5dd; --payout-wave:var(--rose);
  --payout-wash:#fff1f3; --payout-badge:#ffe5ea; --payout-badge-ink:var(--brand);
  --toast-text:var(--payout-ink); --toast-muted:var(--payout-muted); --toast-deep:var(--payout-accent);
  --toast-rgb:var(--bs-primary-rgb); --toast-close:color-mix(in srgb,var(--payout-badge) 55%,var(--surface));
  border:1px solid var(--payout-line); border-radius:26px;
  background:linear-gradient(125deg,var(--surface) 20%,color-mix(in srgb,var(--surface) 80%,var(--payout-wash)) 64%,var(--payout-wash));
  box-shadow:0 16px 40px color-mix(in srgb,var(--brand-solid) 9%,transparent),0 6px 14px color-mix(in srgb,var(--brand-solid) 4.3%,transparent),inset 0 0 0 1px #ffffffd9;
}
.app-toast.payout .payout-body { display:grid; grid-template-columns:116px minmax(0,1fr) 134px; align-items:center; column-gap:18px; min-height:172px; padding:21px 37px 23px 17px; }
.payout-illustration { display:grid; place-items:center; width:116px; height:124px; }
.payout-illustration img { display:block; width:132px; height:132px; max-width:none; animation:payout-float 3.2s ease-in-out 2; }
.payout-copy { overflow:visible; max-height:none; }
.app-toast.payout .payout-badge { display:inline-flex; align-items:center; gap:6px; max-width:100%; margin:0 0 9px; padding:5px 10px; border-radius:50px; color:var(--payout-badge-ink); background:linear-gradient(110deg,var(--payout-badge),color-mix(in srgb,var(--payout-badge) 75%,var(--surface))); font-size:10px; font-weight:800; letter-spacing:1px; line-height:1.3; text-transform:uppercase; }
.payout-badge .icon { flex:none; width:15px; height:15px; color:var(--payout-badge-ink); stroke-width:2.3; }
.payout-recipient { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; color:var(--payout-ink); font-size:16px; font-weight:650; line-height:1.35; overflow-wrap:anywhere; }
.payout-recipient bdi { font-weight:750; }
.payout-amount { display:block; margin-top:2px; color:var(--payout-accent); font-size:44px; font-weight:850; letter-spacing:-1.8px; line-height:1.13; overflow-wrap:anywhere; font-variant-numeric:lining-nums tabular-nums; }
@supports (background-clip:text) or (-webkit-background-clip:text) {
  .payout-amount { background:linear-gradient(135deg,var(--payout-accent),var(--payout-accent-deep)); -webkit-background-clip:text; background-clip:text; color:transparent; }
}
.payout-amount-long { font-size:30px; letter-spacing:-1px; }
.payout-toast-details { display:flex; flex-direction:column; gap:13px; min-width:0; margin-top:19px; padding-inline-start:17px; border-inline-start:1px solid var(--payout-line); }
.payout-detail { display:flex; align-items:center; gap:9px; min-width:0; color:var(--payout-muted); font-size:13px; font-weight:650; line-height:1.3; }
.payout-detail-label { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-width:0; overflow-wrap:anywhere; }
.payout-provider { position:relative; flex:none; display:grid; place-items:center; width:32px; height:32px; border:1px solid #eaf2fb; border-radius:10px; background:#fff; box-shadow:0 3px 8px #294a791a; color:#70849c; }
.payout-provider > .icon { width:19px; height:19px; }
.payout-provider img { position:absolute; inset:3px; width:24px; height:24px; object-fit:contain; background:#fff; border-radius:4px; }
.payout-country-flag { flex:none; width:28px; height:21px; margin-inline:2px; object-fit:cover; border-radius:5px; box-shadow:0 1px 4px #233d6414; }
.app-toast.payout .payout-body:not(:has(.payout-toast-details)) .payout-copy { grid-column:2/-1; }
.app-toast.payout .toast-close { position:absolute; top:7px; inset-inline-end:7px; margin:0; color:var(--rose-ink); }
.app-toast.payout .toast-close:before { inset:5px; box-shadow:0 3px 9px color-mix(in srgb,var(--brand-solid) 4%,transparent); }
.app-toast.payout .toast-close .icon { width:18px; height:18px; }
.payout-wave { position:absolute; inset:0; width:100%; height:100%; fill:var(--payout-wave); opacity:.55; }
.payout-wave path+path { fill:var(--payout-line); opacity:.35; }
.payout-spark,.payout-confetti { position:absolute; opacity:.65; animation:payout-sparkle 3s ease-in-out 2; }
.payout-spark .icon { display:block; width:12px; height:12px; fill:var(--payout-accent); stroke:none; }
.payout-spark-one { inset-inline-end:15px; bottom:35px; }
.payout-spark-two { inset-inline-end:112px; top:20px; opacity:.35; animation-delay:.3s; }
.payout-spark-two .icon { width:7px; height:7px; }
.payout-confetti { width:5px; height:14px; border-radius:4px; background:linear-gradient(var(--rose),var(--payout-accent)); rotate:-35deg; }
.confetti-one { inset-inline-end:37px; bottom:22px; }
.confetti-two { inset-inline-end:66px; top:26px; height:10px; rotate:32deg; opacity:.38; animation-delay:.5s; }
.app-toast.payout .toast-progress { inset:auto 23px 5px; height:3px; background:color-mix(in srgb,var(--payout-line) 43%,transparent); border-radius:4px; }
.app-toast.payout .toast-progress>span { opacity:.85; background:linear-gradient(90deg,var(--payout-accent),var(--payout-accent) 65%,var(--payout-accent-deep)); }
.app-toast.payout.is-paused .payout-illustration img,.app-toast.payout.is-paused .payout-spark,.app-toast.payout.is-paused .payout-confetti { animation-play-state:paused; }
.app-toast.payout.is-relocated .payout-illustration img,.app-toast.payout.is-relocated .payout-spark,.app-toast.payout.is-relocated .payout-confetti { animation:none; }
[dir=rtl] .payout-wave { scale:-1 1; }
[data-bs-theme=dark] .app-toast.payout { --payout-ink:#e8f3ff; --payout-muted:#b5c8df; --payout-line:var(--line); --payout-wave:var(--rose); --payout-wash:var(--brand-soft); --payout-badge:var(--brand-soft); --toast-close:var(--rose); background:linear-gradient(125deg,var(--surface),color-mix(in srgb,var(--surface) 80%,var(--payout-wash)) 64%,var(--payout-wash)); box-shadow:0 16px 40px #0000003d,0 6px 14px #0000001a,inset 0 1px 0 #ffffff0a; }
[data-bs-theme=dark] .app-toast.payout .payout-badge { background:linear-gradient(110deg,var(--payout-badge),color-mix(in srgb,var(--payout-badge) 75%,var(--surface))); }
[data-bs-theme=dark] .payout-wave path+path { fill:var(--rose-ink); }
@media(max-width:639.98px) {
  #toast-host:has(.payout) { width:auto; max-width:712px; left:env(safe-area-inset-left,0px); right:env(safe-area-inset-right,0px); margin-inline:auto; padding:12px; }
  .app-toast.payout { border-radius:24px; }
  .app-toast.payout .payout-body { grid-template-columns:90px minmax(0,1fr) 112px; gap:12px; min-height:152px; padding:18px 32px 20px 14px; }
  .payout-illustration { width:90px; height:104px; }
  .payout-illustration img { width:104px; height:104px; }
  .app-toast.payout .payout-badge { gap:4px; margin-bottom:7px; padding:4px 8px; font-size:9px; letter-spacing:.65px; }
  .payout-badge .icon { width:12px; height:12px; }
  .payout-recipient { font-size:14px; }
  .payout-amount { font-size:38px; letter-spacing:-1.3px; }
  .payout-amount-long { font-size:26px; letter-spacing:-.6px; }
  .payout-toast-details { gap:12px; padding-inline-start:12px; }
  .payout-detail { gap:7px; font-size:11px; }
  .payout-provider { width:26px; height:26px; border-radius:8px; }
  .payout-provider img { inset:3px; width:18px; height:18px; border-radius:3px; }
  .payout-provider>.icon { width:15px; height:15px; }
  .payout-country-flag { width:24px; height:18px; margin-inline:1px; border-radius:4px; }
  .app-toast.payout .toast-close { top:4px; inset-inline-end:3px; }
  .app-toast.payout .toast-progress { inset-inline:19px; bottom:4px; height:2px; }
}
@media(max-width:479.98px) {
  /* Keep the approved three-column composition, including the right divider. */
  .app-toast.payout .payout-body { grid-template-columns:clamp(44px,14vw,64px) minmax(0,1fr) clamp(66px,22vw,88px); gap:clamp(6px,1.8vw,9px); min-height:130px; padding:16px 13px 18px 9px; }
  .payout-illustration { width:100%; height:74px; }
  .payout-illustration img { width:calc(100% + 12px); height:auto; aspect-ratio:1; }
  .app-toast.payout .payout-badge { gap:3px; margin-bottom:6px; padding:4px 6px; font-size:clamp(7px,1.9vw,8px); letter-spacing:.5px; }
  .payout-badge .icon { width:10px; height:10px; }
  .payout-recipient { font-size:clamp(10px,2.7vw,12px); line-height:1.4; }
  .payout-amount { margin-top:4px; font-size:clamp(26px,7.6vw,34px); letter-spacing:-.8px; }
  .payout-amount-long { font-size:clamp(17px,4.8vw,21px); letter-spacing:-.3px; }
  .payout-toast-details { gap:10px; margin-top:22px; padding-inline-start:8px; }
  .payout-detail { gap:5px; font-size:clamp(8.5px,2.3vw,10px); }
  .payout-provider { width:21px; height:21px; border-radius:6px; }
  .payout-provider img { inset:2px; width:15px; height:15px; }
  .payout-country-flag { width:19px; height:15px; border-radius:3px; }
  .app-toast.payout .toast-close .icon { width:16px; height:16px; }
  .payout-spark-one { bottom:16px; inset-inline-end:12px; }
  .payout-spark-two,.payout-confetti { display:none; }
}
@keyframes payout-float { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-3px) rotate(-1deg); } }
@keyframes payout-sparkle { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-3px) scale(.85); } }
@media(prefers-reduced-motion:reduce) {
  .payout-illustration img,.payout-spark,.payout-confetti { animation:none!important; }
}

#view { animation:page-arrive .25s ease-out both; }

@keyframes page-arrive { from { opacity:0; transform:translateY(5px); }
 to { opacity:1; transform:none; }
 }

@keyframes reward-pop { from { opacity:0; transform:scale(.8) rotate(-9deg); }
 to { opacity:1; transform:none; }
 }

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .discovery-card:hover { transform:translateY(-3px); box-shadow:0 12px 25px #56262e16; color:var(--ink); }

  .btn-primary:hover { transform:translateY(-1px); box-shadow:0 7px 18px #d3596d2b; }

  .mini-task:hover,.list-action:hover { background:var(--paper); }

  .icon-btn:hover { background:var(--brand-soft); color:var(--brand); }

}

@media(min-width:768px) and (max-width:1100px) {
  .reward-discover { gap:10px; }
.discovery-card { padding:16px; min-height:195px; align-items:flex-start; }

  .discovery-card>div { width:90%; }
.discovery-card h3 { font-size:1rem; }
.discovery-card .reward-art { width:115px; right:-20px; bottom:-20px; opacity:.65; }

  .discovery-action { max-width:95px; }
.greeting-note { display:none; }
.heading-action:has(.greeting-note) { display:none; }

  .jackpot-hero .reward-art { width:190px; }
.jackpot-columns { grid-template-columns:1fr; }

  .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

}

@media(max-width:767px) {
  .member-header { padding:0 18px; height:72px; box-shadow:0 2px 12px #5e273003; }

  .header-tools { gap:2px; }
.header-tools .icon-btn { min-width:40px; min-height:44px; }
.header-tools .avatar { margin-left:4px; }

  .member-main { padding:24px 18px calc(110px + env(safe-area-inset-bottom)); }

  .page-heading { flex-wrap:wrap; gap:13px; margin-bottom:22px; }
.page-heading h1 { font-size:1.6rem; margin-top:11px; }

  .page-heading p { font-size:.8rem; max-width:100%; }
.page-kicker { font-size:.56rem; }
.heading-action:has(.greeting-note) { display:none; }

  .page-heading .btn { min-height:44px; font-size:.74rem; padding:10px 14px; }
.page-heading .heading-action { width:auto; }

  .balance-grid { gap:12px; }
.balance-card.primary { min-height:152px; padding:24px; }
.balance-card.primary .balance-amount { font-size:2.6rem; }

  .balance-card:not(.primary) { padding:17px 15px; }
.balance-card:not(.primary) .label { font-size:.64rem; gap:5px; }

  .balance-card:not(.primary) .label .icon { width:24px; height:24px; padding:4px; border-radius:8px; }
.balance-card:not(.primary) .balance-amount { font-size:1.7rem; }

  .reward-discovery-section { margin:24px 0 30px; }
.reward-discover { gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)); }

  .discovery-card { display:flex; flex-direction:column-reverse; align-items:flex-start; min-height:190px; padding:12px 10px; border-radius:17px; }

  .discovery-card>div { width:100%; }
.discovery-card .reward-art { position:static; width:125px; height:90px; max-width:125%; align-self:center; transform:none; margin:-7px 0 6px; }

  .discovery-label { font-size:.67rem; line-height:1.3; gap:4px; }
.discovery-label .icon { display:none; }
.discovery-card h3 { font-size:.7rem; line-height:1.5; font-family:inherit; letter-spacing:0; font-weight:450; margin:8px 0; text-wrap:initial; color:var(--muted); }

  .discovery-action { font-size:0; }
.discovery-action .icon { width:17px; height:17px; }
.discovery-card { justify-content:flex-end; }

  .rewards-showcase .discovery-card { min-height:195px; }
.rewards-showcase .section-head h2 { max-width:100%; }

  .card-body { padding:21px; }
.block-heading h2 { font-size:1.08rem; }
.block-heading p { font-size:.75rem; }

  .mobile-nav { left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom)); padding:12px 7px 9px; border:1px solid var(--line); border-radius:23px; box-shadow:0 8px 35px #43232820; }

  .mobile-nav a { min-height:44px; font-size:.6rem; }
.mobile-nav .wallet-nav .icon { background:var(--brand-solid); margin-top:-19px; width:45px; height:43px; box-shadow:0 0 0 6px var(--surface); }

  .mobile-nav a.active:not(.wallet-nav) .icon { background:var(--brand-soft); box-shadow:0 0 0 6px var(--brand-soft); border-radius:7px; }

  .public-page-art { width:112px; margin:0 -5px 12px 10px; }
.public-page h1 { font-size:2rem; }
.legal-copy h1 { clear:both; }

  .auth-form-wrap { padding:30px 24px 45px; }
.auth-emblem { width:49px; height:49px; border-radius:16px; margin-bottom:21px; }

  .form-control,.form-select { font-size:16px; }
.btn-sm { min-height:44px; }

  .reward-nav { width:100%; gap:3px; padding:5px; margin-bottom:20px; }
.reward-nav a { flex:1; padding:9px 5px; font-size:.7rem; gap:5px; }
.reward-nav .icon { width:16px; height:16px; }

  .spin-layout { padding:12px; gap:14px; border-radius:22px; }
.wheel-stage { min-height:335px; padding:43px 12px 15px; }
.wheel-assembly { width:min(100%,285px); }

  #spin-controls { padding:7px 8px 12px; }
#spin-controls .h3 { font-size:1.55rem; }
#spin-controls .eyebrow { font-size:.6rem; }

  .spin-announcement:empty { min-height:0; margin:0; }
.spin-odds-note { margin-top:15px; font-size:.72rem; }

  .scratch-intro { padding:22px; gap:0; overflow:hidden; }
.scratch-intro h2 { font-size:1.6rem; }
.scratch-intro>div { min-width:0; position:relative; z-index:1; width:72%; }
.scratch-intro .eyebrow { font-size:.52rem; }

  .scratch-intro .reward-art { width:135px; margin:0 -45px 0 -10px; }
.scratch-intro p { font-size:.74rem; }

  .scratch-card { min-height:290px; padding:25px 16px; }
.scratch-card-label { font-size:.48rem; letter-spacing:.06em; }
.scratch-seal { width:61px; height:61px; }
.scratch-card h3 { font-size:1.02rem; }
.scratch-card .btn { font-size:.69rem; padding:9px; gap:5px; }

  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalog-card { padding:10px 9px 17px; }
.catalog-art { height:105px; }
.catalog-card strong { font-size:.95rem; }
.catalog-card p { font-size:.68rem; }

  .jackpot-hero { padding:25px; min-height:300px; align-items:flex-start; }
.jackpot-hero>div { width:100%; z-index:1; }
.jackpot-hero h2 { font-size:1.45rem; max-width:75%; }
.jackpot-amount { font-size:2.6rem; }

  .jackpot-hero .reward-art { position:absolute; right:-26px; top:24px; width:155px; opacity:.85; }
.jackpot-hero p { max-width:75%; font-size:.73rem; }
.jackpot-status { font-size:.55rem; }

  .jackpot-metrics { font-size:.68rem; gap:10px; margin-top:25px; }
.jackpot-columns { grid-template-columns:1fr; gap:18px; }
.jackpot-ticket { gap:10px; }
.ticket-stamp { width:34px; height:41px; }
.jackpot-ticket .btn { font-size:.68rem; padding:9px; }

  .modal-dialog { margin:16px; }
.modal-content { border-radius:22px; }
.modal-footer { flex-wrap:nowrap; }
.modal-footer .btn { flex:1; margin:0; font-size:.79rem; padding:11px 9px; }
.modal-symbol { width:37px; height:37px; }
.modal-header { padding:16px 12px; gap:10px; }
.modal-header .modal-title { font-size:1.06rem!important; }
.modal-body { padding:8px 12px 20px; }

  .notification-card .d-flex.justify-content-between { flex-wrap:wrap; gap:5px!important; }
.activity-row { gap:12px; }


}

@media(max-width:359px) {
  .member-main { padding-inline:14px; }
.member-header { padding-inline:13px; }
.brand { font-size:1.08rem; }
.brand img { width:28px; height:28px; }

  .reward-discover { gap:7px; }
.discovery-card { padding:10px 8px; }
.discovery-label { font-size:.61rem; }
.discovery-card h3 { font-size:.66rem; }
.reward-nav a { font-size:.64rem; }

  .scratch-intro { padding:19px; }
.scratch-intro h2 { font-size:1.4rem; }
.balance-card:not(.primary) .label .icon { display:none; }

  .jackpot-hero { padding:22px; }
.jackpot-hero .reward-art { width:130px; right:-32px; }
.jackpot-hero h2 { max-width:80%; }

}

@media(prefers-reduced-motion:reduce) { #view,.reward-result .state-icon { animation:none; }
.btn,.icon-btn,.side-nav a,.discovery-card { transition:none; }
 }

.reward-banner h3 { color:#fff; }
.reward-banner p { color:var(--on-feature-muted); }

.btn-close { align-self:center; }

.catalog-card strong { overflow-wrap:anywhere; }

@media(max-width:767px) {
  .wheel-stage { min-height:305px; }
.wheel-assembly { width:min(100%,265px); }

  #scratch-content>.block-heading { align-items:flex-start; flex-wrap:wrap; }

  #scratch-content>.block-heading h2 { font-size:1rem; }

}

@media(max-width:767px) {
  .public-header .container-xl { gap:10px; }

  .public-actions .icon-btn { min-width:36px; min-height:40px; }

  .public-actions>.btn-primary { white-space:nowrap; padding:.65rem .75rem; }

  .public-actions>.btn-primary .icon { width:16px; height:16px; }

}

@media(max-width:374px) { .public-actions>.btn-primary { font-size:.7rem; }
.public-actions { gap:5px; }
 }


/* Reference composition: warm editorial landing and a calm, card-based workspace. */
body { accent-color:var(--brand-solid); }
h1,h2,h3,h4 { font-weight:800; }
a { color:var(--brand); }
a:hover { color:var(--brand-hover); }
.brand { gap:10px; letter-spacing:-.055em; font-size:1.5rem; }
.brand img { width:38px; height:38px; border-radius:12px; }
.brand-dot { display:none; }
.btn { border-radius:12px; }
.btn-primary { --bs-btn-bg:var(--brand-solid); --bs-btn-border-color:var(--brand-solid); --bs-btn-hover-bg:var(--brand-strong); --bs-btn-hover-border-color:var(--brand-strong); --bs-btn-active-bg:var(--brand-strong); --bs-btn-active-border-color:var(--brand-strong); --bs-btn-focus-shadow-rgb:198,40,61; --bs-btn-disabled-bg:var(--brand-solid); --bs-btn-disabled-border-color:var(--brand-solid); --bs-btn-hover-color:#fff; --bs-btn-active-color:#fff; box-shadow:0 4px 10px #641c2e0a; }
.btn-light { --bs-btn-active-bg:var(--brand-soft); --bs-btn-active-color:var(--ink); --bs-btn-active-border-color:var(--line); }
.btn-soft:hover { background:var(--brand-solid); color:#fff; }
.btn-dark { color:#fff; background:var(--navy); border-color:var(--navy); }
.form-control,.form-select { background-color:var(--surface); }
.form-control::placeholder { color:var(--muted); opacity:.8; }
.form-control:focus,.form-select:focus,.form-check-input:focus { border-color:var(--brand); box-shadow:0 0 0 4px var(--brand-soft); }
.form-control:disabled,.form-select:disabled { background:var(--paper); color:var(--muted); }
.form-check-input { border-color:var(--line); background-color:var(--surface); }
.form-check-input:checked { background-color:var(--brand-solid); border-color:var(--brand-solid); }
.form-check-input:checked:focus { border-color:var(--brand-solid); }
.icon-btn { border-color:transparent; background:transparent; }
.avatar { background:var(--brand-soft); color:var(--brand); }
.unread-dot { background:var(--brand-solid); }
.public-header { height:74px; }
.container-xl { max-width:1320px; }
.public-nav a { font-size:.9rem; }
.public-nav a:hover { color:var(--brand); }
.public-actions>.btn-light { border-color:var(--coral); background:transparent; }
.hero { padding:45px 0 36px; }
.hero-grid { grid-template-columns:1.08fr 1fr; gap:34px; }
.hero-kicker { padding:0; border:0; border-radius:0; background:none; box-shadow:none; color:var(--muted); font-size:.68rem; letter-spacing:.11em; margin-bottom:20px; }
.hero-kicker .status-dot { display:none; }
.hero h1 { font-size:clamp(3.4rem,5.5vw,5rem); letter-spacing:-.065em; line-height:1.04; margin-bottom:30px; }
.hero h1 em { color:var(--brand); }
.hero h1 em:after { border-color:var(--coral); height:11px; border-width:5px; opacity:.65; bottom:-12px; }
.hero-desc { font-size:1.05rem; line-height:1.6; max-width:510px; margin-bottom:25px; }
.hero-cta .btn { min-height:52px; padding:14px 25px; }
.hero-cta .btn-light { border-color:var(--coral); background:transparent; }
.hero-note { gap:21px; font-size:.74rem; }
.hero-note .icon { width:21px; height:21px; padding:4px; border-radius:50%; color:#fff; background:var(--brand-solid); }
.hero-art { min-height:492px; }
.orbit-ring { width:440px; height:440px; border-color:color-mix(in srgb,var(--coral) 45%,transparent); background:radial-gradient(ellipse,var(--rose),transparent 70%); }
.orbit-ring:after { border:0; inset:45px -15px; background:radial-gradient(ellipse,var(--rose),transparent 70%); }
.art-spark { top:45px; left:22px; color:var(--coral); opacity:.65; }
.video-phone { width:242px; height:448px; border:7px solid #35262d; border-radius:36px; transform:rotate(-4deg); margin-left:-80px; box-shadow:0 22px 36px #641c2e24,0 0 0 2px #b38792; background:var(--navy); }
.video-phone:before { content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:100px; height:17px; border-radius:0 0 12px 12px; background:#35262d; z-index:2; }
.video-phone:after { content:''; position:absolute; inset:60% 0 0; background:linear-gradient(transparent,#30101b99); pointer-events:none; }
.phone-top { top:34px; font-size:.67rem; text-shadow:0 1px 5px #30212666; }
.phone-play { width:62px; height:62px; left:calc(50% - 31px); top:43%; background:#fff9f6ed; color:var(--brand-solid); border:0; }
.phone-bottom { z-index:1; bottom:20px; }
.phone-bottom h3 { color:#fff; font-size:1.25rem; }
.phone-bottom .soft-badge { background:#fff2; color:#fff; }
.mini-video { top:166px; left:auto; right:-5px; width:250px; height:164px; z-index:3; transform:rotate(-4deg); border:4px solid #fff9f6; border-radius:19px; box-shadow:0 14px 30px #641c2e24; }
.mini-video span { bottom:12px; text-shadow:0 1px 5px #302126; }
.mini-video>.icon { position:absolute; left:calc(50% - 24px); top:calc(50% - 24px); width:48px; height:48px; border-radius:50%; padding:16px; background:#fff9f6ed; color:var(--brand-solid); fill:currentColor; }
.float-card { border:1px solid var(--line); padding:16px; border-radius:18px; box-shadow:0 10px 30px #641c2e0b; animation:none; }
.float-card.top { top:50px; right:-8px; transform:none; }
.float-card.bottom { bottom:41px; left:auto; right:-10px; }
.float-card .bubble,.float-card.bottom .bubble { background:var(--paper); color:var(--brand); }
.float-card strong { font-size:.83rem; }
.float-card p { font-size:.7rem; }
.art-caption { writing-mode:horizontal-tb; bottom:15px; right:8px; font-size:.48rem; letter-spacing:.2em; }
.payment-strip { margin:0 auto; width:calc(100% - 48px); max-width:1320px; border:1px solid var(--line); border-radius:20px; padding:24px 18px; box-shadow:var(--shadow); }
.payment-strip p { color:var(--ink); max-width:360px; font-weight:800; font-family:Manrope,sans-serif; font-size:1rem; line-height:1.4; }
.payment-strip p br { display:none; }
.payment-logo { color:var(--ink); font-family:inherit; font-weight:500; font-size:.95rem; gap:12px; }
.payment-logo .icon { width:27px; height:27px; color:var(--brand); }
.payment-logos { gap:30px; }
.section { padding:65px 0; }
#how-it-works { padding:34px 0 24px; }
#how-it-works .section-head,.rewards-showcase .section-head { display:block; text-align:center; margin-bottom:23px; }
#how-it-works .section-head h2,.rewards-showcase .section-head h2 { font-size:clamp(1.7rem,2.4vw,2rem); max-width:none; margin:0; }
#how-it-works .section-head .eyebrow,#how-it-works .section-head>p,.rewards-showcase .section-head .eyebrow { display:none; }
.rewards-showcase .section-head>p { max-width:620px; margin:12px auto 0; font-size:.78rem; }
.steps-grid { gap:16px; }
.step-card,.step-card:nth-child(2),.step-card:nth-child(3) { display:block; background:var(--surface); min-height:145px; padding:23px 22px 23px 104px; border-radius:18px; }
.step-number { position:static; display:block; color:var(--brand); font-weight:800; font-size:.82rem; margin-bottom:6px; }
.step-card .step-icon { position:absolute; left:20px; top:28px; width:65px; height:65px; border-radius:50%; margin:0; background:var(--brand-soft); color:var(--brand); }
.step-card .step-icon .icon { width:29px; height:29px; }
.step-card h3 { font-size:1.04rem; margin-bottom:5px; }
.step-card p { font-size:.82rem; line-height:1.5; }
.step-card h3,.step-card p { padding-right:0; }
.rewards-showcase { padding:8px 0 48px; }
.feature-illustration { border:1px solid var(--line); }
.auth-art,.reward-banner,.jackpot-hero { background:var(--premium-gradient); color:var(--on-feature); }
.auth-art h2,.reward-banner h3,.jackpot-hero h2 { color:var(--on-feature); }
.auth-art p,.reward-banner p,.jackpot-hero p,.jackpot-metrics { color:var(--on-feature-muted); }
.reward-banner .btn { background:var(--paper); color:var(--brand); border-color:transparent; }
.auth-art .eyebrow { color:var(--on-feature-muted); }
.auth-layout { background:var(--paper); }
.auth-form-wrap { align-self:center; background:var(--surface); border:1px solid var(--line); border-radius:24px; margin:45px auto; padding:35px; box-shadow:var(--shadow); }
.auth-form-illustrated { padding-top:24px; }
.auth-welcome-art { display:block; width:100%; height:auto; max-width:400px; aspect-ratio:2/1; margin:0 auto 24px; }
.sidebar { width:248px; padding:24px 20px; overflow-y:auto; scrollbar-width:thin; }
.sidebar .brand { padding-left:7px; font-size:1.35rem; }
.side-nav { gap:6px; }
.side-nav a { min-height:47px; color:var(--ink); font-size:.86rem; border-radius:12px; }
.side-nav a.active { color:var(--brand); background:var(--brand-soft); }
.side-nav a.active:after { position:absolute; left:-2px; top:9px; bottom:9px; height:auto; width:4px; border-radius:4px; background:var(--brand-solid); }
.side-nav a:nth-child(n)>.icon { color:inherit; }
.nav-label { font-size:.62rem; letter-spacing:.055em; margin:34px 0 13px 12px; }
.sidebar-note { background:var(--paper); padding:22px 18px; margin-top:36px; border:1px solid var(--line); }
.sidebar-note .sidebar-art { width:70px; height:65px; right:6px; top:43px; opacity:.8; }
.sidebar-note strong,.sidebar-note p { max-width:125px; }
.sidebar-note strong { font-size:.94rem; }
.sidebar-note .btn { background:var(--brand-solid); color:#fff; }
.member-area { margin-left:248px; }
.member-header { height:52px; padding:0 34px; }
.member-main { --member-section-heading-size:clamp(1.1rem,1.45vw,1.25rem); padding:20px 32px 60px; max-width:1450px; }
.page-heading { margin-bottom:18px; }
.page-heading h1 { font-size:clamp(1.35rem,1.95vw,1.7625rem); margin:8px 0; }
/* Keep member page titles accessible without reserving visible header space. */
.member-main .page-heading { margin-bottom:0; gap:0; justify-content:flex-end; }
.member-main .page-heading .heading-copy { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.member-main .page-heading .heading-action { margin-bottom:18px; }
/* Keep prominent member section headings below the page-title scale. */
.member-main .payout-heading h2,
.member-main .scratch-intro h2,
.member-main .jackpot-hero h2,
.member-main .reward-discovery-section .block-heading h2,
.member-main #spin-controls .h3,
.member-main h2:is(.h3,.h4),
.member-main .reward-banner h3 { font-size:var(--member-section-heading-size); }
.page-heading p { font-size:.95rem; }
.page-kicker { font-size:.65rem; letter-spacing:.07em; }
.page-kicker>.icon { display:none; }
.heading-action:has(.greeting-note) { display:none; }
.balance-grid { gap:16px; margin-bottom:24px; }
.balance-card { min-height:132px; padding:18px 20px; border-radius:17px; }
.balance-card.primary { background:var(--premium-gradient); }
.balance-card.primary:after { top:80px; right:-12px; border-width:22px; border-color:#ffffff09; box-shadow:0 0 0 27px #ffffff06; }
.balance-card.primary .label,.balance-card.primary .balance-note { color:var(--on-feature-muted); }
.balance-card .label { font-size:.83rem; }
.balance-card:not(.primary) .label .icon,.balance-card:last-child:not(.primary) .label .icon { width:28px; height:28px; border-radius:50%; background:var(--brand-soft); color:var(--brand); }
.balance-card .balance-amount { font-size:2rem; line-height:1.2; margin:7px 0; overflow-wrap:anywhere; }
.balance-note { font-size:.73rem; }
.reward-discovery-section { margin:20px 0 22px; }
.reward-discovery-section .eyebrow { display:none; }
.reward-discovery-section .block-heading { margin-bottom:13px; }
.reward-discovery-section .block-heading h2 { font-size:1.45rem; margin-top:0!important; }
.reward-discover { gap:14px; }
.discovery-card { min-height:140px; padding:18px 20px; border-radius:16px; background:var(--brand-soft); border-color:var(--line); align-items:center; }
.discovery-ticket { background:var(--warm); }
.discovery-trophy { background:var(--rose); }
.discovery-trophy .discovery-action { color:var(--rose-ink); }
.discovery-card>div { width:66%; }
.discovery-card .discovery-label { color:var(--ink); font-family:Manrope,sans-serif; font-size:1.13rem; letter-spacing:-.04em; margin:0 0 9px; gap:5px; }
.discovery-label .icon { display:none; }
.discovery-description { color:var(--muted); font-size:.79rem; line-height:1.45; margin:0 0 17px; max-width:190px; }
.discovery-action { color:var(--brand); font-size:.75rem; gap:5px; }
.discovery-card .reward-art { width:135px; right:-11px; bottom:4px; transform:none; pointer-events:none; }
.discovery-trophy .reward-art { transform:none; }
.rewards-showcase .discovery-card { min-height:155px; }
.rewards-showcase .discovery-action { border:1px solid var(--coral); padding:6px 12px; border-radius:10px; width:fit-content; background:var(--surface); }
.dashboard-grid { grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr); gap:20px; }
@media(min-width:1200px) {
  .dashboard-grid .side-stack .reward-discovery-section { margin:0; }
  .dashboard-grid .side-stack .discovery-card { padding:14px 12px; }
  .dashboard-grid .side-stack .discovery-card .reward-art { max-width:100%; height:auto; }
}
.watch-panel { padding:22px; background:var(--surface); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.watch-panel .block-heading { margin-bottom:12px; }
.watch-panel .video-feature { border:0; box-shadow:none; border-radius:12px; }
.watch-panel .video-info { padding:14px 0 0; }
.watch-panel .video-poster { border-radius:12px; aspect-ratio:16/5; }
.watch-panel .form-text { margin-bottom:0; }
@media(min-width:768px) {
  .dashboard-grid .discovery-card { flex-direction:column-reverse; align-items:flex-start; justify-content:flex-end; padding:18px; }
  .dashboard-grid .discovery-card>div { width:100%; }
  .dashboard-grid .discovery-card .reward-art { position:static; align-self:center; width:120px; height:94px; margin-bottom:10px; }
  .dashboard-grid .discovery-card .discovery-label { font-size:1rem; }
}
.block-heading h2 { font-size:1.2rem; }
.block-heading p { font-size:.8rem; }
.tab-pills { padding:0; border:0; background:var(--paper); box-shadow:none; border-radius:20px; gap:0; margin-bottom:14px; }
.tab-pills button,.tab-pills a { min-height:36px; padding:7px 22px; border-radius:20px; font-size:.8rem; }
.tab-pills .active { background:var(--brand-solid); color:#fff; }
.poster-play { color:var(--brand-solid); box-shadow:none; }
.reward-pill { background:var(--brand-soft); color:var(--brand); }
.side-stack .card-body { padding:22px; }
.mini-task { gap:12px; border:0; padding:13px 0; color:var(--ink); }
.mini-task .step-icon,.mini-task .step-icon.coral,.mini-task .step-icon.lavender { width:48px; height:48px; border-radius:50%; background:var(--brand-soft); color:var(--brand); }
.mini-task strong { font-size:.85rem; }
.mini-task p { font-size:.73rem; }
.reward-banner { padding:25px; border-radius:17px; }
.reward-banner .eyebrow { display:none; }
.reward-banner h3 { max-width:235px; font-size:1.35rem; line-height:1.2; margin:0 0 13px; }
.reward-banner p { max-width:220px; font-size:.79rem; }
.reward-banner>.icon { color:var(--coral); width:120px; height:120px; right:2px; top:30px; opacity:.55; }
.reward-banner .btn { position:relative; z-index:1; }
.offer-card:nth-child(3n+3) { border-top-color:var(--coral); }
.notice.warning { background:var(--gold); color:var(--gold-ink); border-color:color-mix(in srgb,var(--gold-ink) 20%,var(--gold)); }
.notice.danger { background:var(--rose); color:var(--rose-ink); border-color:var(--line); }
.wheel-stage { background:radial-gradient(circle at center,var(--rose),transparent 69%),var(--paper); }
.wheel-blue { fill:var(--brand-solid); }.wheel-ice { fill:#f7dde1; }.wheel-navy { fill:#641c2e; }.wheel-pale { fill:#fff3ea; }.wheel-coral { fill:#e98a84; }.wheel-gold { fill:#f2d78c; }
.wheel-segment text,.wheel-dot { fill:#302126; }
.wheel-blue text,.wheel-navy text,.wheel-blue .wheel-dot,.wheel-navy .wheel-dot { fill:#fff; }
.wheel-hub { background:var(--premium-gradient); }
.scratch-card { background:var(--premium-gradient); border-color:var(--coral); }
.scratch-card:nth-child(3n+2) { background:linear-gradient(140deg,#81243d,#a23e55); }
.scratch-card:nth-child(3n+3) { background:linear-gradient(140deg,#55202f,#8f3848); }
.scratch-card h3 { color:#fff; }
.scratch-card p,.scratch-card-label { color:var(--on-feature-muted); }
.scratch-card .btn { color:#641c2e; }
.mobile-nav .wallet-nav .icon { background:var(--brand-solid); }
.modal-backdrop { --bs-backdrop-bg:#29121d; }
@media(min-width:1440px) {
  .hero { padding:45px 0 36px; }.hero-art { min-height:505px; }.hero-grid { gap:40px; }
  .video-phone { width:250px; height:460px; }.orbit-ring { width:460px; height:460px; }
}
@media(min-width:768px) and (max-width:1199px) {
  .sidebar { width:210px; padding-inline:14px; }.member-area { margin-left:210px; }.sidebar .brand { font-size:1.15rem; }.sidebar .brand img { width:32px; height:32px; }
  .member-main { padding:26px 24px 50px; }.member-header { padding-inline:24px; }
  .hero h1 { font-size:clamp(2.9rem,5.6vw,4rem); }.hero-desc { font-size:.95rem; }.hero-art { min-height:445px; }.video-phone { width:215px; height:400px; margin-left:-55px; }
  .mini-video { width:195px; height:139px; right:-3px; top:170px; }.float-card { padding:12px; }.float-card.top { top:45px; right:-4px; }.float-card.bottom { right:-4px; bottom:35px; }.float-card strong { font-size:.7rem; }.float-card p { font-size:.61rem; }
  .payment-strip .container-xl { padding-inline:10px; }.payment-strip p { font-size:.88rem; }.payment-logos { gap:20px; }.payment-logo { font-size:.85rem; }
  .step-card { padding:22px 18px 22px 78px; }.step-card .step-icon { width:47px; height:47px; left:16px; top:31px; }.step-card h3 { font-size:.95rem; }
  .discovery-card { padding:16px; min-height:150px; }.discovery-card>div { width:76%; }.discovery-card .discovery-label { font-size:1rem; }.discovery-description { font-size:.73rem; max-width:145px; }.discovery-card .reward-art { width:100px; right:-22px; opacity:.8; }.discovery-action { font-size:.68rem; max-width:none; }
  .dashboard-grid { grid-template-columns:1fr; }.side-stack { grid-template-columns:1fr 1fr; }.balance-card { padding:18px; }.balance-card .label { font-size:.7rem; }.balance-card .balance-amount { font-size:1.8rem; }
}
@media(max-width:767px) {
  .public-header { height:72px; }.brand { font-size:1.2rem; }.brand img { width:33px; height:33px; }.container-xl { padding-inline:20px; }
  .hero { padding:32px 0 24px; }.hero-grid { grid-template-columns:1fr; gap:24px; }.hero-copy { text-align:left; }.hero-kicker { font-size:.59rem; margin-bottom:17px; }.hero h1 { font-size:clamp(2.85rem,10.7vw,4.1rem); margin-bottom:25px; }.hero-desc { font-size:.95rem; max-width:100%; }.hero-cta { justify-content:flex-start; gap:10px; }.hero-cta .btn { padding:12px 16px; font-size:.8rem; }.hero-note { justify-content:flex-start; gap:12px; font-size:.63rem; }.hero-note .icon { width:18px; height:18px; }
  .hero-art { min-height:400px; width:100%; max-width:460px; margin:0 auto; }.video-phone { width:205px; height:368px; margin-left:-65px; }.orbit-ring { width:310px; height:310px; }.mini-video { width:175px; height:120px; top:145px; right:0; }.float-card.top { top:34px; right:0; }.float-card.bottom { bottom:28px; right:0; left:auto; }.float-card { padding:11px; gap:7px; border-radius:13px; }.float-card .bubble { width:30px; height:30px; }.float-card strong { font-size:.67rem; }.float-card p { font-size:.56rem; }.art-caption { bottom:7px; right:4px; font-size:.4rem; }.phone-top { font-size:.56rem; }.phone-bottom { left:14px; right:14px; }.phone-bottom h3 { font-size:1.1rem; }.art-spark { left:3px; }
  .payment-strip { width:calc(100% - 32px); padding:20px 12px; border-radius:18px; }.payment-strip .container-xl { flex-direction:column; gap:18px; padding:0; }.payment-strip p { font-size:.88rem; max-width:none; text-align:center; }.payment-logos { display:grid; grid-template-columns:repeat(2,1fr); gap:15px 25px; }.payment-logo { font-size:.82rem; }
  .section { padding:45px 0; }#how-it-works { padding:32px 0 20px; }#how-it-works .section-head h2,.rewards-showcase .section-head h2 { font-size:1.65rem; }#how-it-works .section-head,.rewards-showcase .section-head { text-align:left; }
  .steps-grid { grid-template-columns:1fr; gap:12px; }.step-card,.step-card:nth-child(2),.step-card:nth-child(3) { padding:22px 20px 22px 93px; min-height:130px; }.step-card .step-icon { width:54px; height:54px; top:33px; left:20px; }.step-card h3 { font-size:1.05rem; }.step-card p { font-size:.83rem; }.step-number { margin-bottom:4px; }
  .rewards-showcase { padding:10px 0 35px; }.rewards-showcase .section-head>p { margin:12px 0 0; }.rewards-showcase .discovery-card { min-height:197px; }.rewards-showcase .discovery-action { padding:0; border:0; background:none; }
  .sidebar { display:none; }.member-area { margin-left:0; }.member-header { height:70px; padding-inline:18px; }.member-main { padding:24px 18px calc(110px + env(safe-area-inset-bottom)); }.page-heading h1 { font-size:1.3125rem; }.page-heading p { font-size:.85rem; }.page-kicker { font-size:.58rem; }
  .balance-grid { gap:12px; }.balance-card { padding:17px; min-height:135px; }.balance-card.primary { padding:24px; min-height:150px; }.balance-card .label { font-size:.7rem; }.balance-card .balance-amount { font-size:1.75rem; }.balance-card.primary .balance-amount { font-size:2.6rem; }.balance-card:not(.primary) .label .icon,.balance-card:last-child:not(.primary) .label .icon { width:25px; height:25px; padding:5px; }.balance-note { font-size:.66rem; }
  .reward-discovery-section { margin:24px 0; }.reward-discovery-section .block-heading h2 { font-size:1.2rem; }.reward-discover { gap:10px; }.discovery-card { min-height:190px; padding:12px 10px; flex-direction:column-reverse; align-items:flex-start; justify-content:flex-end; }.discovery-card>div { width:100%; }.discovery-card .reward-art { position:static; width:115px; height:83px; max-width:125%; align-self:center; margin:-5px 0 6px; opacity:1; }.discovery-card .discovery-label { font-size:.73rem; line-height:1.3; letter-spacing:-.035em; margin:0 0 7px; }.discovery-description { font-size:.69rem; line-height:1.45; margin-bottom:8px; }.discovery-action { font-size:0; }.discovery-action .icon { width:17px; height:17px; }
  .dashboard-grid { grid-template-columns:1fr; gap:20px; }.watch-panel .video-poster { aspect-ratio:16/9; }.watch-panel { padding:17px; border-radius:18px; }.block-heading h2 { font-size:1.1rem; }.block-heading p { font-size:.75rem; }.side-stack { grid-template-columns:1fr; }.side-stack .card-body { padding:22px; }.reward-banner h3 { max-width:245px; }
  .mobile-nav .wallet-nav .icon { background:var(--brand-solid); }.tab-pills button,.tab-pills a { min-height:44px; }.auth-form-wrap { margin:24px 16px; max-width:calc(100% - 32px); padding:27px 23px; }.auth-layout { min-height:auto; }.public-page { padding-top:36px; }
  .auth-form-illustrated { padding-top:18px; }.auth-welcome-art { margin-bottom:18px; }
  .public-footer { text-align:center; }.footer-top p { margin-inline:auto; }
  .footer-links { flex-wrap:wrap; justify-content:center; gap:18px; }.footer-bottom { line-height:1.7; }
}
@media(max-width:359px) {
  .container-xl { padding-inline:16px; }.public-header .brand { font-size:1.05rem; gap:6px; }.public-header .brand img { width:29px; height:29px; }.public-actions { gap:3px; }.public-actions>.btn-primary { padding-inline:9px; }.public-actions .icon-btn { min-width:30px; width:30px; }
  .hero h1 { font-size:2.8rem; }.hero-cta { gap:8px; }.hero-cta .btn { padding-inline:13px; font-size:.74rem; }.hero-note { gap:7px; font-size:.57rem; }.hero-art { min-height:365px; }.video-phone { width:184px; height:334px; margin-left:-55px; }.mini-video { width:151px; height:108px; top:139px; }.float-card { padding:8px; }.float-card.top { top:28px; }.float-card.bottom { bottom:27px; }.float-card .bubble { width:26px; height:26px; }.float-card strong { font-size:.61rem; }.float-card p { font-size:.5rem; }.orbit-ring { width:275px; height:275px; }
  .member-main { padding-inline:14px; }.member-header { padding-inline:13px; }.reward-discover { gap:7px; }.discovery-card { padding:10px 8px; }.discovery-card .discovery-label { font-size:.65rem; }.discovery-description { font-size:.65rem; }.step-card h3 { font-size:.95rem; }.step-card p { font-size:.77rem; }
}

/* The outlined wordmark uses the same four/play symbol as the install icon. */
.brand.brand-has-wordmark{gap:0;flex-shrink:0;line-height:1}
.brand.brand-has-wordmark .brand-wordmark{display:block;width:184px;height:auto;aspect-ratio:738/168;border-radius:0}
.brand.brand-has-wordmark .brand-dark{display:none}
[data-bs-theme="dark"] .brand.brand-has-wordmark .brand-light{display:none}
[data-bs-theme="dark"] .brand.brand-has-wordmark .brand-dark{display:block}
.brand.brand-animated{color:var(--ink);--brand-active:0}
.brand-animated .brand-play,.brand-animated .brand-dollar{transition:opacity 280ms ease-in-out}
.brand-animated .brand-play{opacity:calc(1 - var(--brand-active))}
.brand-animated .brand-dollar{opacity:var(--brand-active)}
.brand-animated:focus-visible,.brand-touch-active .brand-animated{--brand-active:1}
@media(hover:hover) and (pointer:fine){.brand-animated:hover{--brand-active:1}}
@media(prefers-reduced-motion:reduce){.brand-animated .brand-play,.brand-animated .brand-dollar{transition:none!important}}
@media(max-width:1199px){.sidebar .brand.brand-has-wordmark .brand-wordmark{width:165px}}
@media(max-width:767px){
  .brand.brand-has-wordmark .brand-wordmark{width:155px}
}
@media(max-width:359px){.brand.brand-has-wordmark .brand-wordmark{width:132px}}

/* Shared mobile member header: reserve the actions and scale tenant artwork to fit. */
@media(max-width:767px) {
  .member-header { height:71px; padding-inline:20px; gap:12px; }
  .member-header .mobile-brand { flex:1 1 auto; min-width:0; }
  .member-header .brand { display:flex; max-width:100%; min-width:0; min-height:44px; }
  .member-header .brand img,
  .member-header .brand .brand-wordmark { width:auto; height:32px; max-width:100%; aspect-ratio:auto; object-fit:contain; object-position:left center; }
  .member-header .brand:not(.brand-has-wordmark) > img { flex-shrink:0; max-width:32px; }
  .member-header .brand > span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
  .member-header .header-tools { flex-shrink:0; gap:8px; }
  .member-header .header-tools .icon-btn { display:inline-grid; width:44px; height:44px; min-width:44px; flex-shrink:0; }
  .member-header .header-tools .icon { width:24px; height:24px; }
  .member-header .header-tools .avatar { width:42px; height:42px; flex-shrink:0; margin:0; }
}

/* Dashboard earnings: reserved artwork space keeps every API amount readable. */
#dashboard-balances {
  --earning-border:#f2dce3;
  --earning-ink:#300e29;
  --earning-muted:#756574;
  --earning-pink:#fce9ef;
  --earning-wave:#f9b9cf;
  --earning-cool:#eef5fc;
}
/* Dashboard email reminder: local artwork, shared rose palette, no layout while hidden. */
#email-notice[hidden], .email-reminder-close[hidden] { display:none; }
#email-notice { margin-bottom:18px; animation:email-reminder-enter .3s ease-out both; }
.email-reminder {
  position:relative; isolation:isolate; display:grid; grid-template-columns:100px minmax(0,1fr);
  align-items:center; gap:12px; overflow:hidden; padding:20px 18px 20px 12px;
  border:1px solid var(--line); border-radius:26px;
  background:radial-gradient(ellipse at 92% 100%,var(--brand-soft),transparent 66%),linear-gradient(115deg,var(--surface),var(--brand-soft));
  box-shadow:0 8px 26px color-mix(in srgb,var(--brand-solid) 6%,transparent),inset 0 1px 0 color-mix(in srgb,var(--surface) 80%,transparent);
}
.email-reminder::before, .email-reminder::after { content:''; position:absolute; z-index:-1; pointer-events:none; }
.email-reminder::before { width:90%; height:85px; right:-28%; bottom:-44px; transform:rotate(-19deg); border-radius:50%; background:var(--rose); opacity:.38; }
.email-reminder::after { right:10%; top:54%; width:13px; height:18px; background:var(--coral); opacity:.48; clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%); }
.email-reminder-art { width:100%; height:auto; align-self:center; }
.email-reminder-copy { min-width:0; }
.email-reminder h2 { margin:0 38px 6px 0; color:var(--ink); font-size:clamp(18px,2.4vw,25px); font-weight:800; line-height:1.22; letter-spacing:-.045em; }
.email-reminder p { max-width:410px; margin:0 0 13px; padding-right:2px; color:var(--muted); font-size:13px; line-height:1.5; }
.email-reminder .email-reminder-send {
  display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:100%; min-height:44px;
  padding:10px 19px; border:0; border-radius:100px; color:var(--on-feature); font-size:13px; font-weight:750; line-height:1.3;
  background:linear-gradient(110deg,var(--brand-solid),color-mix(in srgb,var(--brand-solid) 75%,#ff477a)); box-shadow:0 5px 13px color-mix(in srgb,var(--brand-solid) 17%,transparent);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.email-reminder-send .icon { flex:none; width:20px; height:20px; }
.email-reminder-close { position:absolute; right:3px; top:3px; display:grid; place-items:center; width:44px; height:44px; padding:12px; border:0; border-radius:50%; background:transparent; color:var(--muted); transition:background .18s ease; }
.email-reminder-close .icon { width:18px; height:18px; stroke-width:1.7; }
.email-reminder-close:focus-visible { outline-offset:-5px; }
.email-reminder .email-reminder-send:active { transform:scale(.97); }
#email-notice.is-exiting { pointer-events:none; animation:email-reminder-exit .18s ease-in forwards; }
@keyframes email-reminder-enter { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
@keyframes email-reminder-exit { to { opacity:0; transform:translateY(-5px) scale(.985); } }
@media(hover:hover) {
  .email-reminder .email-reminder-send:hover { transform:translateY(-1px); filter:brightness(1.06); box-shadow:0 8px 17px color-mix(in srgb,var(--brand-solid) 23%,transparent); }
  .email-reminder-close:hover { background:color-mix(in srgb,var(--brand) 8%,transparent); }
}
@media(min-width:576px) {
  .email-reminder { grid-template-columns:130px minmax(0,1fr); gap:22px; padding:18px 32px 18px 18px; }
  .email-reminder p { font-size:15px; }
  .email-reminder .email-reminder-send { min-height:46px; padding-inline:24px; font-size:14px; }
  .email-reminder-close { top:8px; right:8px; }
}
@media(min-width:1200px) {
  .email-reminder { grid-template-columns:120px minmax(0,1fr); padding-block:14px; }
  .email-reminder-copy { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:24px; align-items:center; padding-right:30px; }
  .email-reminder h2 { grid-column:1; }
  .email-reminder p { grid-column:1; margin-bottom:0; max-width:440px; }
  .email-reminder .email-reminder-send { grid-column:2; grid-row:1/3; }
}
@media(max-width:359px) {
  .email-reminder { grid-template-columns:68px minmax(0,1fr); gap:8px; padding:18px 14px 18px 8px; }
  .email-reminder h2 { font-size:17px; }
  .email-reminder p { font-size:12px; }
  .email-reminder .email-reminder-send { padding-inline:13px; gap:6px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  #email-notice, #email-notice.is-exiting { animation:none; }
  .email-reminder .email-reminder-send, .email-reminder-close { transition:none; }
}
#dashboard-balances .balance-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:24px;
}
#dashboard-balances .balance-card {
  container-type:inline-size;
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  padding:14px;
  overflow:hidden;
  border:1px solid var(--earning-border);
  border-radius:22px;
  color:var(--earning-ink);
  background:radial-gradient(ellipse at 100% 80%,var(--earning-pink),transparent 75%),var(--surface);
  box-shadow:0 8px 24px #67152d08,inset 0 1px 0 #ffffff80;
}
#dashboard-balances .balance-lifetime,
#dashboard-balances .balance-total-views {
  background:linear-gradient(145deg,var(--earning-cool),var(--surface) 65%,var(--earning-pink));
}
#dashboard-balances .balance-card::before,
#dashboard-balances .balance-card::after {
  content:'';
  position:absolute;
  z-index:-1;
  pointer-events:none;
  width:160%;
  height:80px;
  bottom:-38px;
  left:-35%;
  top:auto;
  right:auto;
  border:0;
  box-shadow:none;
  border-radius:50%;
  background:var(--earning-wave);
  opacity:.34;
  transform:rotate(17deg);
}
#dashboard-balances .balance-card::after {
  left:15%;
  bottom:-26px;
  opacity:.45;
  transform:rotate(-23deg);
  border-top:1px solid #ffffffa6;
}
#dashboard-balances .balance-content { position:relative; z-index:1; min-width:0; }
#dashboard-balances .label {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  font-size:clamp(.68rem,5.8cqi,.91rem);
  line-height:1.3;
  color:var(--earning-muted);
}
#dashboard-balances .label span { min-width:0; overflow-wrap:anywhere; }
#dashboard-balances .label .icon {
  display:block;
  flex:0 0 auto;
  width:28px;
  height:28px;
  padding:6px;
  border-radius:50%;
  color:var(--brand-solid);
  background:var(--brand-soft);
}
#dashboard-balances .balance-amount {
  margin:9px 0 6px;
  font-family:Manrope,sans-serif;
  font-size:clamp(1.6rem,17cqi,2.4rem);
  font-weight:800;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.055em;
  line-height:1.15;
  overflow-wrap:anywhere;
}
#dashboard-balances .balance-note {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:clamp(.64rem,5.5cqi,.84rem);
  line-height:1.4;
  color:var(--earning-muted);
}
#dashboard-balances .balance-art {
  z-index:1;
  display:block;
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
}
/* The compact summaries share equal heights and give descriptions the full width. */
#dashboard-balances .balance-secondary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-column:1/-1;
  gap:inherit;
  min-width:0;
}
#dashboard-balances .balance-card:not(.primary) {
  min-height:126px;
  padding-bottom:12px;
}
#dashboard-balances .balance-card:not(.primary) .balance-amount { margin:12px 0 8px; }
#dashboard-balances .balance-card:not(.primary)::before { height:46px; bottom:-28px; }
#dashboard-balances .balance-card:not(.primary)::after { height:46px; bottom:-20px; }
#dashboard-balances .balance-card:not(.primary) .label .icon { color:var(--brand); }
#dashboard-balances .balance-card.primary {
  grid-column:1/-1;
  justify-content:center;
  min-height:180px;
  padding:22px;
  border:0;
  color:var(--on-feature);
  background:radial-gradient(ellipse at 100% 10%,#ae294b80,transparent 65%),linear-gradient(120deg,#4f0c24 2%,#75122f 58%,#a32d4c);
  box-shadow:0 10px 30px #67152d18,inset 0 1px 0 #ffffff14;
}
#dashboard-balances .primary::before {
  width:110%;
  height:160%;
  left:42%;
  bottom:-80%;
  opacity:.55;
  background:linear-gradient(100deg,#f5517733,#b9294c99);
  border-top:1px solid #ff91ab40;
  transform:rotate(-36deg);
  box-shadow:0 -35px 0 #ee406515,0 -75px 0 #ff82930a;
}
#dashboard-balances .primary::after {
  width:125%;
  height:55%;
  left:-38%;
  bottom:-43%;
  background:#ed446e;
  opacity:.22;
  transform:rotate(13deg);
}
#dashboard-balances .primary .balance-content { width:56%; }
#dashboard-balances .primary .label { font-size:clamp(.7rem,3.9cqi,.93rem); color:#fff; }
#dashboard-balances .primary .label .icon { width:30px; height:30px; padding:6px; border-radius:10px; color:#fff; background:#ffffff16; }
#dashboard-balances .primary .balance-amount { font-size:clamp(2rem,13cqi,3.7rem); margin:10px 0 3px; }
#dashboard-balances .primary .balance-note { width:fit-content; min-height:44px; font-size:clamp(.76rem,4cqi,.96rem); color:#fff; text-decoration:none; }
#dashboard-balances .primary .balance-note .icon { flex-shrink:0; width:23px; height:23px; }
#dashboard-balances .primary .balance-note:focus-visible { outline:2px solid #fff; outline-offset:3px; border-radius:4px; }
#dashboard-balances .primary .balance-art {
  position:absolute;
  right:0;
  bottom:8px;
  width:44%;
  max-width:245px;
  margin:0;
}
[data-bs-theme="dark"] #dashboard-balances {
  --earning-border:#5a3445;
  --earning-ink:var(--ink);
  --earning-muted:var(--muted);
  --earning-pink:#402032;
  --earning-wave:#9c395b;
  --earning-cool:#252838;
}
[data-bs-theme="dark"] #dashboard-balances .balance-card { box-shadow:0 8px 24px #00000020,inset 0 1px 0 #ffffff08; }
@media(min-width:576px) {
  #dashboard-balances .balance-card { padding:20px; border-radius:24px; }
  #dashboard-balances .balance-card:not(.primary) { padding-bottom:10px; }
  #dashboard-balances .label .icon { width:34px; height:34px; padding:7px; }
  #dashboard-balances .balance-card.primary { min-height:210px; padding:28px; }
  #dashboard-balances .primary .balance-art { right:12px; bottom:0; }
}
@media(min-width:1200px) {
  /* Match the wallet hero to the two rows of desktop summaries. */
  #dashboard-balances .balance-grid { grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr)); grid-template-rows:minmax(272px,auto); gap:16px; }
  #dashboard-balances .balance-card { min-height:264px; padding:20px; }
  #dashboard-balances .balance-card.primary { grid-column:auto; padding:24px; }
  #dashboard-balances .primary .balance-content { width:56%; }
  #dashboard-balances .primary .balance-art { right:0; bottom:26px; }
  #dashboard-balances .balance-secondary { grid-column:2/-1; grid-auto-rows:1fr; }
  #dashboard-balances .balance-card:not(.primary) { min-height:149px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  #dashboard-balances .balance-card { transition:box-shadow .2s ease; }
  #dashboard-balances .balance-card:hover { box-shadow:0 12px 30px #67152d16; }
  #dashboard-balances .primary .balance-note:hover { text-decoration:underline; text-underline-offset:4px; }
}

/* One install surface, with a compact mobile composition and a CSS phone preview. */
.install-banner,.install-guide {
  --install-brand:var(--brand-solid);
  --install-tint:color-mix(in srgb,var(--install-brand) 7%,var(--surface));
  --install-line:color-mix(in srgb,var(--install-brand) 9%,var(--surface));
  --install-gradient:linear-gradient(170deg,color-mix(in srgb,var(--install-brand) 88%,white),color-mix(in srgb,var(--install-brand) 86%,black));
}
.install-banner {
  position:fixed; z-index:1030; left:max(12px,env(safe-area-inset-left)); right:max(12px,env(safe-area-inset-right));
  bottom:calc(14px + env(safe-area-inset-bottom)); width:auto; max-width:440px; margin-inline:auto;
  padding:16px; overflow:hidden; isolation:isolate; border:1px solid var(--install-line); border-radius:24px;
  background:radial-gradient(ellipse at 90% 100%,var(--install-tint),transparent 65%),var(--surface);
  box-shadow:0 14px 45px color-mix(in srgb,var(--install-brand) 12%,transparent),0 2px 8px #00000005;
  animation:install-enter .32s ease-out both;
}
.install-banner.is-leaving { animation:install-leave .18s ease-in both; pointer-events:none; }
.install-main { min-width:0; }
.install-brand { display:flex; align-items:center; gap:12px; padding-right:34px; }
.install-app-icon { display:block; width:48px; height:48px; flex-shrink:0; border-radius:12px; object-fit:contain; }
.install-copy { display:grid; gap:3px; min-width:0; line-height:1.35; }
.install-copy strong { font-family:Manrope,sans-serif; font-size:1.08rem; font-weight:800; letter-spacing:-.035em; overflow-wrap:anywhere; color:var(--ink); }
.install-copy>span { color:var(--muted); font-size:.78rem; }
.install-close { position:absolute; z-index:2; top:9px; right:9px; display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:50%; color:var(--muted); background:color-mix(in srgb,var(--muted) 7%,var(--surface)); transition:background .15s,color .15s; }
.install-close:hover { color:var(--ink); background:var(--install-tint); }
.install-close .icon { width:22px; height:22px; stroke-width:2; }
.install-button { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:46px; margin-top:14px; padding:10px 18px; border:1px solid color-mix(in srgb,var(--install-brand) 70%,white); border-radius:15px; background:var(--install-gradient); color:#fff; font-size:.96rem; font-weight:750; box-shadow:0 8px 18px color-mix(in srgb,var(--install-brand) 20%,transparent),inset 0 1px 1px #ffffff30; transition:transform .18s,box-shadow .18s,filter .18s; }
.install-button:hover,.install-button:active,.install-button:disabled { background:var(--install-gradient)!important; color:#fff!important; border-color:var(--install-brand)!important; }
.install-button:hover { filter:brightness(1.05); box-shadow:0 10px 22px color-mix(in srgb,var(--install-brand) 26%,transparent); }
.install-button:active { transform:scale(.98); }
.install-download { display:flex; align-items:center; }
.install-download .icon { width:23px; height:23px; stroke-width:2; }
.install-chevron { position:absolute; right:34px; width:19px; opacity:.8; }
.install-close:focus-visible,.install-button:focus-visible,.install-guide .btn:focus-visible { outline:3px solid var(--install-brand); outline-offset:4px; box-shadow:0 0 0 3px var(--surface); }
.install-benefits,.install-preview { display:none; }
body:has(.app-layout) .install-banner { bottom:calc(106px + env(safe-area-inset-bottom)); }
/* Member controls need clearance; public floating cards must not extend the page. */
body:has(.install-banner) .member-main { padding-bottom:260px; }
/* Give existing notices their space; they resume when the install card closes. */
body:has(.install-banner) .payout-notice { visibility:hidden; }
body.modal-open .install-banner { visibility:hidden; }
.install-guide .modal-content { padding:14px; background:radial-gradient(ellipse at 100% 0,var(--install-tint),transparent 60%),var(--surface); border-color:var(--install-line); }
.install-guide .modal-header { padding:14px 12px; }
.install-guide .modal-symbol { background:transparent; width:48px; height:48px; }
.install-guide .modal-title { overflow-wrap:anywhere; }
.install-guide .modal-body { padding:5px 12px 16px; }
.install-guide-subtitle { color:var(--muted); font-size:.9rem; line-height:1.55; margin-bottom:24px; }
.install-steps { display:grid; gap:24px; padding:0; margin:0; list-style:none; }
.install-steps li { display:flex; align-items:flex-start; gap:16px; }
.install-step-icon { position:relative; flex-shrink:0; display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:var(--install-tint); color:var(--install-brand); }
.install-step-icon small { position:absolute; bottom:-5px; right:-5px; display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--install-brand); color:white; font-size:.62rem; font-style:normal; font-weight:750; border:2px solid var(--surface); }
.install-steps h3 { margin:1px 0 6px; font-size:.92rem; font-weight:750; line-height:1.4; }
.install-steps p { font-size:.81rem; line-height:1.6; color:var(--muted); margin:0; }
.install-guide-note { margin-top:24px; padding:12px 14px; background:var(--install-tint); border-radius:12px; color:var(--muted); font-size:.78rem; line-height:1.6; }
.install-guide .form-label { margin-top:20px; }
.install-guide .modal-footer { border:0; padding:8px 12px; }
.install-guide .btn-primary { background:var(--install-gradient); border-color:var(--install-brand); color:white; }
@media(min-width:768px) {
  .install-banner { max-width:560px; padding:18px; border-radius:22px; }
  .install-main { width:64%; }
  .install-brand { gap:13px; padding:0; }
  .install-app-icon { width:56px; height:56px; border-radius:15px; }
  .install-copy { gap:5px; }
  .install-copy strong { font-size:1.4rem; }
  .install-copy>span { font-size:.75rem; }
  .install-benefits { display:flex; align-items:center; padding:0; margin:14px 0; list-style:none; }
  .install-benefits li { display:flex; align-items:center; gap:6px; flex:1; font-size:.7rem; line-height:1.4; color:var(--ink); white-space:nowrap; }
  .install-benefits li+li { margin-left:8px; padding-left:8px; border-left:1px solid var(--install-line); }
  .install-benefits li>span { display:grid; place-items:center; flex-shrink:0; width:28px; height:28px; border-radius:50%; background:var(--install-tint); color:var(--install-brand); }
  .install-benefits .icon { width:18px; height:18px; }
  .install-button { position:relative; min-height:44px; border-radius:24px; font-size:1rem; gap:10px; margin-top:0; }
  .install-download { padding-right:10px; border-right:1px solid #ffffff40; }
  .install-download .icon { width:23px; height:23px; }
  .install-chevron { right:18px; width:18px; }
  .install-close { top:8px; right:8px; width:36px; height:36px; }
  .install-preview { display:block; position:absolute; z-index:-1; right:0; top:0; width:33%; height:100%; pointer-events:none; }
  .install-preview:before { content:""; position:absolute; inset:27px -13px -47px -50px; background:radial-gradient(ellipse,var(--install-tint) 25%,transparent 70%); }
  .install-phone { position:absolute; left:8px; top:32px; width:180px; height:307px; padding:5px; border-radius:34px; transform:rotate(17deg); background:linear-gradient(100deg,#45454c,#d8d8df 6%,#494950 10%,#9999a2 93%,#323238); box-shadow:0 0 0 1px #a2a2ac,0 0 0 3px #62626b,0 14px 25px #00000020; }
  .install-screen { position:relative; overflow:hidden; height:100%; border:6px solid #09090e; border-radius:29px; background:radial-gradient(ellipse at 15% 80%,color-mix(in srgb,var(--install-brand) 80%,white),transparent 65%),linear-gradient(140deg,#110d23 15%,color-mix(in srgb,var(--install-brand) 45%,#110d23) 60%,var(--install-brand)); }
  .install-phone-status { padding:11px 15px 0; color:white; font-size:.65rem; font-weight:700; }
  .install-phone-status>span { float:right; font-size:.45rem; padding-top:3px; }
  .install-phone-island { position:absolute; top:8px; left:63px; width:54px; height:16px; border-radius:14px; background:#050509; }
  .install-phone-apps { display:grid; grid-template-columns:repeat(3,50px); gap:17px 13px; padding:22px 16px; }
  .install-preview-icon { width:50px; height:50px; object-fit:contain; border-radius:12px; }
  .install-phone-apps>div>span { display:block; margin-top:5px; color:white; text-align:center; font-size:.5rem; width:58px; margin-left:-4px; overflow-wrap:anywhere; }
  .install-phone-apps>i { height:50px; border-radius:13px; background:#ffffff22; }
  .install-accent:before,.install-accent:after { content:""; position:absolute; z-index:1; top:49px; left:0; width:5px; height:18px; border-radius:4px; transform:rotate(-37deg); background:color-mix(in srgb,var(--install-brand) 65%,white); }
  .install-accent:after { top:70px; left:-12px; transform:rotate(-65deg); }
  .install-guide .modal-symbol .install-app-icon { width:48px; height:48px; border-radius:12px; }
  body:has(.install-banner) .member-main { padding-bottom:290px; }
}
@media(min-width:768px) { body:has(.app-layout) .install-banner { bottom:24px; } }
@media(max-width:767.98px) {
  .install-guide .modal-dialog { display:flex; align-items:flex-end; min-height:100%; margin:0; padding:24px max(0px,env(safe-area-inset-right)) 0 max(0px,env(safe-area-inset-left)); }
  .install-guide .modal-content { border-radius:28px 28px 0 0; padding:16px 12px calc(16px + env(safe-area-inset-bottom)); max-height:calc(100dvh - 24px); overflow:auto; }
  .install-guide .modal-content:before { content:""; width:36px; height:4px; border-radius:4px; background:var(--line); margin:0 auto 6px; flex-shrink:0; }
  .install-guide.fade .modal-dialog { transform:translateY(35px); }
  .install-guide.show .modal-dialog { transform:none; }
}
@media(max-height:550px) { .install-banner { max-width:440px; padding:12px; } .install-main { width:100%; } .install-benefits,.install-preview { display:none; } .install-app-icon { width:44px; height:44px; } .install-copy strong { font-size:1rem; } .install-copy>span { font-size:.78rem; } .install-button { min-height:44px; margin-top:10px; font-size:1rem; } }
@keyframes install-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes install-leave { to { opacity:0; transform:translateY(12px); } }
@media(prefers-reduced-motion:reduce) { .install-banner,.install-button,.install-close,.install-guide .modal-dialog { animation:none!important; transition:none!important; } }

/* Confirmed spin celebration. Scoped to the shared Bootstrap modal variant. */
.spin-reward-modal {
  --reward-ink:#211a25;
  --reward-muted:#79717e;
  --reward-surface:#fffdfd;
  --reward-pink:#fff0f4;
  --reward-line:#f0dce3;
  --reward-accent:#c81035;
  --reward-accent-end:#fa365e;
  --reward-glow:#ffdee84d;
  --reward-icon-bg:#fce1e9;
  --reward-gradient:linear-gradient(135deg,var(--reward-accent),var(--reward-accent-end));
  --reward-margin:max(12px,env(safe-area-inset-top),env(safe-area-inset-bottom));
  padding:0!important;
}
body:has(.spin-reward-modal) > .modal-backdrop {
  --bs-backdrop-bg:rgba(24,15,24,.55);
  --bs-backdrop-opacity:1;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.spin-reward-modal.fade { transition:opacity .3s ease; }
.spin-reward-modal .modal-dialog {
  width:calc(100% - max(12px,env(safe-area-inset-left)) - max(12px,env(safe-area-inset-right)));
  max-width:640px;
  margin:var(--reward-margin) auto;
  min-height:calc(100% - var(--reward-margin) * 2);
}
.spin-reward-modal.fade .modal-dialog {
  transform:translateY(14px) scale(.94);
  transition:transform .3s cubic-bezier(.2,.75,.25,1);
}
.spin-reward-modal.show .modal-dialog { transform:none; }
.spin-reward-modal .modal-content {
  max-height:calc(100vh - var(--reward-margin) * 2);
  max-height:calc(100dvh - var(--reward-margin) * 2);
  overflow:hidden;
  padding:0;
  color:var(--reward-ink);
  background:radial-gradient(ellipse at 50% 45%,var(--reward-glow),transparent 68%),var(--reward-surface);
  border:1px solid var(--reward-line);
  border-radius:30px;
  box-shadow:0 28px 90px #20101b38,0 2px 8px #20101b0a;
}
.spin-reward-modal .modal-header {
  flex-shrink:0;
  align-items:center;
  gap:12px;
  padding:22px 20px 8px;
  border:0;
}
.spin-reward-modal .modal-heading { min-width:0; }
.spin-reward-modal .modal-header .modal-title {
  color:var(--reward-ink);
  font-size:clamp(1rem,3.9vw,1.58rem)!important;
  font-weight:800;
  letter-spacing:-.045em;
  line-height:1.25;
}
.spin-reward-modal .modal-symbol {
  width:48px;
  height:48px;
  border-radius:50%;
  color:var(--reward-accent);
  background:linear-gradient(135deg,var(--reward-pink),var(--reward-icon-bg));
}
.spin-reward-modal .modal-symbol .icon { width:29px; height:29px; }
.spin-reward-modal .modal-subtitle {
  margin:6px 0 0;
  font-size:clamp(.76rem,2.7vw,1.06rem);
  line-height:1.45;
  color:var(--reward-muted);
}
.spin-reward-modal .modal-header .btn-close {
  flex:0 0 44px;
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  margin:0 0 0 auto;
  align-self:flex-start;
  border:1px solid var(--reward-line);
  border-radius:50%;
  background-size:14px;
  opacity:.7;
  transition:background-color .2s,opacity .2s,transform .2s;
}
.spin-reward-modal .modal-header .btn-close:hover { opacity:1; background-color:var(--reward-pink); }
.spin-reward-modal .modal-body {
  flex:1 1 auto;
  overflow:auto;
  overscroll-behavior:contain;
  min-height:0;
  padding:0 20px 4px;
  scrollbar-width:thin;
}
.spin-reward-modal .modal-body:focus-visible { outline:2px solid var(--reward-accent); outline-offset:-3px; border-radius:8px; }
.spin-reward-art { position:relative; margin:0 -20px; }
.spin-reward-art img { display:block; width:100%; height:auto; aspect-ratio:680/380; max-height:310px; object-fit:contain; }
.spin-reward-summary { text-align:center; padding:0 0 22px; }
.spin-reward-title {
  color:var(--reward-ink);
  font-family:Manrope,var(--bs-body-font-family);
  font-size:clamp(1.8rem,6.6vw,3rem);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.055em;
  margin:0 0 10px;
  overflow-wrap:anywhere;
}
.spin-reward-accent,.spin-reward-amount {
  color:var(--reward-accent);
  background:var(--reward-gradient);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.spin-reward-amount { display:block; font-size:clamp(2.5rem,9vw,3.8rem); line-height:1.1; }
.spin-reward-kind { display:block; font-size:clamp(.95rem,3.4vw,1.25rem); letter-spacing:-.02em; margin-top:6px; }
.spin-reward-summary p { margin:0; color:var(--reward-muted); font-size:clamp(.84rem,2.9vw,1.05rem); line-height:1.5; }
.spin-reward-info {
  display:flex;
  align-items:center;
  gap:16px;
  padding:17px 16px;
  background:linear-gradient(115deg,var(--reward-pink),color-mix(in srgb,var(--reward-pink) 65%,var(--reward-surface)));
  border:1px solid color-mix(in srgb,var(--reward-line) 50%,transparent);
  border-radius:20px;
  box-shadow:0 5px 16px #bd173504;
}
.spin-reward-info-icon {
  display:grid;
  place-items:center;
  flex-shrink:0;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--reward-icon-bg);
  color:var(--reward-accent);
}
.spin-reward-info-icon .icon { width:28px; height:28px; }
.spin-reward-info > div { min-width:0; border-left:1px solid var(--reward-line); padding-left:16px; }
.spin-reward-info-title { font-size:clamp(.88rem,3vw,1.08rem); font-weight:750; line-height:1.4; margin:0 0 5px; }
.spin-reward-info-detail { color:var(--reward-muted); font-size:clamp(.79rem,2.7vw,.98rem); line-height:1.45; margin:0; }
.spin-reward-modal .modal-footer { flex-shrink:0; display:flex; flex-wrap:nowrap; gap:12px; border:0; padding:20px; }
.spin-reward-modal .modal-footer .btn {
  flex:1;
  min-width:0;
  min-height:52px;
  margin:0;
  justify-content:center;
  border-radius:17px;
  padding:12px;
  font-size:1rem;
  font-weight:750;
  transition:transform .18s,box-shadow .18s,background-color .18s;
}
.spin-reward-modal .modal-footer .btn-light { color:var(--reward-ink); background:var(--reward-surface); border:1px solid var(--reward-line); box-shadow:none; }
.spin-reward-modal .modal-footer .btn-light:hover { background:var(--reward-pink); }
.spin-reward-modal .modal-footer .btn-primary {
  color:#fff;
  background:linear-gradient(135deg,var(--reward-accent),#e51f49);
  border:1px solid #d71943;
  box-shadow:inset 0 1px 2px #ffffff75,0 9px 19px #e91d4329;
  gap:12px;
}
.spin-reward-modal .modal-footer .btn-primary:hover { box-shadow:inset 0 1px 2px #ffffff75,0 11px 22px #e91d4340; transform:translateY(-1px); }
.spin-reward-modal .modal-footer .btn:active,.spin-reward-modal .btn-close:active { transform:scale(.97); }
.spin-reward-modal button:focus-visible { outline:3px solid var(--reward-accent); outline-offset:3px; box-shadow:0 0 0 5px var(--reward-surface); }
[data-bs-theme=dark] .spin-reward-modal {
  --reward-ink:var(--ink);
  --reward-muted:var(--muted);
  --reward-surface:#2c2029;
  --reward-pink:#3e2735;
  --reward-line:#60404c;
  --reward-accent:#ff96ae;
  --reward-accent-end:#ff658b;
  --reward-icon-bg:#592638;
  --reward-glow:#c8103520;
}
[data-bs-theme=dark] .spin-reward-modal .btn-primary { background:linear-gradient(135deg,#c81035,#e7204b); }
@media(min-width:576px) {
  .spin-reward-modal .modal-header { padding:28px 32px 10px; gap:17px; }
  .spin-reward-modal .modal-symbol { width:60px; height:60px; }
  .spin-reward-modal .modal-symbol .icon { width:34px; height:34px; }
  .spin-reward-modal .modal-header .btn-close { flex-basis:46px; width:46px; height:46px; }
  .spin-reward-modal .modal-body { padding:0 32px 4px; }
  .spin-reward-art { margin:0 -32px; }
  .spin-reward-summary { padding-bottom:27px; }
  .spin-reward-info { gap:24px; padding:20px 26px; }
  .spin-reward-info-icon { width:60px; height:60px; }
  .spin-reward-info-icon .icon { width:34px; height:34px; }
  .spin-reward-info > div { padding-left:26px; }
  .spin-reward-modal .modal-footer { padding:24px 32px 28px; gap:14px; }
  .spin-reward-modal .modal-footer .btn { min-height:64px; font-size:1.15rem; border-radius:19px; }
}
@media(max-width:359px) {
  .spin-reward-modal .modal-header { padding:18px 16px 8px; gap:8px; }
  .spin-reward-modal .modal-symbol { width:40px; height:40px; }
  .spin-reward-modal .modal-symbol .icon { width:25px; height:25px; }
  .spin-reward-modal .modal-body { padding-inline:16px; }
  .spin-reward-art { margin-inline:-16px; }
  .spin-reward-info { padding:14px 12px; gap:10px; }
  .spin-reward-info-icon { width:38px; height:38px; }
  .spin-reward-info > div { padding-left:10px; }
  .spin-reward-modal .modal-footer { padding:16px; gap:10px; }
}
@media(max-height:650px) {
  .spin-reward-art img { max-height:210px; }
  .spin-reward-summary { padding-bottom:16px; }
  .spin-reward-modal .modal-header { padding-top:16px; }
  .spin-reward-modal .modal-footer { padding-top:14px; padding-bottom:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .spin-reward-modal,.spin-reward-modal.fade .modal-dialog,.spin-reward-modal button { transition:none!important; animation:none!important; }
}

/* Homepage watch card: all colors follow the active tenant/theme. */
.watch-panel { min-width:0; padding:clamp(14px,2.2vw,26px); border-radius:24px; border-color:color-mix(in srgb,var(--brand-soft) 65%,var(--line)); }
.watch-panel .watch-heading { gap:13px; margin-bottom:20px; }
.watch-heading-icon { display:grid; place-items:center; flex:0 0 50px; height:50px; border-radius:15px; color:var(--on-feature); background:var(--brand-soft); }
.watch-heading-icon .icon { width:30px; height:26px; padding:5px; border-radius:7px; background:var(--brand-solid); fill:currentColor; stroke-width:0; }
.watch-heading-copy { min-width:0; flex:1; }
.watch-panel .watch-heading h2 { font-size:min(clamp(1rem,1.7vw,1.65rem),var(--member-section-heading-size)); font-weight:800; line-height:1.22; letter-spacing:-.045em; }
.watch-panel .watch-heading p { font-size:clamp(.75rem,1.05vw,.96rem); line-height:1.45; margin-top:5px; }
.watch-heading #refresh-videos { flex:0 0 44px; width:44px; height:44px; border:0; background:transparent; }
.watch-heading #refresh-videos .icon { width:27px; height:27px; }
.watch-heading #refresh-videos[aria-busy=true] .icon { animation:watch-refresh 1.1s linear infinite; }
.watch-panel .video-feature { border-radius:0; overflow:visible; }
.watch-panel .video-poster { aspect-ratio:16/9; border-radius:16px; background:var(--brand-soft); }
.watch-panel .video-poster:after { background:linear-gradient(transparent 65%,#00000030); }
.watch-thumbnail { display:block; position:absolute; inset:0; background:var(--brand-soft) url('../img/video-fallback.svg') center/cover no-repeat; }
.watch-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .2s ease; }
.watch-thumbnail.is-loaded img { opacity:1; }
.watch-panel .poster-play { width:clamp(54px,7vw,88px); height:clamp(54px,7vw,88px); background:var(--on-feature); box-shadow:0 5px 20px #00000018; border:0; transition:transform .18s ease,box-shadow .18s ease; }
.watch-panel .poster-play .icon { width:46%; height:46%; transform:translateX(-3px); stroke-width:1; }
.watch-panel .poster-play:hover { transform:translate(-50%,-50%) scale(1.06); box-shadow:0 8px 25px #00000030; }
.watch-panel .poster-play:active { transform:translate(-50%,-50%) scale(.96); }
.watch-advertiser { display:flex; align-items:center; gap:8px; position:absolute; inset-block-start:12px; inset-inline-start:12px; z-index:2; max-width:calc(100% - 24px); padding:5px 10px; border:1px solid #ffffff40; border-radius:100px; background:rgba(10,10,15,.78); color:var(--on-feature); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:0 3px 12px #00000024; line-height:1.3; }
.watch-ad-label { flex-shrink:0; padding:2px 6px; border-radius:5px; background:var(--brand-solid); color:var(--on-feature); font-size:.6875rem; font-weight:800; }
.watch-ad-divider { flex:0 0 1px; height:14px; background:#ffffff45; }
.watch-advertiser-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.8125rem; font-weight:600; }
.watch-duration { position:absolute; right:10px; bottom:10px; z-index:1; padding:3px 8px; border:1px solid #ffffff30; border-radius:9px; color:var(--on-feature); background:#000000b3; font-size:.85rem; font-weight:750; font-variant-numeric:tabular-nums; line-height:1.35; }
.watch-panel .video-info { padding:17px 0 0; align-items:flex-start; flex-wrap:wrap; gap:12px; }
.watch-panel .video-info>div { min-width:0; flex:1 1 150px; }
.watch-attribution { display:flex; align-items:flex-start; gap:6px; margin-bottom:6px; font-size:.8125rem; color:var(--muted); line-height:1.4; }
.watch-attribution>.icon { flex:0 0 18px; width:18px; height:18px; color:var(--brand); }
.watch-attribution-copy { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-width:0; overflow-wrap:anywhere; }
.watch-attribution strong { color:var(--ink); font-weight:750; }
.watch-panel .video-info p { font-size:clamp(.8125rem,1vw,.875rem); line-height:1.45; }
.watch-earnings { display:inline-flex; align-items:center; gap:8px; max-width:100%; min-width:0; border:1px solid color-mix(in srgb,var(--brand) 8%,var(--brand-soft)); background:linear-gradient(125deg,color-mix(in srgb,var(--brand-soft) 72%,var(--surface)),var(--brand-soft)); color:var(--brand); }
.watch-earnings-featured { flex:0 1 auto; padding:11px 13px; border-radius:17px; }
.watch-earnings-copy { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; }
.watch-panel .watch-earnings .reward-pill { display:block; padding:0; margin:0; border-radius:0; background:none; color:var(--brand); font-family:Manrope,sans-serif; font-weight:800; line-height:1.1; letter-spacing:-.035em; font-variant-numeric:tabular-nums; max-width:100%; overflow-wrap:anywhere; white-space:normal; }
.watch-panel .watch-earnings-featured .reward-pill { font-size:clamp(1.375rem,1.8vw,1.625rem); }
.watch-earnings-caption { font-size:.65625rem; font-weight:500; color:var(--muted); line-height:1.3; }
.watch-coin { display:block; width:30px; height:34px; flex:0 0 30px; filter:drop-shadow(0 1px 1px #a960151a); }
.watch-coin-edge { fill:#eda729; stroke:#cf861b; stroke-width:.5; }
.watch-coin-face { fill:#ffd465; stroke:#ffe99f; stroke-width:.8; }
.watch-coin-rim { fill:#ffc647; stroke:#e9a732; stroke-width:.7; }
.watch-coin-shine { stroke:#fff0b3; stroke-width:1; stroke-linecap:round; }
.watch-instruction { display:flex; align-items:center; gap:12px; padding:13px 15px; margin:18px 0 22px; border-radius:13px; color:var(--muted); background:color-mix(in srgb,var(--brand-soft) 20%,var(--bs-tertiary-bg)); font-size:clamp(.74rem,1vw,.92rem); line-height:1.5; }
.watch-instruction>.icon { width:23px; height:23px; flex-shrink:0; }
.watch-up-next { position:relative; min-width:0; border-top:1px solid var(--line); padding-top:15px; }
.watch-up-next-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:44px; margin-bottom:12px; }
.watch-up-next-heading h3 { margin:0; font-size:min(clamp(1.05rem,1.5vw,1.4rem),var(--member-section-heading-size)); font-weight:800; }
.watch-more { min-height:44px; border-radius:15px; padding:9px 14px; font-size:.86rem; white-space:nowrap; }
.watch-more .icon { width:21px; height:21px; }
.watch-carousel { display:flex; gap:16px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:4px; scrollbar-width:none; padding:5px 4px 8px; margin:-5px -4px -8px; }
.watch-carousel::-webkit-scrollbar { display:none; }
.watch-next-card { flex:0 0 calc((100% - 32px)/3); min-width:0; border:0; padding:0; background:transparent; color:var(--ink); text-align:start; scroll-snap-align:start; border-radius:12px; }
.watch-next-poster { position:relative; display:block; aspect-ratio:16/9; border-radius:12px; overflow:hidden; background:var(--brand-soft); transition:filter .18s ease; }
.watch-next-card:hover .watch-next-poster { filter:brightness(1.07); }
.watch-next-card:active .watch-next-poster { filter:brightness(.95); }
.watch-next-poster .watch-duration { right:6px; bottom:6px; padding:2px 5px; border-radius:6px; font-size:.71rem; }
.watch-next-info { display:grid; justify-items:start; align-content:start; gap:8px; padding-top:10px; }
.watch-next-title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; font-size:.85rem; font-weight:750; line-height:1.35; min-height:2.7em; }
.watch-earnings-compact { gap:6px; padding:6px 9px; border-radius:12px; }
.watch-earnings-compact .watch-coin { width:18px; height:21px; flex-basis:18px; }
.watch-panel .watch-earnings-compact .reward-pill { font-size:.875rem; }
.watch-carousel-controls { display:flex; justify-content:flex-end; gap:7px; margin-top:13px; }
.watch-carousel-controls[hidden] { display:none; }
.watch-carousel-controls .icon-btn { width:44px; height:44px; background:var(--brand-soft); border:0; color:var(--brand); }
.watch-carousel-controls [data-carousel-direction="-1"] .icon { transform:rotate(180deg); }
.watch-carousel-controls button:disabled { opacity:.35; cursor:default; }
.watch-carousel:focus-visible { outline:3px solid var(--brand); outline-offset:4px; border-radius:12px; }
.watch-skeleton .placeholder { color:var(--line); border-radius:7px; cursor:default; }
.watch-skeleton-poster { display:block; width:100%; aspect-ratio:16/9; border-radius:16px!important; }
.watch-skeleton-reward { flex:0 0 135px; height:65px; }
.watch-skeleton-carousel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
@keyframes watch-refresh { to { transform:rotate(360deg); } }
@media(min-width:1600px) {
  .watch-next-card { flex-basis:calc((100% - 48px)/4); }
}
@media(max-width:575px) {
  .watch-panel { border-radius:21px; }
  .watch-panel .watch-heading { gap:9px; margin-bottom:16px; }
  .watch-heading-icon { flex-basis:40px; height:40px; border-radius:12px; }
  .watch-heading-icon .icon { width:26px; height:23px; }
  .watch-heading #refresh-videos { flex-basis:44px; }
  .watch-heading #refresh-videos .icon { width:23px; height:23px; }
  .watch-advertiser { inset-block-start:10px; inset-inline-start:10px; max-width:calc(100% - 20px); gap:7px; padding:4px 8px; }
  .watch-panel .video-info { gap:10px; padding-top:13px; }
  .watch-earnings-featured { padding:10px 11px; gap:7px; }
  .watch-instruction { gap:9px; padding:11px 12px; margin:15px 0 17px; }
  .watch-more { padding-inline:11px; font-size:.77rem; border-radius:12px; }
  .watch-carousel { gap:12px; }
  .watch-next-card { flex-basis:43%; }
  .watch-next-info { gap:7px; padding-top:8px; }
  .watch-next-title { font-size:.79rem; }
  .watch-earnings-compact { padding:5px 7px; gap:5px; border-radius:10px; }
  .watch-panel .watch-earnings-compact .reward-pill { font-size:.8125rem; }
  .watch-carousel-controls { display:none; }
  .watch-duration { bottom:8px; right:8px; font-size:.77rem; }
  .watch-skeleton-carousel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .watch-skeleton-carousel>div:last-child { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .watch-panel *, .watch-panel .placeholder { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Live support: scoped rose palette, shared Bootstrap dialog and tenant email. */
.support-grid { grid-template-columns:minmax(0,1fr); }
.support-grid > .card { min-width:0; }
@media (min-width:992px) {
  .support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.support-chat-card,.support-chat-modal {
  --support-ink:#191522;
  --support-muted:#746b7d;
  --support-red:#db123d;
  --support-red-end:#c81536;
  --support-pink:#fce9ef;
  --support-wash:#fff7f7;
  --support-line:#f0d6df;
  --support-neutral:#f8f7f9;
  --support-surface:var(--surface);
  --support-glow:#ffcedc;
  --support-art-bright:#ff5684;
  --support-art-deep:#f32258;
  --support-shadow:#b92a4b13;
  color:var(--support-ink);
}
[data-bs-theme=dark] :is(.support-chat-card,.support-chat-modal) {
  --support-ink:var(--ink);
  --support-muted:#cfb9c4;
  --support-red:#ff91ad;
  --support-red-end:#c81536;
  --support-pink:#452632;
  --support-wash:#302029;
  --support-line:#60404f;
  --support-neutral:#332830;
  --support-glow:#7b2e4a;
  --support-art-bright:#ff648d;
  --support-art-deep:#e82359;
  --support-shadow:#00000033;
}
.support-chat-beta.soft-badge {
  flex-shrink:0; border:0; border-radius:10px; padding:7px 12px;
  color:var(--support-red); background:var(--support-pink); font-size:.78rem; font-weight:650; line-height:1;
}
.support-chat-title-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.support-chat-card { border:1px solid var(--support-line); border-radius:24px; overflow:hidden; background:radial-gradient(ellipse at 100% 75%,var(--support-pink),transparent 60%),linear-gradient(120deg,var(--support-wash),var(--support-surface) 55%); box-shadow:0 14px 38px var(--support-shadow); }
.support-chat-card .card-body { padding:26px 24px 24px; }
.support-chat-card-header { display:flex; align-items:flex-start; gap:24px; }
.support-chat-card-icon { position:relative; display:grid; place-items:center; flex:0 0 86px; height:86px; border-radius:27px; background:linear-gradient(130deg,var(--support-pink),var(--support-wash)); color:var(--support-art-deep); }
.support-chat-card-icon > .icon { width:43px; height:43px; stroke-width:1.8; }
.support-chat-card-icon i { position:absolute; right:14px; bottom:14px; width:12px; height:3px; background:currentColor; border-radius:2px; transform:rotate(48deg); }
.support-chat-card-icon i:before,.support-chat-card-icon i:after { content:""; position:absolute; width:9px; height:3px; border-radius:2px; background:currentColor; }
.support-chat-card-icon i:before { transform:rotate(-48deg); top:-9px; left:2px; }
.support-chat-card-icon i:after { transform:rotate(42deg); top:9px; left:2px; }
.support-chat-intro { min-width:0; padding-top:7px; }
.support-chat-intro h2 { margin:0; font-size:1.7rem; color:var(--support-ink); letter-spacing:-.055em; }
.support-chat-intro p { margin:10px 0 0; max-width:290px; font-size:1.05rem; line-height:1.6; color:var(--support-muted); }
.support-chat-card-details { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 38%; align-items:center; min-height:150px; margin:12px 0 16px; }
.support-chat-benefits { display:grid; gap:12px; margin:0; padding:0; list-style:none; color:var(--support-muted); font-size:.93rem; }
.support-chat-benefits li { display:flex; gap:11px; align-items:center; }
.support-chat-benefits li > span { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; background:var(--support-pink); color:var(--support-red); border-radius:50%; }
.support-chat-benefits .icon { width:17px; height:17px; stroke-width:2.5; }
.support-chat-art { width:100%; overflow:visible; pointer-events:none; }
.support-art-bright { stop-color:var(--support-art-bright); }.support-art-deep { stop-color:var(--support-art-deep); }
.support-art-surface { stop-color:var(--support-surface); }.support-art-pink { stop-color:var(--support-pink); }
.support-art-glow { fill:var(--support-glow); opacity:.26; }.support-art-dots { fill:var(--on-feature); }
.support-art-mini-dots { fill:var(--support-art-bright); }.support-art-accent { stroke:var(--support-art-bright); }
.support-art-bubbles { filter:drop-shadow(0 8px 7px var(--support-shadow)); }
.support-chat-cta.btn,.support-chat-modal .modal-footer .btn-primary {
  color:var(--on-feature); border:1px solid var(--support-red-end); border-radius:15px;
  background:linear-gradient(125deg,#e0113d,var(--support-red-end)); box-shadow:inset 0 1px 0 #ffffff30,0 7px 18px var(--support-shadow);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.support-chat-cta.btn { display:flex; width:100%; min-height:64px; padding:14px 22px; gap:16px; font-size:1.1rem; }
.support-chat-cta > .icon { width:27px; height:27px; }.support-chat-cta > .icon:last-child { margin-left:auto; }
.support-chat-cta:hover,.support-chat-modal .modal-footer .btn-primary:hover { color:var(--on-feature); filter:brightness(1.06); transform:translateY(-1px); box-shadow:inset 0 1px 0 #ffffff30,0 10px 24px var(--support-shadow); }
.support-chat-cta:active,.support-chat-modal .modal-footer .btn:active { transform:scale(.98); }
body:has(.support-chat-modal) > .modal-backdrop { --bs-backdrop-opacity:.52; backdrop-filter:blur(4px); }
.support-chat-modal { --support-gutter:16px; top:var(--support-viewport-top,0); height:var(--support-viewport-height,100dvh); padding:0!important; }
.support-chat-modal .modal-dialog { max-width:570px; width:calc(100% - 2 * var(--support-gutter)); margin:var(--support-gutter) auto; min-height:calc(100% - 2 * var(--support-gutter)); }
.support-chat-modal.fade .modal-dialog { transform:translateY(14px) scale(.985); transition:transform .24s ease-out; }
.support-chat-modal.show .modal-dialog { transform:none; }
.support-chat-modal .modal-content { height:790px; max-height:calc(var(--support-viewport-height,100dvh) - 2 * var(--support-gutter)); padding:0; border:1px solid var(--support-line); border-radius:27px; overflow:hidden; background:var(--support-surface); box-shadow:0 28px 90px #190d2333; }
.support-chat-modal .modal-header { padding:22px 22px 20px; gap:16px; align-items:flex-start; flex-shrink:0; border:0; }
.support-chat-modal .modal-symbol { flex:0 0 58px; height:58px; border-radius:19px; color:var(--support-red); background:linear-gradient(135deg,var(--support-pink),var(--support-wash)); }
.support-chat-modal .modal-symbol .icon { width:31px; height:31px; }
.support-chat-modal .modal-heading { flex:1; min-width:0; padding-top:2px; }
.support-chat-modal .modal-header .modal-title { font-size:1.35rem!important; letter-spacing:-.045em; color:var(--support-ink); }
.support-chat-modal .support-chat-title-row { gap:10px; }
.support-chat-modal .modal-subtitle { font-size:.88rem; line-height:1.5; color:var(--support-muted); margin:7px 0 0; }
.support-chat-modal .modal-header .btn-close { align-self:flex-start; display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; min-height:44px; margin:0; padding:0; border-radius:15px; opacity:1; background:var(--support-neutral); color:var(--support-muted); filter:none; transition:background .18s ease,transform .18s ease; }
.support-chat-modal .btn-close .icon { width:26px; height:26px; }
.support-chat-modal .modal-header .btn-close:hover { background:var(--support-pink); color:var(--support-ink); }
.support-chat-modal .modal-body { display:flex; flex:1 1 auto; min-height:0; padding:0 18px; overflow:hidden; }
.support-chat { display:flex; flex:1; min-width:0; min-height:0; flex-direction:column; gap:14px; }
.support-chat-meta { display:flex; align-items:center; gap:12px; padding:16px; background:var(--support-neutral); border-radius:20px; flex-shrink:0; }
.support-chat-presence { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border-radius:50%; color:var(--gold-ink); background:var(--gold); }
.support-chat-presence .icon { width:18px; height:18px; }
.support-chat-status { flex:1; min-width:0; display:grid; gap:3px; line-height:1.45; }
.support-chat-status strong { font-size:.95rem; font-weight:650; }.support-chat-status > span { color:var(--support-muted); font-size:.82rem; }
.support-chat-surface { position:relative; isolation:isolate; display:flex; flex-direction:column; flex:1; min-height:0; padding:20px 15px 16px; overflow:hidden; border:1px solid var(--support-line); border-radius:22px; background:linear-gradient(125deg,var(--support-wash),var(--support-surface) 170%); }
.support-chat-surface:before,.support-chat-surface:after { content:""; position:absolute; z-index:-1; pointer-events:none; border-radius:48% 52% 63% 37%; background:var(--support-glow); opacity:.18; }
.support-chat-surface:before { width:140px; height:140px; top:32px; right:15px; transform:rotate(-20deg); }
.support-chat-surface:after { width:170px; height:260px; bottom:-80px; right:-40px; transform:rotate(26deg); }
.support-chat-transcript { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--support-line) transparent; padding:6px 6px 15px; }
.support-chat-transcript:focus-visible { outline:2px solid var(--support-red); outline-offset:-2px; border-radius:12px; }
.support-chat-message { display:flex; align-items:flex-start; gap:12px; }
.support-chat-avatar { display:grid; place-items:center; flex:0 0 45px; height:45px; border-radius:16px; background:var(--support-pink); color:var(--support-red); }
.support-chat-avatar .icon { width:26px; height:26px; }
.support-chat-bubble { flex:1; min-width:0; padding:16px 18px; border:1px solid var(--support-line); border-radius:18px; background:var(--support-surface); box-shadow:0 6px 18px var(--support-shadow); overflow-wrap:anywhere; }
.support-chat-sender { display:block; margin-bottom:9px; font-size:.82rem; font-weight:600; color:var(--support-muted); }
.support-chat-bubble p { font-size:1rem; line-height:1.65; margin:0; }
.support-chat-timeline { margin:26px 0 8px; padding:0 6px; list-style:none; }
.support-chat-timeline li { position:relative; display:flex; align-items:flex-start; gap:22px; min-height:75px; padding-bottom:20px; color:var(--support-muted); }
.support-chat-timeline li:last-child { min-height:0; padding-bottom:0; }
.support-chat-timeline li:not(:last-child):before { content:""; position:absolute; top:22px; bottom:-2px; left:11px; border-left:1px dashed var(--support-line); }
.support-chat-step { position:relative; display:grid; place-items:center; width:24px; height:24px; flex:0 0 24px; border:2px solid color-mix(in srgb,var(--support-muted) 65%,transparent); border-radius:50%; background:var(--support-wash); }
.is-unavailable .support-chat-step { border:0; color:var(--gold-ink); background:var(--gold); }.support-chat-step .icon { width:22px; height:22px; }
.support-chat-timeline strong { display:block; font-weight:550; font-size:.96rem; line-height:1.5; }.support-chat-timeline p { margin:3px 0 0; font-size:.84rem; line-height:1.5; }
.support-chat-compose-area { flex-shrink:0; padding-top:14px; }
.support-chat-composer { display:flex; align-items:center; gap:10px; min-height:64px; padding:10px 14px; border:1px solid var(--support-line); border-radius:17px; background:var(--support-surface); }
.support-chat-composer > .icon { width:26px; height:26px; color:var(--support-muted); }
.support-chat-composer .form-control { flex:1; min-height:0; min-width:0; width:0; padding:0; border:0; border-radius:0; font-size:.94rem; background:transparent; color:var(--support-muted); box-shadow:none; opacity:1; -webkit-text-fill-color:var(--support-muted); }
.support-chat-composer .form-control::placeholder { color:var(--support-muted); font-size:inherit; opacity:1; }
.support-chat-composer .icon-btn { flex:0 0 40px; width:40px; height:40px; min-height:40px; border:0; border-radius:12px; background:var(--support-pink); color:var(--support-muted); opacity:.65; cursor:not-allowed; }
.support-chat-note { display:flex; align-items:flex-start; gap:9px; margin:14px 2px 0; font-size:.76rem; line-height:1.5; color:var(--support-muted); }
.support-chat-note .icon { width:17px; height:17px; margin-top:1px; }
.support-chat-modal .modal-footer { flex-shrink:0; display:flex; flex-wrap:nowrap; gap:12px; border:0; padding:16px 22px 20px; }
.support-chat-modal .modal-footer .btn { flex:1; min-width:0; min-height:58px; margin:0; padding:12px; border-radius:15px; font-size:1rem; }
.support-chat-modal .modal-footer .btn-light { color:var(--support-ink); background:var(--support-surface); border:1px solid var(--support-line); }
.support-chat-modal .modal-footer .btn-light:hover { background:var(--support-pink); }
.support-chat-modal .modal-footer .icon { width:23px; height:23px; }
@media (max-width:575.98px) {
  .support-chat-card .card-body { padding:20px; }
  .support-chat-card-header { gap:17px; }.support-chat-card-icon { flex-basis:67px; height:67px; border-radius:22px; }.support-chat-card-icon > .icon { width:35px; height:35px; }
  .support-chat-intro { padding-top:1px; }.support-chat-intro h2 { font-size:1.45rem; }.support-chat-intro p { font-size:.91rem; margin-top:7px; }
  .support-chat-title-row { gap:9px; }.support-chat-beta.soft-badge { font-size:.71rem; padding:6px 9px; border-radius:8px; }
  .support-chat-card-details { grid-template-columns:minmax(0,1fr) 32%; min-height:120px; margin:14px 0; }.support-chat-benefits { gap:10px; font-size:.8rem; }.support-chat-benefits li { gap:8px; }
  .support-chat-cta.btn { font-size:.91rem; min-height:56px; padding:12px 15px; gap:12px; }.support-chat-cta > .icon { width:23px; height:23px; }
  .support-chat-modal { --support-gutter:max(12px,env(safe-area-inset-top),env(safe-area-inset-bottom),env(safe-area-inset-left),env(safe-area-inset-right)); }
  .support-chat-modal .modal-content { height:750px; border-radius:24px; }
  .support-chat-modal .modal-header { gap:10px; padding:18px 14px; }.support-chat-modal .modal-symbol { flex-basis:46px; height:46px; border-radius:16px; }.support-chat-modal .modal-symbol .icon { width:26px; height:26px; }
  .support-chat-modal .modal-header .modal-title { font-size:1.15rem!important; }.support-chat-modal .support-chat-title-row { gap:7px; }.support-chat-modal .modal-subtitle { font-size:.77rem; margin-top:6px; }
  .support-chat-modal .modal-header .btn-close { flex-basis:44px; height:44px; border-radius:14px; }
  .support-chat-modal .modal-body { padding-inline:12px; }.support-chat { gap:12px; }.support-chat-meta { padding:12px; gap:9px; border-radius:16px; }.support-chat-status strong { font-size:.85rem; }.support-chat-status > span { font-size:.73rem; }
  .support-chat-surface { padding:14px 10px 12px; border-radius:18px; }.support-chat-transcript { padding:3px 2px 12px; }.support-chat-message { gap:8px; }.support-chat-avatar { flex-basis:34px; height:37px; border-radius:12px; }.support-chat-avatar .icon { width:22px; height:22px; }
  .support-chat-bubble { padding:12px; border-radius:15px; }.support-chat-sender { font-size:.75rem; margin-bottom:6px; }.support-chat-bubble p { font-size:.88rem; }
  .support-chat-timeline { margin-top:22px; padding-inline:5px; }.support-chat-timeline li { gap:15px; min-height:72px; }.support-chat-timeline strong { font-size:.86rem; }.support-chat-timeline p { font-size:.76rem; }
  .support-chat-composer { min-height:57px; padding:8px 10px; gap:8px; border-radius:14px; }.support-chat-composer > .icon { width:22px; height:22px; }.support-chat-composer .form-control { font-size:.8rem; }.support-chat-composer .icon-btn { flex-basis:36px; width:36px; height:36px; min-height:36px; }
  .support-chat-note { font-size:.7rem; margin-top:10px; gap:7px; }.support-chat-note .icon { width:15px; height:15px; }
  .support-chat-modal .modal-footer { padding:14px 14px 16px; gap:10px; }.support-chat-modal .modal-footer .btn { min-height:52px; font-size:.88rem; padding:10px 8px; gap:7px; border-radius:14px; }.support-chat-modal .modal-footer .icon { width:21px; height:21px; }
}
@media (max-width:359.98px) {
  .support-chat-card .card-body { padding:18px 16px; }.support-chat-card-header { gap:12px; }.support-chat-card-icon { flex-basis:54px; height:59px; border-radius:19px; }.support-chat-card-icon > .icon { width:30px; height:30px; }.support-chat-card-icon i { right:8px; bottom:10px; width:8px; }.support-chat-card-icon i:before,.support-chat-card-icon i:after { width:6px; }
  .support-chat-intro h2 { font-size:1.3rem; }.support-chat-intro p { font-size:.83rem; }.support-chat-title-row { gap:7px; }
  .support-chat-card-details { grid-template-columns:minmax(0,1fr) 28%; }.support-chat-benefits { font-size:.75rem; }.support-chat-benefits li { gap:6px; }.support-chat-benefits li > span { width:21px; height:21px; flex-basis:21px; }
  .support-chat-cta.btn { font-size:.82rem; padding-inline:12px; gap:9px; }.support-chat-cta > .icon { width:21px; height:21px; }
  .support-chat-modal .modal-header { padding:14px 12px; gap:8px; }.support-chat-modal .modal-symbol { flex-basis:40px; height:44px; }.support-chat-modal .modal-header .modal-title { font-size:1rem!important; }.support-chat-modal .modal-subtitle { font-size:.72rem; }
  .support-chat-meta > .support-chat-beta { display:none; }.support-chat-modal .modal-footer .btn { font-size:.78rem; padding-inline:6px; gap:6px; white-space:nowrap; }.support-chat-modal .modal-footer .icon { width:18px; height:18px; }.support-chat-composer { gap:6px; padding-inline:8px; }.support-chat-composer .form-control { font-size:.74rem; }
}
@media (max-height:600px) {
  .support-chat-modal .modal-header { padding-top:12px; padding-bottom:12px; }.support-chat-meta { padding-block:10px; }.support-chat { gap:10px; }.support-chat-surface { padding-top:10px; padding-bottom:10px; }.support-chat-compose-area { padding-top:8px; }.support-chat-modal .modal-footer { padding-top:10px; padding-bottom:12px; }
}
@media (max-height:400px) and (min-width:480px) {
  .support-chat-modal .modal-header { padding-block:2px; }.support-chat-modal .modal-subtitle { display:none; }.support-chat-modal .modal-symbol { flex-basis:44px; height:44px; }.support-chat-meta { padding-block:2px; border-radius:12px; }.support-chat { gap:6px; }.support-chat-surface { padding-block:6px; }.support-chat-compose-area { padding-top:6px; }.support-chat-status { display:flex; align-items:center; flex-wrap:wrap; gap:5px 10px; }.support-chat-status > span { font-size:.72rem; }
  .support-chat-composer { min-height:44px; padding-block:3px; }.support-chat-note { margin-top:5px; font-size:.68rem; }.support-chat-modal .modal-footer { padding-block:4px; }.support-chat-modal .modal-footer .btn { min-height:44px; padding-block:7px; }
}
@media (prefers-reduced-motion:reduce) {
  .support-chat-modal,.support-chat-modal.fade .modal-dialog,.support-chat-modal .btn,.support-chat-modal .btn-close,.support-chat-cta { transition:none!important; animation:none!important; }
  .support-chat-cta:hover,.support-chat-cta:active,.support-chat-modal .modal-footer .btn:hover,.support-chat-modal .modal-footer .btn:active { transform:none; }
}

/* Referrals: shared tenant colors, with the invitation as the page's main heading. */
.referrals-page {
  --referral-accent:var(--brand);
  --referral-border:color-mix(in srgb,var(--brand) 16%,var(--surface));
  --referral-notice-bg:#efefff;
  --referral-notice-ink:#595ca4;
  container-type:inline-size;
}
[data-bs-theme=dark] .referrals-page { --referral-notice-bg:#292840; --referral-notice-ink:#bcbcf0; }
.referrals-page .card { border:1px solid var(--referral-border); box-shadow:var(--shadow); border-radius:22px; }
.referral-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.referral-stat { padding:16px; min-width:0; }
.referral-stat-label { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:.82rem; line-height:1.35; }
.referral-stat-label>.icon { padding:7px; width:32px; height:32px; flex-shrink:0; border-radius:50%; color:var(--referral-accent); background:var(--brand-soft); }
.referral-stat-value { display:block; margin:9px 0 3px; font:800 clamp(1.65rem,6cqi,2.5rem)/1.2 Manrope,sans-serif; letter-spacing:-.045em; overflow-wrap:anywhere; }
.referral-stat p { font-size:.74rem; line-height:1.4; color:var(--muted); margin:0; }
.referral-stat .placeholder { min-height:14px; border-radius:4px; }
.referral-stat .referral-stat-value.placeholder { min-height:35px; margin-block:15px 12px; }
.referral-promotion { padding:22px 18px 18px; margin-bottom:16px; background:radial-gradient(ellipse at 90% 35%,color-mix(in srgb,var(--rose) 65%,transparent),transparent 62%),linear-gradient(135deg,var(--surface),var(--paper) 55%,var(--brand-soft)); }
.referral-promotion-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; align-items:center; }
.referral-promotion-copy { min-width:0; }
.referral-eyebrow { display:flex; gap:10px; align-items:center; color:var(--referral-accent); font-size:.66rem; font-weight:800; letter-spacing:.14em; margin:0 0 16px; }
.referral-eyebrow:before { content:""; display:block; flex:0 0 22px; height:3px; border-radius:3px; background:currentColor; }
.referral-reward-heading { font-family:Manrope,sans-serif; font-size:clamp(1.25rem,5cqi,1.9rem); line-height:1.3; font-weight:800; letter-spacing:-.04em; color:var(--referral-accent); margin:0 0 14px; overflow-wrap:anywhere; }
.referral-reward-heading strong { font-size:1.27em; }
.referral-description { color:var(--muted); font-size:.9rem; line-height:1.65; margin:0 0 16px; max-width:50ch; }
.referral-welcome { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--referral-border); border-radius:12px; padding:9px 12px; font-size:.8rem; line-height:1.5; background:var(--brand-soft); color:var(--rose-ink); }
.referral-welcome>.icon { flex:0 0 19px; width:19px; height:19px; }
.referral-bonus-note { margin:8px 0 0; color:var(--muted); font-size:.73rem; line-height:1.5; max-width:54ch; }
.referral-promotion-art { min-width:0; display:flex; flex-direction:column; align-items:center; padding:12px 0 18px; }
.referral-gift { position:relative; container-type:inline-size; width:min(100%,245px); aspect-ratio:360/310; }
.referral-gift img { width:100%; height:auto; display:block; filter:drop-shadow(0 10px 12px color-mix(in srgb,var(--brand-solid) 7%,transparent)); }
.referral-gift-amount { position:absolute; inset:53% 22% auto 28%; height:24%; display:flex; align-items:center; justify-content:center; color:#fff8f5; font-family:Manrope,sans-serif; font-size:var(--gift-font-size); font-weight:800; letter-spacing:-.04em; text-shadow:0 3px 0 #bc1745,0 5px 7px #9c123965; transform:rotate(10deg); white-space:nowrap; }
.referral-gift-amount>.icon { width:50px; height:50px; }
.referral-reward-badge { display:inline-flex; justify-content:center; gap:6px; align-items:center; color:var(--rose-ink); background:color-mix(in srgb,var(--rose) 70%,var(--surface)); border:1px solid var(--referral-border); border-radius:100px; padding:9px 13px; margin:0; font-size:.78rem; font-weight:650; line-height:1.4; text-align:center; }
.referral-reward-badge>.icon { width:15px; height:15px; flex-shrink:0; }
.referral-reward-badge strong { font-weight:800; }
.referral-actions { display:grid; gap:12px; min-width:0; }
.referral-copy-field { display:flex; padding:5px; gap:5px; background:var(--surface); border:1px solid var(--line); border-radius:15px; }
.referral-copy-field:focus-within { outline:3px solid var(--bs-focus-ring-color); border-color:var(--brand); }
.referral-copy-field input { flex:1; width:0; min-width:0; border:0; background:transparent; color:var(--ink); padding:9px; border-radius:10px; font-size:.88rem; text-overflow:ellipsis; outline:none; }
.referral-copy-field .btn { display:flex; align-items:center; justify-content:center; flex-shrink:0; gap:7px; padding:12px 15px; min-height:46px; border-radius:11px; font-size:.9rem; background:var(--brand-solid); border-color:var(--brand-solid); color:#fff; }
.referral-copy-field .btn:hover { filter:brightness(.92); }
.referral-copy-field .icon { width:19px; height:19px; }
.referral-share { display:flex; align-items:center; gap:12px; width:100%; min-height:52px; padding:14px 16px; border:1px solid color-mix(in srgb,var(--brand) 35%,var(--surface)); border-radius:14px; background:color-mix(in srgb,var(--surface) 55%,transparent); color:var(--referral-accent); font-size:.94rem; font-weight:750; text-align:start; transition:background .18s,transform .18s; }
.referral-share>.icon { width:23px; height:23px; flex-shrink:0; }
.referral-share>.icon:last-child { margin-inline-start:auto; width:18px; height:18px; }
.referral-share:hover,.referral-share:focus-visible { color:var(--referral-accent); border-color:var(--brand); background:var(--brand-soft); }
.referral-share:active { transform:translateY(1px); }
.referral-how { padding:20px 18px 16px; margin-bottom:20px; background:var(--surface); }
.referral-steps { display:grid; gap:17px; list-style:none; padding:0; margin:0 0 20px; }
.referral-steps li { display:grid; grid-template-columns:60px minmax(0,1fr); gap:14px; align-items:start; }
.referral-steps li+li { padding-top:17px; border-top:1px solid var(--line); }
.referral-step-art { position:relative; display:flex; justify-content:center; align-items:center; min-height:55px; }
.referral-step-number { position:absolute; inset:0 auto auto -4px; display:grid; place-items:center; width:21px; height:21px; font-size:.7rem; font-weight:800; border-radius:50%; background:var(--brand-soft); color:var(--referral-accent); }
.referral-step-icon { display:grid; place-items:center; width:45px; height:45px; margin:10px 0 0 10px; color:var(--brand-solid); background:var(--brand-soft); border-radius:14px; transform:rotate(-5deg); }
.referral-step-icon>.icon { width:28px; height:28px; stroke-width:2; }
.referral-step-verified { color:var(--mint-ink); background:var(--mint); transform:rotate(5deg); }
.referral-step-cash { color:var(--mint-ink); background:var(--mint); }
.referral-steps h3 { font:800 1rem/1.35 Manrope,sans-serif; margin:0 0 5px; letter-spacing:-.025em; overflow-wrap:anywhere; }
.referral-steps p { color:var(--muted); font-size:.82rem; line-height:1.55; margin:0; }
.referral-eligibility { display:flex; align-items:flex-start; gap:12px; background:var(--referral-notice-bg); color:var(--referral-notice-ink); padding:15px; border-radius:15px; }
.referral-eligibility>.icon { width:26px; height:26px; flex-shrink:0; }
.referral-eligibility p { margin:0; font-size:.78rem; line-height:1.6; }
.referral-eligibility p+p { margin-top:7px; font-size:.72rem; }
.referral-circle .card-body { padding:20px 18px; }
.referral-circle .block-heading { flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.referral-circle .block-heading h2 { font-size:1.15rem; }
.referral-circle-count { font-size:.75rem; color:var(--muted); }
.referral-circle .empty-state { padding:25px 5px 20px; }
.referral-circle .empty-state h3 { font-size:1rem; line-height:1.5; }
.referral-circle .empty-state p { font-size:.84rem; }
.referral-circle .state-icon { color:var(--referral-accent); background:var(--brand-soft); }
.referral-person { gap:10px; }
.referral-person-icon { display:grid; place-items:center; flex:0 0 36px; height:36px; background:var(--brand-soft); color:var(--referral-accent); border-radius:50%; }
.referral-person-icon>.icon { width:19px; height:19px; }
.referral-person-info { flex:1; min-width:0; overflow-wrap:anywhere; }
.referral-person-info strong { font-size:.85rem; }
.referral-person-result { display:flex; flex-direction:column; align-items:flex-end; gap:5px; max-width:44%; text-align:end; overflow-wrap:anywhere; }
.referral-person-result strong { font-size:.9rem; }
.referral-pagination { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:16px; }
.referral-pagination[hidden] { display:none; }
.referral-pagination>span { color:var(--muted); font-size:.72rem; }
.referral-pagination>.btn { min-height:44px; }
.referral-promotion-loading { min-height:650px; display:grid; place-items:center; }
.referral-config-error { margin-bottom:18px; }
[data-bs-theme=dark] .referral-gift img { filter:brightness(.9) saturate(.9); }
@container(min-width:640px) {
  .referral-stats { gap:20px; margin-bottom:20px; }
  .referral-stat { padding:20px 24px; }
  .referral-stat-label { font-size:.94rem; gap:12px; }
  .referral-stat-label>.icon { width:36px; height:36px; padding:8px; }
  .referral-stat p { font-size:.84rem; }
  .referral-promotion { padding:30px; margin-bottom:20px; }
  .referral-promotion-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:10px; margin-bottom:26px; }
  .referral-promotion-copy { align-self:start; }
  .referral-eyebrow { font-size:.74rem; }
  .referral-description { font-size:.95rem; }
  .referral-gift { width:min(100%,340px); }
  .referral-promotion-art { padding:0; }
  .referral-reward-badge { font-size:.86rem; }
  .referral-copy-field input { font-size:1.03rem; padding:12px 17px; }
  .referral-copy-field .btn { padding:15px 25px; font-size:1rem; }
  .referral-share { padding:16px 20px; font-size:1rem; }
  .referral-how { padding:26px 22px 20px; }
  .referral-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-bottom:25px; }
  .referral-steps li { display:block; padding:0 20px; }
  .referral-steps li:first-child { padding-inline-start:4px; }
  .referral-steps li+li { padding-top:0; border-top:0; border-inline-start:1px solid var(--line); }
  .referral-step-art { justify-content:flex-start; gap:16px; margin-bottom:16px; }
  .referral-step-number { position:static; width:34px; height:34px; font-size:1rem; }
  .referral-step-icon { margin:0; width:52px; height:52px; }
  .referral-step-icon>.icon { width:32px; height:32px; }
  .referral-steps h3 { font-size:1.08rem; }
  .referral-steps p { font-size:.87rem; }
  .referral-eligibility { padding:18px; }
  .referral-eligibility p { font-size:.84rem; }
  .referral-eligibility p+p { font-size:.76rem; }
  .referral-circle .card-body { padding:24px; }
  .referral-promotion-loading { min-height:460px; }
}
@container(max-width:330px) {
  .referral-stat { padding:13px 11px; }
  .referral-stat-label { flex-wrap:wrap; gap:6px; font-size:.75rem; }
  .referral-stat p { font-size:.69rem; }
  .referral-promotion { padding:20px 14px 14px; }
  .referral-gift { width:215px; }
  .referral-how { padding-inline:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .referrals-page * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Dashboard cash-out: shared wallet data and provider artwork, scoped to this card. */
.cashout-card {
  --cashout-ink:#fff8fa;
  --cashout-muted:#f1c8d4;
  --cashout-pink:#ff6389;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-width:0;
  padding:20px;
  border:1px solid #a52e4d;
  border-radius:24px;
  background:radial-gradient(ellipse at 100% 0%,#f6577926,transparent 62%),linear-gradient(125deg,#590c27 0%,#831633 50%,#c52950 100%);
  color:var(--cashout-ink);
  box-shadow:0 10px 28px #590c2714;
}
.cashout-card::before,.cashout-card::after {
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:460px;height:460px;right:-320px;top:-45px;border-radius:50%;
  border:48px solid #ff5b8220;transform:rotate(-28deg);
}
.cashout-card::after { width:520px;height:300px;right:-240px;top:auto;bottom:-220px;border:0;background:linear-gradient(135deg,#ff547c38,#ff547c05); }
.cashout-content { position:relative;min-width:0; }
.cashout-accent { display:block;width:30px;height:4px;margin-bottom:12px;border-radius:8px;background:#ff446f; }
.member-main .cashout-card h2 { position:relative;max-width:calc(100% - 54px);margin:0 0 8px;color:var(--cashout-ink);font-size:24px;font-weight:800;line-height:1.16;letter-spacing:-.65px; }
.cashout-subtitle { min-height:24px;margin:0 0 17px;color:var(--cashout-muted);font-size:16px;line-height:1.5;overflow-wrap:anywhere; }
.cashout-progress,.cashout-progress-placeholder { height:8px;border-radius:20px;background:#ffffff24; }
.cashout-progress[hidden],.cashout-progress-placeholder[hidden] { display:none; }
.cashout-progress .progress-bar { width:0;border-radius:inherit;background:linear-gradient(90deg,#ff365f,var(--cashout-pink));transition:width .45s ease; }
.cashout-progress-placeholder { visibility:hidden; }
.cashout-loading .cashout-progress-placeholder { visibility:visible; }
.cashout-labels { display:flex;justify-content:space-between;gap:12px;min-height:23px;margin-top:7px;font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.cashout-labels>span { min-width:0; }
.cashout-labels>span:last-child { color:var(--cashout-muted);text-align:end; }
.cashout-message { min-height:34px;margin:8px 0 12px;color:var(--cashout-muted);font-size:12px;line-height:1.4; }
.cashout-methods { display:flex;gap:8px;align-items:center;min-height:40px;margin:0 0 18px;padding:0;list-style:none; }
.cashout-methods li { display:flex;align-items:center;justify-content:center;width:54px;height:40px;min-width:0;padding:7px;border:1px solid #ffffff40;border-radius:11px;background:#fff6f2ed; }
.cashout-method-art { display:flex;align-items:center;justify-content:center;width:100%;height:100%; }
.cashout-methods .payment-logo { display:block;width:27px;height:27px;object-fit:contain; }
.cashout-methods .payment-logo-skrill { width:100%;height:auto; }
.cashout-methods .payment-crypto-logos { width:100%; }
.cashout-methods .payment-crypto-logos img { width:calc((100% + 8px)/3);max-width:22px; }
.cashout-methods .payment-crypto-logos img+img { margin-left:-4px; }
.cashout-card .cashout-cta { display:flex;justify-content:space-between;gap:12px;min-height:50px;width:100%;padding:12px 17px;border:1px solid #fff6f2;border-radius:13px;background:#fff8f5;color:#ba2048;font-size:15px;font-weight:750;box-shadow:0 5px 16px #35071924;transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.cashout-card .cashout-cta:hover { color:#a6193d;background:#fff;box-shadow:0 7px 20px #35071936;transform:translateY(-1px); }
.cashout-card .cashout-cta:active { color:#a6193d;background:#ffeaf0;transform:translateY(1px); }
.cashout-card .cashout-cta:focus-visible { outline:3px solid var(--cashout-pink);outline-offset:4px; }
.cashout-cta .icon { width:21px;height:21px;flex-shrink:0; }
.cashout-art { position:absolute;top:17px;right:8px;width:90px;height:90px;pointer-events:none; }
.cashout-art svg { display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 14px #ff739433); }
.cashout-ring-halo { fill:#ff99b00a;stroke:#ffb8cc1c; }
.cashout-ring-disc { fill:#f88eac12;stroke:#ffc2d125; }
.cashout-ring-track { stroke:#ffc1d22e;stroke-width:7; }
.cashout-ring-fill { stroke:#ff94b1;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .45s ease; }
.cashout-currency { fill:#ffd8e3;font-family:inherit;font-size:35px;font-weight:700; }
.cashout-currency-long { font-size:22px; }
.cashout-arrow-disc { fill:#b7375a;stroke:#f5a2bb66; }
.cashout-arrow { stroke:#ffe3eb;stroke-width:3;stroke-linecap:round;stroke-linejoin:round; }
.cashout-spark { fill:#ffa3be; }
.cashout-loading .placeholder { background:#ffd2de3b;min-height:18px;border-radius:5px;opacity:.65; }
[data-bs-theme="dark"] .cashout-card { border-color:#f58aaa38;box-shadow:0 10px 30px #0003; }
[data-bs-theme="dark"] .cashout-card .cashout-cta { background:#fff0f3;color:#aa1d40; }
@media(min-width:768px) {
  .cashout-card { padding:28px;border-radius:26px; }
  .member-main .cashout-card h2 { max-width:calc(100% - 48px);font-size:27px; }
  .cashout-art { top:-12px;right:-14px;width:130px;height:130px;opacity:.65; }
  .cashout-methods { min-height:44px;gap:9px; }
  .cashout-methods li { width:60px;height:44px;padding:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .cashout-card * { transition:none!important;animation:none!important; }
}

/* Quick earning guide: reference-inspired card and shared Bootstrap dialog. */
.earning-guide-card,.earning-guide-modal {
  --guide-pink:color-mix(in srgb,var(--brand-soft) 68%,var(--surface));
  --guide-line:color-mix(in srgb,var(--brand) 16%,var(--surface));
  --guide-wash:color-mix(in srgb,var(--brand-soft) 25%,var(--surface));
  --guide-accent:var(--brand);
}
.earning-guide-card {
  container-type:inline-size;position:relative;isolation:isolate;overflow:hidden;
  padding:22px;border:1px solid var(--guide-line);border-radius:24px;
  background:linear-gradient(125deg,var(--surface) 15%,var(--guide-wash) 75%,var(--guide-pink));
  box-shadow:var(--shadow);min-width:0;
}
.earning-guide-intro { position:relative;min-height:164px;display:flex;align-items:center; }
.earning-guide-copy { position:relative;z-index:1;width:66%;padding-bottom:15px; }
.earning-guide-accent { display:block;width:29px;height:4px;border-radius:8px;background:color-mix(in srgb,var(--brand) 60%,var(--surface));margin-bottom:20px; }
.member-main .earning-guide-card h2 { margin:0 0 12px;font-size:clamp(21px,6.8cqi,30px);font-weight:800;line-height:1.2;letter-spacing:-.05em; }
.earning-guide-copy p { margin:0;color:var(--muted);font-size:14px;line-height:1.65; }
.earning-guide-art { position:absolute;width:48%;height:auto;right:-16px;bottom:0;pointer-events:none;transform-origin:center bottom;animation:earning-guide-float 5s ease-in-out 2; }
.earning-guide-card .earning-guide-open {
  position:relative;z-index:1;display:flex;align-items:center;gap:11px;width:100%;min-height:60px;margin-top:6px;padding:9px 13px;
  border:1px solid var(--guide-line);border-radius:17px;background:color-mix(in srgb,var(--surface) 84%,transparent);
  color:var(--guide-accent);font-size:14px;line-height:1.3;font-weight:750;text-align:start;box-shadow:none;
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
.earning-guide-book { display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:12px;background:var(--guide-pink); }
.earning-guide-book .icon { width:25px;height:25px; }
.earning-guide-open>.icon { flex:none;margin-inline-start:auto;width:22px;height:22px; }
.earning-guide-card .earning-guide-open:hover { background:var(--surface);border-color:var(--guide-accent);color:var(--guide-accent);transform:translateY(-1px); }
.earning-guide-card .earning-guide-open:active { transform:scale(.98); }
.earning-guide-card .earning-guide-open:focus-visible { outline:3px solid var(--guide-accent);outline-offset:3px; }
.earning-guide-modal .modal-dialog { width:auto;max-width:660px;margin:24px auto;min-height:calc(100% - 48px); }
.earning-guide-modal .modal-content { max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:hidden;padding:12px;border-radius:28px;border:1px solid var(--guide-line);background:var(--surface);box-shadow:0 28px 90px #29121d38; }
.earning-guide-modal .modal-header { align-items:flex-start;flex-shrink:0;padding:20px 18px 22px;gap:16px;border:0; }
.earning-guide-modal .modal-symbol { width:56px;height:56px;border-radius:19px;background:var(--guide-pink);color:var(--guide-accent); }
.earning-guide-modal .modal-symbol .icon { width:31px;height:31px; }
.earning-guide-modal .modal-heading { min-width:0;max-width:360px; }
.earning-guide-modal .modal-header .modal-title { font-size:25px!important;font-weight:800;line-height:1.22;letter-spacing:-.045em; }
.earning-guide-modal .modal-subtitle { margin:7px 0 0;font-size:15px;line-height:1.5;color:var(--muted); }
.earning-guide-modal .modal-header .btn-close { display:grid;place-items:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;margin:0 0 0 auto;padding:0;border-radius:50%;background:var(--guide-wash);color:var(--ink);opacity:1;filter:none;transition:background .18s ease,transform .18s ease; }
.earning-guide-modal .btn-close .icon { width:23px;height:23px; }
.earning-guide-modal .modal-header .btn-close:hover { background:var(--guide-pink); }
.earning-guide-modal .btn-close:focus { box-shadow:none; }
.earning-guide-modal .modal-body { min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:8px 18px 4px; }
.earning-guide-timeline { list-style:none;margin:0;padding:0; }
.earning-guide-timeline>li { position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:15px;padding-bottom:14px; }
.earning-guide-timeline>li:last-child { padding-bottom:0; }
.earning-guide-timeline>li:not(:last-child)::before { content:"";position:absolute;inset-inline-start:20px;top:40px;bottom:-20px;border-inline-start:2px dashed var(--guide-line); }
.earning-guide-number { position:relative;z-index:1;display:grid;place-items:center;align-self:start;width:42px;height:42px;margin-top:17px;border-radius:50%;background:var(--guide-pink);box-shadow:0 0 0 5px var(--surface);color:var(--guide-accent);font-size:22px;font-weight:800; }
.earning-guide-step { display:flex;align-items:flex-start;gap:16px;min-width:0;padding:19px 18px;border:1px solid var(--guide-line);border-radius:22px;background:var(--guide-wash); }
.earning-guide-step>div { min-width:0; }
.earning-guide-step-icon { display:grid;place-items:center;width:49px;height:49px;flex:none;border-radius:16px;background:var(--guide-pink);color:var(--guide-accent); }
.earning-guide-step-icon .icon { width:29px;height:29px; }
.earning-guide-step-icon.is-cash { color:var(--mint-ink); }
.earning-guide-step h3 { margin:0 0 6px;color:var(--ink);font-size:17px;font-weight:750;line-height:1.3;letter-spacing:-.035em; }
.earning-guide-step p { margin:0;color:var(--muted);font-size:14px;line-height:1.6;overflow-wrap:anywhere; }
.earning-guide-modal .modal-footer { flex-shrink:0;display:block;padding:23px 18px 18px;border:0; }
.earning-guide-modal .modal-footer .btn-primary { display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:56px;margin:0;padding:15px 16px;border:0;border-radius:17px;color:var(--on-feature);background:linear-gradient(115deg,var(--brand-strong),var(--brand-solid));font-size:16px;line-height:1.4;font-weight:750;box-shadow:0 5px 15px color-mix(in srgb,var(--brand-solid) 15%,transparent);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease; }
.earning-guide-modal .modal-footer .btn-primary:hover { filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--brand-solid) 22%,transparent); }
.earning-guide-modal .modal-footer .btn-primary:active,.earning-guide-modal .btn-close:active { transform:scale(.98); }
.earning-guide-modal button:focus-visible,.earning-guide-modal .modal-body:focus-visible { outline:3px solid var(--guide-accent);outline-offset:3px;box-shadow:none; }
.earning-guide-modal .modal-body:focus-visible { outline-offset:-3px;border-radius:12px; }
.earning-guide-modal.fade .modal-dialog { transform:translateY(18px) scale(.98);transition:transform .22s ease-out; }
.earning-guide-modal.show .modal-dialog { transform:none; }
.earning-guide-modal.show .earning-guide-step { animation:earning-guide-step-in .28s ease-out both; }
.earning-guide-modal.show li:nth-child(2) .earning-guide-step { animation-delay:40ms; }
.earning-guide-modal.show li:nth-child(3) .earning-guide-step { animation-delay:80ms; }
.earning-guide-modal.show li:nth-child(4) .earning-guide-step { animation-delay:120ms; }
[data-bs-theme=dark] .earning-guide-card { box-shadow:0 8px 28px #0002; }
[data-bs-theme=dark] .earning-guide-art { filter:brightness(.87) saturate(.85); }
body:has(.earning-guide-modal.show)>.modal-backdrop { --bs-backdrop-opacity:.62; }
@keyframes earning-guide-float { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-4px) rotate(1deg); } }
@keyframes earning-guide-step-in { from { opacity:0;transform:translateY(6px); } to { opacity:1;transform:none; } }
@container(max-width:310px) {
  .earning-guide-intro { min-height:157px; }
  .earning-guide-copy { width:69%; }
  .earning-guide-copy p { font-size:13px;line-height:1.6; }
  .earning-guide-art { width:44%;right:-18px;bottom:6px; }
  .earning-guide-accent { margin-bottom:16px; }
  .earning-guide-card .earning-guide-open { padding:9px;gap:8px;font-size:13px; }
  .earning-guide-book { width:33px;height:33px; }
}
@media(max-width:575.98px) {
  .earning-guide-card { padding:20px; }
  .earning-guide-modal .modal-dialog { display:flex;align-items:center;min-height:100%;min-height:100dvh;margin:0;padding:max(12px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
  .earning-guide-modal .modal-content { max-height:calc(100vh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));padding:6px;border-radius:25px; }
  .earning-guide-modal .modal-header { padding:17px 10px 18px;gap:11px; }
  .earning-guide-modal .modal-symbol { width:44px;height:44px;border-radius:15px; }
  .earning-guide-modal .modal-symbol .icon { width:27px;height:27px; }
  .earning-guide-modal .modal-header .modal-title { font-size:20px!important; }
  .earning-guide-modal .modal-subtitle { font-size:13px;line-height:1.45; }
  .earning-guide-modal .modal-header .btn-close { width:36px;min-width:36px; }
  .earning-guide-modal .modal-body { padding:6px 10px 3px; }
  .earning-guide-timeline>li { grid-template-columns:31px minmax(0,1fr);gap:9px;padding-bottom:12px; }
  .earning-guide-timeline>li:not(:last-child)::before { inset-inline-start:15px; }
  .earning-guide-number { width:31px;height:31px;margin-top:15px;font-size:18px;box-shadow:0 0 0 4px var(--surface); }
  .earning-guide-step { position:relative;display:block;padding:15px 13px;border-radius:19px; }
  .earning-guide-step-icon { position:absolute;top:13px;inset-inline-start:12px;width:31px;height:31px;border-radius:10px; }
  .earning-guide-step-icon .icon { width:21px;height:21px; }
  .earning-guide-step h3 { display:flex;align-items:center;min-height:30px;padding-inline-start:39px;margin-bottom:9px;font-size:15px;line-height:1.35; }
  .earning-guide-step p { font-size:13px;line-height:1.55; }
  .earning-guide-modal .modal-footer { padding:16px 10px 12px; }
  .earning-guide-modal .modal-footer .btn-primary { min-height:52px;padding:13px 10px;font-size:14px;gap:10px; }
}
@media(max-width:359.98px) {
  .earning-guide-modal .modal-header { gap:8px;padding-inline:7px; }
  .earning-guide-modal .modal-header .modal-title { font-size:18px!important; }
  .earning-guide-modal .modal-symbol { width:36px;height:40px; }
  .earning-guide-modal .modal-body { padding-inline:7px; }
  .earning-guide-modal .modal-footer { padding-inline:7px; }
}
@media(prefers-reduced-motion:reduce) {
  .earning-guide-card *,.earning-guide-modal,.earning-guide-modal * { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}

/* Offers: scoped presentation; account shell, history and partner actions stay shared. */
.offers-page { min-width:0; }
.offers-page .offers-summary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px; }
.offers-summary .balance-card { min-width:0;min-height:142px;padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow); }
.offers-summary .label { display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.3; }
.offers-summary .balance-card .label .icon { display:block;flex:none;width:30px;height:30px;padding:6px;border-radius:50%;background:var(--brand-soft);color:var(--brand); }
.offers-summary .balance-amount { font-family:Manrope,var(--bs-body-font-family);font-size:clamp(26px,6.8vw,38px);font-weight:800;line-height:1.2;letter-spacing:-.045em;margin:10px 0 6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.offers-summary .offers-earnings .balance-amount { color:var(--brand); }
.offers-summary .balance-note { font-size:12px;line-height:1.4; }
.offers-page .offers-notice { gap:10px;padding:14px;border-radius:18px;margin-bottom:16px;font-size:12px;line-height:1.5; }
.offers-notice > .icon { width:20px;height:20px;margin-top:1px; }
.offers-notice strong { display:block;font-size:13px;line-height:1.5;font-weight:750;margin-bottom:3px; }
.offers-notice p { color:var(--muted);font-size:inherit;line-height:inherit;margin:0; }
.offer-filters { display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:5px 4px 7px;margin:0 -4px 12px;scroll-padding-inline:4px; }
.offer-filters::-webkit-scrollbar { display:none; }
.offer-filter { flex:none;min-height:44px;padding:9px 18px;background:var(--brand-soft);color:var(--ink);border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:550;white-space:nowrap;transition:background-color .16s,color .16s,transform .16s; }
.offer-filter[aria-pressed=true] { background:var(--brand-solid);color:#fff; }
.offer-filter:disabled { opacity:.55; }
.offer-filter:focus-visible { outline:2px solid var(--brand);outline-offset:2px; }
.offer-filter:active:not(:disabled) { transform:scale(.97); }
.offers-page .offers-card-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch; }
.offers-page .offer-card { container-type:inline-size;min-width:0;min-height:220px;padding:14px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s; }
.offer-card-top { --offer-icon-size:44px;--offer-header-gap:8px;--offer-category-min-size:28px;display:flex;align-items:center;gap:var(--offer-header-gap);width:100%;min-width:0;height:44px;flex:none;margin-bottom:14px; }
.offers-page .offer-logo { flex:none;width:var(--offer-icon-size);height:var(--offer-icon-size);object-fit:contain;border:1px solid var(--line);border-radius:12px;padding:3px;background:var(--brand-soft); }
.offer-category { display:inline-flex;align-items:center;flex:0 1 auto;gap:4px;min-width:var(--offer-category-min-size);height:28px;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2;background:var(--brand-soft);color:var(--brand); }
.offer-category > span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.offer-category .icon { flex:none;width:12px;height:12px; }
.offer-category-survey { background:var(--mint);color:var(--mint-ink); }
.offer-category-app_install { background:#eeebff;color:#5942bc; }
.offer-category-email_submit { background:#fff0df;color:#985007; }
.offer-category-signup { background:#e2f5f9;color:#126779; }
.offer-category-game { background:#f1e8fc;color:#7839a6; }
[data-bs-theme=dark] .offer-category-app_install { background:#31294c;color:#c5b7ff; }
[data-bs-theme=dark] .offer-category-email_submit { background:#44301e;color:#ffc98c; }
[data-bs-theme=dark] .offer-category-signup { background:#203d43;color:#9bddea; }
[data-bs-theme=dark] .offer-category-game { background:#3b284d;color:#d9b3fa; }
.offer-payout { flex:none;margin-inline-start:auto;max-width:calc(100% - var(--offer-icon-size) - var(--offer-category-min-size) - 2 * var(--offer-header-gap));min-width:0;height:30px;padding:0 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-family:Manrope,var(--bs-body-font-family);font-size:15.4px;font-weight:800;line-height:30px;letter-spacing:-.045em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.offer-payout-long { font-size:12.6px; }
.offers-page .offer-card h3 { flex:none;font-size:16px;font-weight:800;line-height:1.35;letter-spacing:-.035em;margin:0 0 6px; }
.offers-page .offer-card p { flex:none;font-size:13px;line-height:1.5;margin:0 0 14px;color:var(--muted); }
.offers-page .offer-card :is(h3,p) { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere; }
.offers-page .offer-card .btn { flex:none;display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:auto;min-height:48px;height:48px;padding:6px 8px;border-radius:14px;gap:8px;font-size:13px;font-weight:750;line-height:1.3; }
.offers-page .offer-card .btn .icon { flex:none;width:18px;height:18px; }
.offers-page .offer-card .btn:disabled { font-size:11px; }
.offers-category-empty { text-align:center;padding:28px 16px;background:var(--surface);border:1px solid var(--line);border-radius:20px; }
.offers-category-empty p { color:var(--muted);font-size:14px;margin:0 0 12px; }
@container (max-width:210px) {
  .offer-card-top { --offer-icon-size:32px;--offer-header-gap:6px;--offer-category-min-size:24px;height:36px;margin-bottom:12px; }
  .offers-page .offer-logo { border-radius:10px;padding:2px; }
  .offer-category { height:26px;padding-inline:5px;font-size:10px;gap:3px; }
  .offer-payout { padding-inline:6px; }
}
@container (max-width:165px) {
  .offer-card-top { --offer-icon-size:28px;--offer-header-gap:4px; }
  .offer-category { padding-inline:3px;gap:2px; }
  .offer-payout { padding-inline:5px; }
}
@container (max-width:130px) {
  .offer-card-top { --offer-icon-size:24px; }
  .offers-page .offer-logo { border-radius:8px; }
  .offer-category { position:relative;justify-content:center;flex:none;width:24px;padding-inline:0; }
  /* Keep the full category available to assistive technology in the compact pill. */
  .offer-category > span { position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip-path:inset(50%); }
  .offer-payout { padding-inline:5px;font-size:14px; }
  .offer-payout-long { font-size:12.6px; }
}
@media(min-width:768px) {
  .offers-page .offers-card-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
  .offers-summary .balance-card { padding:22px; }
  .offers-summary .balance-amount { font-size:38px; }
  .offers-page .offers-notice { padding:16px 18px;font-size:13px; }
  .offers-notice strong { font-size:14px; }
}
@media(min-width:1400px) { .offers-page .offers-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:399px) {
  .offers-page .offers-summary { gap:10px; }
  .offers-summary .balance-card { padding:13px;min-height:132px;border-radius:20px; }
  .offers-summary .label { gap:6px;font-size:10px; }
  .offers-summary .balance-card .label .icon { width:25px;height:25px;padding:5px; }
  .offers-summary .balance-note { font-size:10px; }
  .offers-page .offer-card { padding:12px; }
  .offers-page .offer-card h3 { font-size:15px; }
  .offers-page .offer-card p { font-size:12px; }
  .offers-page .offer-card .btn { font-size:12px;gap:6px; }
}
@media(hover:hover) and (pointer:fine) {
  .offers-page .offer-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px color-mix(in srgb,var(--brand) 10%,transparent); }
  .offer-filter:hover:not(:disabled):not([aria-pressed=true]) { border-color:var(--brand); }
}
@media(prefers-reduced-motion:reduce) {
  .offers-page .offer-card,.offer-filter { transition:none; }
  .offers-page .offer-card:hover,.offer-filter:active { transform:none; }
}

/* Compact spin milestone preview; all amounts and states come from existing data. */
#spin-milestones { scroll-margin-block-start:100px;scroll-margin-block-end:calc(120px + env(safe-area-inset-bottom)); }
.spin-milestones-card { container-type:inline-size;margin-top:24px;padding:18px;border-radius:22px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow); }
.spin-milestones-header { display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:3px;margin-bottom:14px; }
.spin-milestones-trophy { grid-column:1;grid-row:1 / 3;display:grid;place-items:center;width:36px;height:40px;border-radius:13px;color:var(--gold-ink);background:var(--gold); }
.spin-milestones-trophy .icon { width:23px;height:23px; }
.spin-milestones-heading { display:contents; }
.member-main .spin-milestones-header h2 { grid-column:2;grid-row:1;margin:0;font-size:18px;font-weight:800;line-height:1.25;letter-spacing:-.035em; }
.spin-milestones-heading p { grid-column:2 / -1;grid-row:2;margin:0;color:var(--muted);font-size:12px;line-height:1.4; }
.spin-milestones-all.btn { grid-column:3;grid-row:1;min-height:44px;padding:7px 10px;border-radius:13px;font-size:12px;font-weight:700;gap:4px;white-space:nowrap; }
.spin-milestones-all .icon { width:15px;height:15px; }
.spin-milestones-all[aria-expanded=true] .icon { transform:rotate(-90deg); }
.spin-milestone-list { list-style:none;display:grid;gap:5px;padding:0;margin:0; }
.spin-milestones-additional { padding-top:5px; }
.spin-milestone-row { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:13px;background:color-mix(in srgb,var(--paper) 40%,var(--surface)); }
.spin-milestone-value { display:flex;align-items:center;gap:5px;min-width:0; }
.spin-milestone-value strong { min-width:0;font-family:Manrope,var(--bs-body-font-family);font-size:16px;font-weight:800;line-height:1.35;font-variant-numeric:tabular-nums;letter-spacing:-.03em;overflow-wrap:anywhere; }
.spin-milestone-description { display:none;color:var(--muted);font-size:12px;line-height:1.3; }
.spin-milestone-reward { display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;background:var(--mint);color:var(--mint-ink);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:650;line-height:1.3; }
.spin-milestone-reward .icon { width:16px;height:16px; }
.spin-milestone-check { display:inline-flex;color:var(--mint-ink); }
.spin-milestone-check .icon { width:14px;height:14px; }
.spin-milestone-row.is-complete { background:color-mix(in srgb,var(--mint) 40%,var(--surface));border-color:color-mix(in srgb,var(--mint-ink) 15%,var(--line)); }
.spin-milestones-toggle { scroll-margin-block:100px calc(120px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:8px auto 0;padding:8px 16px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:13px;font-weight:650; }
.spin-milestones-toggle .icon { width:16px;height:16px;transition:transform .2s ease; }
.spin-milestones-toggle[aria-expanded=true] .icon { transform:rotate(180deg); }
.spin-milestones-toggle:hover { background:var(--brand-soft);color:var(--brand); }
.spin-milestones-note { margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.4;text-align:center; }
#spin-milestones-extra.collapsing { transition:height .25s ease; }
@container (min-width:480px) {
  .spin-milestone-row { grid-template-columns:minmax(100px,1fr) minmax(0,1.6fr) auto; }
  .spin-milestone-description { display:block; }
}
@media(max-width:374px) {
  .spin-milestones-card { padding:13px; }
  .spin-milestones-header { grid-template-columns:30px minmax(0,1fr) auto;column-gap:7px; }
  .spin-milestones-trophy { width:30px;height:36px;border-radius:11px; }
  .spin-milestones-trophy .icon { width:21px;height:21px; }
  .member-main .spin-milestones-header h2 { font-size:16px; }
  .spin-milestones-heading p { font-size:11px; }
  .spin-milestones-all.btn { padding-inline:7px;font-size:11px;gap:2px; }
  .spin-milestone-row { padding-inline:9px;gap:7px; }
  .spin-milestone-reward { padding-inline:8px;font-size:11px;gap:5px; }
}
@media(prefers-reduced-motion:reduce) {
  #spin-milestones-extra.collapsing,.spin-milestones-toggle .icon { transition:none; }
}

/* Daily video limit: decoration and countdown use the shared tenant theme. */
.video-limit { text-align:center; padding:4px 0 2px; background:radial-gradient(ellipse at 50% 22%,var(--brand-soft),transparent 66%); border-radius:var(--radius); }
.video-limit-art { position:relative; width:148px; height:104px; margin:0 auto 12px; }
.video-limit-play { position:absolute; inset:14px 29px 16px 24px; display:grid; place-items:center; border-radius:19px; background:linear-gradient(140deg,var(--brand),var(--brand-strong)); color:var(--on-feature); transform:rotate(-8deg); box-shadow:0 7px 0 color-mix(in srgb,var(--brand) 16%,transparent); }
.video-limit-play .icon { width:38px; height:38px; fill:currentColor; stroke-width:1; }
.video-limit-clock { position:absolute; right:13px; bottom:3px; width:49px; height:49px; display:grid; place-items:center; border:5px solid var(--brand); border-radius:50%; background:var(--surface); color:var(--brand); }
.video-limit-clock .icon { width:34px; height:34px; }
.video-limit-art i { position:absolute; width:5px; height:12px; border-radius:5px; background:var(--coral); top:18px; right:10px; transform:rotate(28deg); }
.video-limit-art i:last-child { top:48px; left:7px; transform:rotate(-65deg); }
.video-limit h3 { max-width:440px; margin:0 auto 10px; font-size:clamp(1.25rem,2.5vw,1.9rem); font-weight:800; line-height:1.25; text-wrap:balance; }
.video-limit-description { max-width:460px; margin:0 auto 18px; color:var(--muted); font-size:clamp(.82rem,1.3vw,.96rem); line-height:1.6; text-wrap:pretty; }
.video-limit-timer { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); direction:ltr; max-width:410px; margin:0 auto; padding:13px 8px; border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line)); border-radius:18px; background:color-mix(in srgb,var(--brand-soft) 62%,var(--surface)); }
.video-limit-timer[hidden] { display:none; }
.video-limit-unit { position:relative; display:grid; justify-items:center; gap:5px; min-width:0; }
.video-limit-unit + .video-limit-unit:before { content:''; position:absolute; left:0; top:15%; height:70%; width:1px; background:color-mix(in srgb,var(--brand) 20%,transparent); }
.video-limit-unit strong { display:block; min-width:2.5ch; padding:3px 12px; border-radius:12px; background:var(--brand-soft); color:var(--brand); font-size:clamp(1.65rem,4vw,2.15rem); line-height:1.35; font-weight:800; font-variant-numeric:tabular-nums; }
.video-limit-unit span { font-size:.75rem; color:var(--muted); }
.video-limit-feedback { display:grid; justify-items:center; gap:8px; }
.video-limit-status { color:var(--muted); font-size:.82rem; line-height:1.5; margin:12px 0 0; }
.video-limit-status:empty { display:none; }
.video-limit-actions { display:flex; flex-wrap:wrap; gap:10px; max-width:480px; margin:20px auto 0; }
.video-limit-actions .btn { flex:1 1 130px; padding:11px 10px; font-size:clamp(.75rem,1.3vw,.9rem); min-height:46px; }
.video-limit-actions .btn-primary { --bs-btn-bg:var(--brand-solid); --bs-btn-border-color:var(--brand-solid); color:var(--on-feature); }
.video-limit-actions .icon { width:19px; height:19px; }
@media(max-width:359px) {
  .video-limit-art { transform:scale(.9); margin-top:-6px; margin-bottom:4px; }
  .video-limit-actions { gap:8px; }
  .video-limit-actions .btn { flex-basis:110px; gap:6px; padding-inline:7px; }
  .video-limit-unit strong { padding-inline:8px; }
}

/* Public live payouts — scoped to this feed, including its mobile card layout. */
.live-payouts { max-width:1120px; padding:42px 20px 64px; }
.live-payout-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:26px; }
.live-payout-heading>div { min-width:0; }
.live-payout-eyebrow { display:flex; align-items:center; gap:12px; color:var(--brand); font-size:.65rem; font-weight:750; letter-spacing:.14em; line-height:1.6; }
.live-payout-eyebrow::before { content:''; width:24px; height:3px; flex-shrink:0; border-radius:3px; background:currentColor; }
.live-payouts h1 { font-size:clamp(2.65rem,7.6vw,5.4rem); line-height:1.08; letter-spacing:-.055em; font-weight:800; margin:16px 0; color:var(--ink); }
.live-payouts h1 span { color:var(--brand); }
.live-payout-heading p { max-width:540px; font-size:clamp(.95rem,2vw,1.35rem); color:var(--muted); line-height:1.5; margin:0; }
.live-payout-art { display:none; flex:0 0 auto; width:26%; max-width:280px; height:auto; }
.live-payout-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:20px; }
.live-payout-confirmed { display:inline-flex; align-items:center; gap:8px; background:var(--mint); color:var(--mint-ink); font-size:.61rem; font-weight:700; text-transform:uppercase; letter-spacing:.015em; padding:11px 12px; border-radius:50px; }
.live-payout-confirmed>span { width:7px; height:7px; flex-shrink:0; border-radius:50%; background:currentColor; }
.live-payout-refresh { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 13px; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:var(--surface); font-size:.78rem; font-weight:700; box-shadow:none; }
.live-payout-refresh:hover { background:var(--surface); color:var(--brand-solid); border-color:var(--brand-solid); }
.live-payout-refresh .icon { width:20px; height:20px; transition:transform .3s ease; }
.live-payout-refresh:hover:not(:disabled) .icon { transform:rotate(35deg); }
.live-payout-refresh[aria-busy=true] .icon { animation:payout-refresh 1s linear infinite; }
.live-payout-refresh:disabled { background:var(--surface); border-color:var(--line); color:var(--muted); opacity:.7; }
.live-payout-container { border:1px solid var(--line); background:var(--surface); border-radius:24px; padding:10px; box-shadow:var(--shadow); }
.live-payout-list { list-style:none; margin:0; padding:0; }
.live-payout-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,auto); grid-template-areas:'person value' 'method value'; align-items:center; gap:10px 10px; position:relative; isolation:isolate; overflow:hidden; padding:15px 14px; border:1px solid color-mix(in srgb,var(--line) 65%,transparent); border-radius:20px; background:var(--surface); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.live-payout-card+.live-payout-card { margin-top:7px; }
.live-payout-card>div { z-index:1; min-width:0; }
.live-payout-flag { position:absolute; inset:0 auto 0 0; width:55%; z-index:-1; overflow:hidden; pointer-events:none; opacity:.43; mask-image:linear-gradient(90deg,#000 0%,#000 35%,transparent 100%); -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 35%,transparent 100%); }
.live-payout-flag img { width:100%; height:100%; object-fit:cover; filter:blur(6px); transform:scale(1.12); }
.live-payout-person { grid-area:person; display:flex; align-items:center; gap:10px; }
.live-payout-avatar { position:relative; display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; overflow:hidden; border:2px solid var(--surface); border-radius:50%; background:var(--brand-soft); color:var(--brand-strong); box-shadow:0 2px 8px #30212610; font-size:.88rem; font-weight:750; }
.live-payout-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.live-payout-identity { min-width:0; }
.live-payout-name { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:.85rem; line-height:1.4; font-weight:750; }
.live-payout-date { display:block; margin-top:4px; color:var(--muted); font-size:.65rem; line-height:1.5; }
.live-payout-method { grid-area:method; display:flex; align-items:center; gap:8px; padding-inline-start:54px; font-size:.72rem; font-weight:650; overflow-wrap:anywhere; }
.live-payout-provider { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:var(--brand-soft); color:var(--brand-strong); }
.live-payout-provider img { width:19px; height:19px; object-fit:contain; }
.live-payout-provider .icon { width:17px; height:17px; }
.live-payout-provider.provider-paypal { background:#e1f3ff; }
.live-payout-provider.provider-crypto { background:#eeeafa; }
.live-payout-provider.provider-bitcoin { background:#fff0da; }
.live-payout-provider.provider-skrill { background:#f4e8f5; }
.live-payout-provider.provider-cashapp { background:#e3f9e9; }
.live-payout-provider.provider-skrill img { width:24px; }
.live-payout-value { grid-area:value; display:flex; flex-direction:column; align-items:flex-end; align-self:start; gap:6px; max-width:145px; }
.live-payout-amount { color:var(--mint-ink); font-weight:800; font-size:clamp(.95rem,4vw,1.2rem); font-variant-numeric:tabular-nums; line-height:1.4; text-align:end; overflow-wrap:anywhere; }
.live-payout-paid { border-radius:10px; padding:4px 12px; color:var(--mint-ink); background:var(--mint); font-size:.68rem; font-weight:650; line-height:1.4; }
.live-payout-disclaimer { color:var(--muted); font-size:.72rem; line-height:1.7; margin:18px 8px 0; text-align:center; }
.live-payout-loading-note { color:var(--muted); font-size:.85rem; margin:0 0 12px; }
.live-payouts #payout-error:empty { display:none; }
.live-payouts #payout-error:not(:empty) { border:1px solid var(--line); border-radius:20px; background:var(--surface); margin-bottom:16px; }
.live-payouts #payout-error .empty-state { padding:24px; }
.payout-placeholder { display:block; background:color-mix(in srgb,var(--line) 65%,var(--surface)); border:none; border-radius:5px; position:relative; overflow:hidden; }
.payout-placeholder::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 65%,transparent),transparent); transform:translateX(-100%); animation:payout-shimmer 1.6s ease-in-out infinite; }
.payout-skeleton .live-payout-avatar,.payout-skeleton .live-payout-provider { border-radius:50%; }
.payout-skeleton .live-payout-identity { width:100%; }
.skeleton-name { width:85%; max-width:140px; height:15px; }
.skeleton-date { width:95%; max-width:165px; height:10px; margin-top:10px; }
.skeleton-method { width:54px; height:12px; }
.skeleton-amount { width:80px; height:22px; }
.skeleton-badge { width:48px; height:23px; margin-top:2px; }
[data-bs-theme=dark] .live-payout-flag { opacity:.2; }
[data-bs-theme=dark] .live-payout-avatar { border-color:var(--line); }
[data-bs-theme=dark] .live-payout-avatar { color:var(--brand); }
@keyframes payout-refresh { to { transform:rotate(360deg); } }
@keyframes payout-shimmer { to { transform:translateX(100%); } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .live-payout-list .live-payout-card:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--brand-solid) 30%,var(--line)); box-shadow:var(--shadow); }
}
@media(min-width:640px) {
  .live-payouts { padding:48px 28px 80px; }
  .live-payout-heading { margin-bottom:28px; }
  .live-payout-eyebrow { font-size:.85rem; gap:16px; }
  .live-payout-art { display:block; }
  .live-payout-toolbar { margin-bottom:24px; }
  .live-payout-confirmed { padding:13px 20px; gap:12px; font-size:.82rem; }
  .live-payout-confirmed>span { width:9px; height:9px; }
  .live-payout-refresh { min-height:52px; padding:12px 23px; font-size:.95rem; }
  .live-payout-refresh .icon { width:24px; height:24px; }
  .live-payout-container { padding:20px; border-radius:28px; }
  .live-payout-card { grid-template-columns:minmax(0,1fr) 140px minmax(110px,auto); grid-template-areas:'person method value'; gap:18px; min-height:96px; padding:16px 20px 16px 48px; border-radius:23px; }
  .live-payout-flag { width:25%; max-width:210px; }
  .live-payout-person { gap:16px; }
  .live-payout-avatar { width:56px; height:56px; flex-basis:56px; font-size:1rem; border-width:3px; }
  .live-payout-name { font-size:1.02rem; }
  .live-payout-date { font-size:.8rem; }
  .live-payout-method { padding:0; gap:12px; font-size:.9rem; }
  .live-payout-provider { width:44px; height:44px; flex-basis:44px; }
  .live-payout-provider img { width:29px; height:29px; }
  .live-payout-provider.provider-skrill img { width:36px; }
  .live-payout-provider .icon { width:24px; height:24px; }
  .live-payout-value { align-self:center; max-width:200px; }
  .live-payout-amount { font-size:1.4rem; }
  .live-payout-paid { font-size:.78rem; padding:5px 15px; }
}
@media(min-width:900px) {
  .live-payout-card { grid-template-columns:minmax(0,1fr) 165px minmax(145px,auto); padding-inline-start:100px; }
  .live-payout-name { font-size:1.2rem; }
  .live-payout-date { font-size:.95rem; }
  .live-payout-method { font-size:1rem; }
  .live-payout-amount { font-size:1.65rem; }
}
@media(min-width:640px) and (max-width:760px) {
  .live-payout-card { padding-inline:18px; grid-template-columns:minmax(0,1fr) 112px minmax(100px,auto); gap:12px; }
  .live-payout-person { gap:10px; }
  .live-payout-avatar { width:48px; height:48px; flex-basis:48px; }
  .live-payout-name { font-size:.85rem; }
  .live-payout-date { font-size:.68rem; }
  .live-payout-method { gap:8px; font-size:.8rem; }
  .live-payout-amount { font-size:1.15rem; }
}
@media(max-width:359px) {
  .live-payouts { padding-inline:12px; }
  .live-payout-confirmed { font-size:.54rem; padding-inline:10px; gap:6px; }
  .live-payout-refresh { padding-inline:10px; font-size:.72rem; }
  .live-payout-card { padding-inline:12px; gap:10px 8px; }
  .live-payout-person { gap:8px; }
  .live-payout-method { padding-inline-start:52px; }
  .live-payout-value { max-width:112px; }
}
@media(prefers-reduced-motion:reduce) {
  .live-payout-card,.live-payout-refresh,.live-payout-refresh .icon { transition:none; }
  .live-payout-refresh[aria-busy=true] .icon,.payout-placeholder::after { animation:none; }
}

/* Centered cash-earning hero; scoped to the landing page. */
.hero.hero-centered {
  --hero-paper:#fffaf9;
  --hero-glow:color-mix(in srgb,var(--rose) 70%,transparent);
  isolation:isolate;
  padding:46px 0 32px;
  background:radial-gradient(ellipse at 50% 87%,var(--hero-glow),transparent 57%),var(--hero-paper);
  text-align:center;
}
[data-bs-theme=dark] .hero.hero-centered { --hero-paper:var(--paper); }
.hero-centered::before,.hero-centered::after {
  content:'';
  position:absolute;
  z-index:-1;
  bottom:-130px;
  width:clamp(280px,45vw,700px);
  aspect-ratio:1;
  border-radius:50%;
  background:linear-gradient(150deg,var(--brand-soft),transparent 70%);
  opacity:.65;
  pointer-events:none;
}
.hero-centered::before { right:76%; transform:rotate(-25deg); }
.hero-centered::after { left:76%; transform:rotate(25deg); }
.hero-centered-content { display:flex; flex-direction:column; align-items:center; padding-inline:20px; }
.hero-intro {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  max-width:100%;
  padding:9px 15px;
  margin-bottom:24px;
  border-radius:100px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:clamp(.58rem,2.45vw,.75rem);
  font-weight:700;
  line-height:1.3;
  letter-spacing:.12em;
}
.hero-intro .icon { width:18px; height:18px; stroke-width:2; }
.hero.hero-centered .hero-title {
  max-width:100%;
  margin:0;
  color:var(--ink);
  font-size:clamp(2.375rem,10.5vw,3rem);
  font-weight:800;
  letter-spacing:-.055em;
  line-height:1.07;
}
.hero-title>span { display:block; white-space:nowrap; }
.hero-title .hero-cash { color:var(--brand); }
.hero-underline { flex-shrink:0; width:clamp(150px,44vw,240px); height:auto; margin:6px 0 20px; color:var(--brand); pointer-events:none; }
.hero-description { max-width:580px; margin:0; color:var(--muted); font-size:1rem; line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; width:100%; margin-top:28px; }
.hero-actions .btn { flex:1; max-width:220px; min-height:52px; gap:8px; padding:14px 12px; font-size:.8125rem; font-weight:700; border-radius:14px; transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s; }
.hero-actions .btn .icon { width:18px; height:18px; }
.hero-actions .btn-primary { box-shadow:0 8px 24px color-mix(in srgb,var(--brand-solid) 18%,transparent); }
.hero-actions .btn-light { background:transparent; color:var(--ink); border-color:color-mix(in srgb,var(--brand) 55%,var(--hero-paper)); }
.hero-actions .btn-light:hover { background:var(--brand-soft); border-color:var(--brand); }
.hero-visual { position:relative; width:min(100%,750px); margin-top:36px; pointer-events:none; }
.hero-visual::before { content:''; position:absolute; z-index:-1; inset:10% 13% 0; border-radius:50%; background:radial-gradient(ellipse,var(--hero-glow),transparent 70%); }
.hero-visual-image { display:block; width:100%; height:auto; }
@media(min-width:768px) {
  .hero.hero-centered { padding:52px 0 36px; }
  .hero-intro { padding:10px 20px; font-size:.75rem; }
  .hero.hero-centered .hero-title { font-size:clamp(4rem,6.2vw,5.5rem); }
  .hero-description { font-size:1.2rem; }
  .hero-underline { margin-top:8px; margin-bottom:22px; }
  .hero-actions { gap:16px; margin-top:30px; }
  .hero-actions .btn { flex:initial; max-width:none; min-width:210px; min-height:60px; padding:16px 28px; font-size:1.05rem; }
  .hero-actions .btn .icon { width:24px; height:24px; }
  .hero-visual { margin-top:38px; }
}
@media(max-width:374px) {
  .hero-intro { padding:8px 11px; gap:6px; letter-spacing:.08em; }
  .hero-description { font-size:.9375rem; }
  .hero-actions { flex-direction:column; align-items:center; }
  .hero-actions .btn { flex:initial; max-width:none; width:min(100%,260px); font-size:.9rem; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .hero-actions .btn-primary:hover { transform:translateY(-2px); box-shadow:0 12px 28px color-mix(in srgb,var(--brand-solid) 25%,transparent); }
}
@keyframes hero-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-reveal { from { opacity:0; transform:scale(.97); } to { opacity:1; transform:scale(1); } }
@media(prefers-reduced-motion:no-preference) {
  .hero-intro { animation:hero-rise .55s both; }
  .hero-title,.hero-underline { animation:hero-rise .65s .08s both; }
  .hero-description { animation:hero-rise .65s .16s both; }
  .hero-actions { animation:hero-rise .65s .24s both; }
  .hero-visual { animation:hero-reveal .85s .3s both; }
}
@media(prefers-reduced-motion:reduce) { .hero-actions .btn { transition:none; } }

/* Landing community and FAQ — the hero's warm paper and cash illustration palette. */
/* Footer invitation: local SVG artwork and CSS motion, with no additional requests. */
.cta-band {
  --cta-burgundy:#78082f;
  --cta-rose:#a40e49;
  --cta-pink:#f11d64;
  --cta-copy:#f7d4e2;
  --cta-button-ink:#d41150;
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:8px;
  overflow:hidden;
  padding:30px 24px 16px;
  border:1px solid #ffffff1f;
  border-radius:30px;
  color:var(--on-feature);
  background:linear-gradient(115deg,var(--cta-burgundy) 0%,var(--cta-rose) 55%,var(--cta-pink) 100%);
  box-shadow:0 20px 50px #f11d6426,inset 0 1px 0 #ffffff12;
}
.cta-band::before { content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 85% 60%,#ff76b22b,transparent 55%),radial-gradient(ellipse at 20% 90%,#57031b50,transparent 65%); }
.cta-waves { position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none; }
.cta-copy { min-width:0;position:relative;z-index:1; }
.cta-band h2 { margin:0;color:var(--on-feature);font-size:clamp(1.85rem,7.8vw,2.75rem);font-weight:800;line-height:1.12;letter-spacing:-.045em; }
.cta-title-lead { display:block; }
.cta-highlight { display:inline-block;color:#ff92b5;background:linear-gradient(100deg,#ff92c3 5%,#ff6e9b 50%,#ff6679 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent; }
.cta-underline { display:block;width:66%;max-width:350px;height:auto;margin:9px 0 15px;overflow:visible; }
.cta-band p { max-width:29ch;margin:0 0 23px;color:var(--cta-copy);font-size:.95rem;font-weight:500;line-height:1.5; }
.cta-band p span { display:block; }
.cta-band .btn { display:inline-flex;justify-content:center;gap:18px;max-width:100%;min-height:54px;margin:0;padding:14px 21px;border:1px solid #ffffffc9;border-radius:999px;background:#fffafb;color:var(--cta-button-ink);font-size:.95rem;font-weight:800;line-height:1.35;box-shadow:0 0 22px #ff61944d,0 9px 24px #4f052d26;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease; }
.cta-band .btn .icon { flex-shrink:0;width:23px;height:23px;transition:transform .2s ease; }
.cta-band .btn:focus-visible { outline:3px solid #fff;outline-offset:5px;box-shadow:0 0 0 8px #78082f; }
.cta-band .btn:active { transform:scale(.98);background:#ffeaf2;color:var(--cta-button-ink);border-color:transparent; }
.cta-illustration { width:min(100%,200px);margin-inline:auto;pointer-events:none; }
.cta-video-art { display:block;width:100%;height:auto;aspect-ratio:12/11;overflow:visible; }
.cta-coin { animation:cta-coin-float 5.5s ease-in-out infinite; }
.cta-coin-top { animation-delay:-1.8s; }
.cta-coin-bottom { animation-delay:-3.6s; }
.cta-orbit { transform-origin:261px 267px;animation:cta-orbit-drift 8s ease-in-out infinite; }
[data-bs-theme=dark] .cta-band { box-shadow:0 18px 45px #f11d6414,inset 0 1px 0 #ffffff12; }
@media (hover:hover) {
  .cta-band .btn:hover { background:#fff;color:var(--cta-button-ink);transform:translateY(-2px);box-shadow:0 0 30px #ff619466,0 12px 27px #4f052d33; }
  .cta-band .btn:hover .icon { transform:translateX(4px); }
  .cta-band .btn:active { transform:translateY(0) scale(.98); }
}
@media (min-width:576px) {
  .cta-band { padding:36px 36px 20px; }
  .cta-illustration { width:220px; }
  .cta-band p { max-width:34ch;font-size:1.05rem; }
}
@media (min-width:768px) {
  .cta-band { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:4px;padding:44px 36px;border-radius:32px; }
  .cta-band h2 { font-size:clamp(2.2rem,4.8vw,4.35rem); }
  .cta-band p { max-width:29ch;margin-bottom:29px;font-size:clamp(1.05rem,1.85vw,1.6rem); }
  .cta-band .btn { min-height:62px;padding:17px 28px;font-size:1.05rem;gap:25px; }
  .cta-illustration { width:112%;max-width:480px;margin-inline:-6%; }
  .cta-underline { margin-block:12px 19px; }
}
@media (min-width:1200px) {
  .cta-band { padding:64px 60px;gap:12px; }
  .cta-band .btn { min-width:min(100%,420px);min-height:80px;padding:21px 38px;font-size:1.45rem;gap:34px; }
  .cta-band .btn .icon { width:30px;height:30px; }
  .cta-band p { margin-bottom:36px; }
  .cta-underline { margin-block:14px 22px; }
}
@keyframes cta-coin-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes cta-orbit-drift { 0%,100% { transform:rotate(-1.5deg); } 50% { transform:rotate(1.5deg); } }
@media (prefers-reduced-motion:reduce) {
  .cta-coin,.cta-orbit { animation:none; }
  .cta-band .btn,.cta-band .btn .icon { transition:none; }
  .cta-band .btn:hover,.cta-band .btn:active,.cta-band .btn:hover .icon { transform:none; }
}

.landing-editorial {
  --landing-paper:#fffaf9;
  --landing-border:color-mix(in srgb,var(--brand) 12%,var(--surface));
  background:var(--landing-paper);
}
[data-bs-theme=dark] .landing-editorial { --landing-paper:var(--paper); }
.landing-community { padding-block:56px 24px; }
.landing-faq { padding-block:32px 64px; }
.landing-section-intro { display:grid; grid-template-columns:1fr; align-items:center; gap:12px; }
.landing-section-copy { min-width:0; text-align:center; }
.landing-section-copy .eyebrow { display:inline-flex; align-items:center; gap:12px; font-size:.64rem; letter-spacing:.16em; color:var(--brand); }
.landing-section-copy .eyebrow::before { content:''; width:23px; height:2px; background:currentColor; flex-shrink:0; }
.landing-section-copy h2 { margin:20px 0 24px; font-size:clamp(2rem,7.8vw,3.5rem); font-weight:800; line-height:1.08; letter-spacing:-.055em; color:var(--ink); }
.landing-highlight { position:relative; display:inline-block; z-index:0; color:var(--brand); }
.landing-highlight::after { content:''; position:absolute; z-index:-1; inset:auto -2% -10px; height:8px; border-radius:80% 35% 60% 30%; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--brand) 23%,transparent) 15%,color-mix(in srgb,var(--brand) 19%,transparent) 85%,transparent); transform:rotate(-1deg); }
.landing-section-copy p { max-width:460px; margin:0 auto 24px; color:var(--muted); font-size:1rem; line-height:1.5; }
.landing-outline-btn { border:1px solid color-mix(in srgb,var(--brand) 48%,var(--surface)); border-radius:16px; background:var(--surface); color:var(--brand); padding:14px 20px; min-height:52px; font-size:.95rem; font-weight:700; gap:18px; transition:background-color .2s,border-color .2s; }
.landing-outline-btn:hover { color:var(--brand); border-color:var(--brand); background:var(--brand-soft); }
.landing-outline-btn .icon { transition:transform .2s; }
.landing-outline-btn:hover .icon { transform:translateX(4px); }
.landing-outline-btn:focus-visible,.landing-faq-toggle:focus-visible { outline:3px solid var(--brand); outline-offset:4px; box-shadow:none; }
.landing-section-art { width:min(100%,290px); margin-inline:auto; pointer-events:none; }
[data-bs-theme=dark] .landing-art-glow { opacity:.2; }
.landing-art { display:block; width:100%; height:auto; color:var(--brand-solid); }
.landing-help-art { max-height:210px; }
.community-statistics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--surface); border:1px solid var(--landing-border); border-radius:26px; box-shadow:0 10px 35px color-mix(in srgb,var(--brand-solid) 5%,transparent); padding:24px 4px; }
.community-stat { min-width:0; padding:0 8px; text-align:center; }
.community-stat+.community-stat { border-inline-start:1px solid var(--landing-border); }
.community-stat-icon { display:flex; align-items:center; justify-content:center; width:46px; height:46px; margin:0 auto 14px; border-radius:50%; background:var(--brand-soft); color:var(--brand); font-size:1.8rem; font-weight:750; line-height:1; }
.community-stat-icon .icon { width:25px; height:25px; stroke-width:2; }
.community-stat-cash .community-stat-icon { color:var(--mint-ink); background:var(--mint); }
.community-stat-videos .community-stat-icon { color:#2266c8; background:#e7efff; }
[data-bs-theme=dark] .community-stat-videos .community-stat-icon { color:#9bc1ff; background:#263b5a; }
.community-stat-copy { min-width:0; }
.community-stat-value { display:block; font-family:Manrope,sans-serif; font-size:clamp(1rem,3.7vw,2.65rem); font-weight:800; letter-spacing:-.05em; line-height:1.25; color:var(--brand); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.community-stat-value .placeholder { min-height:1em; opacity:.15; }
.community-stat-label { display:block; max-width:180px; margin:9px auto 0; color:var(--muted); font-size:.75rem; line-height:1.4; }
.community-estimates { margin:14px auto 0; max-width:760px; text-align:center; font-size:.7rem; line-height:1.6; color:var(--muted); }
.landing-faq-list { display:grid; gap:12px; margin-top:12px; }
.landing-faq-list .landing-faq-item { border:1px solid var(--landing-border); background:var(--surface); border-radius:20px; box-shadow:0 5px 20px color-mix(in srgb,var(--brand-solid) 3%,transparent); overflow:hidden; transition:border-color .2s; }
.landing-faq-item:has([aria-expanded=true]) { border-color:color-mix(in srgb,var(--brand) 40%,var(--surface)); }
.landing-faq-toggle { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; width:100%; min-height:82px; border:0; border-radius:19px; padding:16px; background:transparent; text-align:start; color:var(--ink); font-family:var(--bs-body-font-family); font-size:.9rem; font-weight:650; line-height:1.4; letter-spacing:0; }
.landing-faq-toggle:focus-visible { outline-offset:-4px; }
.landing-faq-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--brand-soft); color:var(--brand); }
.landing-faq-icon .icon { width:22px; height:22px; stroke-width:1.9; }
.landing-faq-sign { position:relative; width:18px; height:18px; color:var(--brand); }
.landing-faq-sign::before,.landing-faq-sign::after { content:''; position:absolute; left:1px; top:8px; width:16px; height:2px; border-radius:2px; background:currentColor; }
.landing-faq-sign::after { transform:rotate(90deg); transition:transform .2s,opacity .2s; }
.landing-faq-toggle[aria-expanded=true] .landing-faq-sign::after { transform:rotate(0); opacity:0; }
.landing-faq-item .accordion-body { padding:0 20px 22px 70px; color:var(--muted); font-size:.9rem; line-height:1.7; }
.landing-faq-item .accordion-body p { margin:0; max-width:840px; }
@media(min-width:768px) {
  .landing-community { padding-block:64px 28px; }
  .landing-faq { padding-block:32px 80px; }
  .landing-section-intro { grid-template-columns:1.18fr 1fr; gap:16px; margin-bottom:22px; }
  .landing-section-copy { text-align:start; }
  .landing-section-copy .eyebrow { font-size:.72rem; }
  .landing-section-copy h2 { font-size:clamp(2.65rem,4.7vw,4rem); }
  .landing-section-copy p { margin-inline:0; font-size:1.12rem; }
  .landing-section-art { width:100%; max-width:480px; }
  .landing-help-art { max-height:none; }
  .community-statistics { padding:30px 12px; }
  .community-stat { padding-inline:18px; }
  .community-stat-icon { width:66px; height:66px; font-size:2.5rem; margin-bottom:18px; }
  .community-stat-icon .icon { width:32px; height:32px; }
  .community-stat-value { font-size:clamp(1.65rem,3.2vw,2.65rem); }
  .community-stat-label { font-size:1.05rem; }
  .community-estimates { font-size:.75rem; }
  .landing-faq-toggle { min-height:88px; padding:16px 28px; gap:26px; font-size:1.05rem; }
  .landing-faq-icon { width:52px; height:52px; }
  .landing-faq-icon .icon { width:26px; height:26px; }
  .landing-faq-item .accordion-body { padding:0 65px 26px 106px; font-size:1rem; }
}
@media(min-width:1200px) {
  .landing-section-copy .eyebrow { font-size:.8rem; }
  .landing-section-copy p { font-size:1.25rem; }
  .landing-outline-btn { font-size:1.1rem; padding:16px 26px; }
  .community-statistics { padding:32px 16px; }
}
@media(max-width:399px) {
  .community-statistics { grid-template-columns:minmax(0,1fr); padding:8px 20px; }
  .community-stat { display:flex; align-items:center; gap:18px; padding:18px 0; text-align:start; }
  .community-stat+.community-stat { border-inline-start:0; border-top:1px solid var(--landing-border); }
  .community-stat-icon { flex-shrink:0; margin:0; }
  .community-stat-value { font-size:1.55rem; }
  .community-stat-label { max-width:none; margin:5px 0 0; font-size:.8rem; }
  .landing-faq-toggle { gap:10px; padding-inline:12px; font-size:.85rem; }
  .landing-faq-item .accordion-body { padding-inline:20px; }
}
@media(prefers-reduced-motion:no-preference) {
  .landing-faq-item .collapsing .accordion-body { animation:landing-answer-reveal .35s ease; }
  @keyframes landing-answer-reveal { from { opacity:.3; } to { opacity:1; } }
}
@media(prefers-reduced-motion:reduce) {
  .landing-outline-btn,.landing-outline-btn .icon,.landing-faq-item,.landing-faq-sign::after,.landing-faq-item .collapsing { transition:none; }
}

/* Public earning discovery. Kept separate from the compact member discovery cards. */
.landing-brighten {
  --brighten-pink:#ec1856;
  --brighten-red:#fa504e;
  --brighten-soft:#ffe1eb;
  --brighten-border:#f7dce5;
  --brighten-wheel:#fff0f4;
  --brighten-ticket:#fff5e9;
  --brighten-trophy:#fbe9f2;
  --brighten-shadow:0 12px 32px #bb345508;
  background:radial-gradient(ellipse at 92% 18%,#ffdce740,transparent 44%),radial-gradient(ellipse at 8% 80%,#ffe4ed45,transparent 38%),var(--landing-paper);
}
.landing-brighten.rewards-showcase { padding-block:36px 52px; }
.brighten-intro { display:grid; align-items:center; gap:0; margin-bottom:18px; }
.brighten-copy { position:relative; z-index:1; min-width:0; }
.brighten-badge { display:inline-flex; align-items:center; gap:9px; padding:9px 15px; border-radius:99px; background:linear-gradient(115deg,var(--brighten-wheel),var(--brighten-soft)); color:var(--brighten-pink); font-size:.65rem; font-weight:750; letter-spacing:.15em; line-height:1.4; }
.brighten-badge .icon { width:19px; height:19px; fill:currentColor; stroke-width:1; }
.brighten-copy h2 { margin:20px 0 0; font-size:clamp(2.9rem,12vw,4.5rem); font-weight:800; line-height:1.02; letter-spacing:-.065em; color:var(--ink); }
.brighten-copy h2 span { display:block; width:fit-content; color:var(--brighten-pink); background:linear-gradient(105deg,var(--brighten-pink) 35%,var(--brighten-red)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; padding-bottom:.08em; }
.brighten-underline { display:block; width:52%; max-width:290px; height:auto; margin:0 0 16px; color:color-mix(in srgb,var(--brighten-pink) 38%,var(--landing-paper)); }
.brighten-copy p { max-width:520px; margin:0; color:var(--muted); font-size:.95rem; line-height:1.6; }
.brighten-illustration { min-width:0; width:min(100%,280px); margin:-4px auto -10px; pointer-events:none; }
.brighten-art { display:block; width:100%; height:auto; overflow:visible; }
text:not(:empty) + .brighten-coin-star { display:none; }
.brighten-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.brighten-card { --brighten-card-bg:var(--brighten-wheel); display:flex; align-items:flex-start; min-width:0; padding:10px 10px 14px; border:1px solid var(--brighten-border); border-radius:20px; background:linear-gradient(130deg,color-mix(in srgb,var(--brighten-card-bg) 70%,var(--surface)),var(--brighten-card-bg)); box-shadow:var(--brighten-shadow); color:var(--ink); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; -webkit-tap-highlight-color:transparent; }
.brighten-card-ticket { --brighten-card-bg:var(--brighten-ticket); }
.brighten-card-trophy { --brighten-card-bg:var(--brighten-trophy); }
.brighten-card-art { width:calc(100% + 14px); align-self:center; aspect-ratio:280/220; margin:-2px -7px 7px; pointer-events:none; }
.brighten-card-art .reward-art { display:block; width:100%; height:100%; object-fit:contain; transition:transform .3s ease; }
.brighten-card h3 { min-height:2.6em; margin:0 0 6px; font-size:.85rem; font-weight:800; letter-spacing:-.04em; line-height:1.3; color:var(--ink); }
.brighten-card p { flex:1; margin:0 0 13px; color:var(--muted); font-size:.75rem; line-height:1.45; }
.brighten-card-arrow { display:grid; place-items:center; flex:none; width:32px; height:32px; border-radius:50%; background:var(--brighten-soft); color:var(--brighten-pink); transition:background-color .22s ease,color .22s ease; }
.brighten-card-arrow .icon { width:20px; height:20px; stroke-width:2.2; }
.brighten-card:focus-visible { outline:3px solid var(--brighten-pink); outline-offset:4px; }
.brighten-card:active { transform:scale(.98); }
[data-bs-theme=dark] .landing-brighten { --brighten-pink:#ff94ba; --brighten-red:#ffb1a1; --brighten-soft:#57283c; --brighten-border:#633145; --brighten-wheel:#38202b; --brighten-ticket:#3b2b24; --brighten-trophy:#352235; --brighten-shadow:var(--shadow); background:radial-gradient(ellipse at 90% 20%,#8f275220,transparent 48%),var(--landing-paper); }
[data-bs-theme=dark] .brighten-art-glow { opacity:.3; }
@media(min-width:576px) {
  .brighten-intro { grid-template-columns:1.1fr 1fr; gap:8px; margin-bottom:24px; }
  .brighten-copy h2 { font-size:clamp(2.9rem,7.7vw,4.6rem); }
  .brighten-copy p { font-size:.95rem; }
  .brighten-illustration { width:112%; max-width:570px; margin:0 0 0 -8%; }
  .brighten-cards { gap:16px; }
  .brighten-card { padding:18px 18px 22px; border-radius:24px; }
  .brighten-card-art { margin-bottom:14px; }
  .brighten-card h3 { min-height:0; font-size:1.1rem; margin-bottom:12px; }
  .brighten-card p { font-size:.9rem; line-height:1.55; margin-bottom:20px; }
  .brighten-card-arrow { width:42px; height:42px; }
  .brighten-card-arrow .icon { width:23px; height:23px; }
}
@media(min-width:768px) {
  .landing-brighten.rewards-showcase { padding-block:52px 72px; }
  .brighten-intro { margin-bottom:34px; }
  .brighten-badge { font-size:.75rem; padding:11px 20px; gap:12px; }
  .brighten-badge .icon { width:23px; height:23px; }
  .brighten-copy h2 { margin-top:26px; font-size:clamp(3.6rem,7.7vw,6.6rem); }
  .brighten-underline { margin-bottom:23px; }
  .brighten-copy p { font-size:1.1rem; }
  .brighten-card { padding:20px 26px 26px; border-radius:28px; }
  .brighten-card-art { width:calc(100% + 26px); margin:-4px -13px 16px; max-width:330px; }
  .brighten-card h3 { font-size:clamp(1.25rem,2.3vw,1.8rem); }
  .brighten-card p { max-width:260px; font-size:1.05rem; margin-bottom:24px; }
  .brighten-card-arrow { width:48px; height:48px; }
}
@media(min-width:1200px) {
  .landing-brighten.rewards-showcase { padding-block:64px 88px; }
  .brighten-intro { gap:20px; margin-bottom:40px; }
  .brighten-badge { font-size:.88rem; padding:13px 24px; }
  .brighten-copy h2 { margin-top:32px; }
  .brighten-copy p { font-size:1.25rem; }
  .brighten-cards { gap:26px; }
  .brighten-card { padding:24px 34px 30px; }
  .brighten-card p { font-size:1.18rem; }
  .brighten-card-arrow { width:56px; height:56px; }
  .brighten-card-arrow .icon { width:27px; height:27px; }
}
@media(max-width:359px) {
  .brighten-cards { grid-template-columns:minmax(0,1fr); gap:10px; }
  .brighten-card { display:grid; grid-template-columns:78px minmax(0,1fr) 32px; grid-template-rows:auto auto; align-items:center; gap:4px 10px; padding:12px; border-radius:20px; }
  .brighten-card-art { grid-row:1/3; width:90px; margin:0 -6px; }
  .brighten-card h3 { align-self:end; min-height:0; margin:0; font-size:.95rem; }
  .brighten-card p { grid-column:2; align-self:start; margin:0; font-size:.8rem; }
  .brighten-card-arrow { grid-column:3; grid-row:1/3; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .brighten-card:hover { color:var(--ink); transform:translateY(-5px); border-color:color-mix(in srgb,var(--brighten-pink) 28%,var(--brighten-border)); box-shadow:0 18px 36px color-mix(in srgb,var(--brand-solid) 12%,transparent); }
  .brighten-card:hover .reward-art { transform:scale(1.045) rotate(-2deg); }
}
@media(hover:hover) {
  .brighten-card:hover .brighten-card-arrow { background:var(--brighten-pink); color:var(--surface); }
}
@media(prefers-reduced-motion:no-preference) {
  .brighten-float { animation:brighten-float 5s ease-in-out infinite; }
  .brighten-float-late { animation-delay:-2.5s; }
  @keyframes brighten-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
}
@media(prefers-reduced-motion:reduce) {
  .brighten-card,.brighten-card-art .reward-art,.brighten-card-arrow { transition:none; }
  .brighten-card:active { transform:none; }
}

/* Landing payouts and earning journey. Provider colors belong to their logos. */
.landing-payouts { padding-block:48px 32px; }
.landing-how { padding-block:32px 56px; }
.landing-payout-intro { display:grid; align-items:center; gap:12px; margin-bottom:24px; }
.landing-earning-copy { min-width:0; text-align:center; }
.landing-earning-copy .eyebrow { display:inline-flex; align-items:center; gap:12px; margin:0; color:var(--brand); font-size:.7rem; letter-spacing:.12em; }
.landing-earning-copy .eyebrow::before { content:''; width:28px; height:3px; border-radius:2px; background:currentColor; }
.landing-earning-copy h2 { margin:20px 0 16px; color:var(--ink); font-size:clamp(2.125rem,8.5vw,2.625rem); font-weight:800; line-height:1.08; letter-spacing:-.055em; }
.landing-earning-copy h2 span { color:var(--brand); }
.landing-earning-copy p { max-width:480px; margin:0 auto; color:var(--muted); font-size:1rem; line-height:1.55; }
.landing-wallet-art { position:relative; isolation:isolate; width:min(100%,260px); margin:auto; pointer-events:none; }
.landing-wallet-art::before { content:''; position:absolute; z-index:-1; inset:7%; border-radius:50%; background:radial-gradient(circle at 50% 45%,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 35%,transparent) 65%,transparent 74%); }
.landing-wallet-art img { display:block; width:100%; height:auto; }
.landing-wallet-strokes { position:absolute; inset:0; width:100%; height:100%; color:var(--brand); }
.landing-payout-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap:12px; }
.landing-payout-card,.landing-journey-card { min-width:0; border:1px solid var(--landing-border); border-radius:24px; background:var(--surface); box-shadow:0 8px 32px color-mix(in srgb,var(--brand-solid) 4%,transparent); text-align:center; transition:transform .225s ease,box-shadow .225s ease,border-color .225s ease; }
.landing-payout-card { align-items:center; padding:20px 12px; }
.landing-method-icon { display:grid; place-items:center; width:72px; height:72px; margin-bottom:14px; border-radius:50%; }
.landing-method-icon img { width:42px; height:42px; object-fit:contain; }
.landing-method-paypal { background:#e7f5ff; }
.landing-method-cashapp { background:#e6fbed; }
.landing-method-skrill { background:#f6e7fc; }
.landing-method-skrill img { width:58px; }
.landing-method-crypto { background:#fff2e5; }
.landing-payout-card h3 { margin:0 0 9px; font-size:1.05rem; font-weight:800; letter-spacing:-.035em; }
.landing-payout-card p { margin:0; max-width:205px; color:var(--muted); font-size:.875rem; line-height:1.5; }
.landing-how-copy { margin-bottom:26px; }
.landing-how-copy p { max-width:none; }
.landing-journey-grid { display:grid; gap:16px; list-style:none; padding:0; margin:0; }
.landing-journey-card { position:relative; display:grid; grid-template-columns:72px minmax(0,1fr); gap:8px 14px; padding:20px 16px; text-align:start; }
.landing-journey-art { position:relative; isolation:isolate; align-self:start; width:72px; height:80px; }
.landing-journey-art::before { content:''; position:absolute; z-index:-1; inset:5px 0; border-radius:50%; background:color-mix(in srgb,var(--brand-soft) 65%,var(--surface)); }
.landing-journey-art img { display:block; width:100%; height:100%; object-fit:contain; }
.landing-journey-number { display:block; margin-bottom:6px; color:var(--brand); font-size:.9rem; font-weight:750; }
.landing-journey-copy { min-width:0; }
.landing-journey-card h3 { margin:0 0 10px; font-size:1.125rem; font-weight:800; line-height:1.25; letter-spacing:-.035em; }
.landing-journey-card p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.5; }
.landing-journey-action { grid-column:2; display:grid; place-items:center; align-self:end; width:44px; height:44px; border-radius:50%; background:color-mix(in srgb,var(--brand-soft) 65%,var(--surface)); color:var(--brand); transition:background-color .225s ease,color .225s ease; }
.landing-journey-action .icon { width:24px; height:24px; transition:transform .225s ease; }
.landing-journey-action:focus-visible { outline:3px solid var(--brand); outline-offset:4px; }
@media(min-width:576px) {
  .landing-payout-grid { gap:20px; }
  .landing-payout-card { padding:28px 22px; }
  .landing-method-icon { width:96px; height:96px; }
  .landing-method-icon img { width:56px; height:56px; }
  .landing-method-skrill img { width:76px; }
  .landing-payout-card h3 { font-size:1.3rem; }
  .landing-payout-card p { font-size:1rem; }
  .landing-journey-card { grid-template-columns:110px minmax(0,1fr) 44px; align-items:center; padding:24px; gap:20px; }
  .landing-journey-art { align-self:center; width:110px; height:110px; }
  .landing-journey-action { grid-column:3; align-self:center; }
}
@media(min-width:768px) {
  .landing-payouts { padding-block:64px 40px; }
  .landing-how { padding-block:40px 72px; }
  .landing-payout-intro { grid-template-columns:1.15fr 1fr; gap:16px; margin-bottom:32px; }
  .landing-earning-copy { text-align:start; }
  .landing-earning-copy .eyebrow { font-size:.8rem; }
  .landing-earning-copy h2 { font-size:clamp(2.75rem,5.2vw,4rem); }
  .landing-earning-copy p { margin-inline:0; font-size:1.125rem; }
  .landing-wallet-art { width:100%; max-width:460px; }
  .landing-how-copy { margin-bottom:32px; }
}
@media(min-width:992px) {
  .landing-payout-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .landing-payout-card { padding:28px 20px 32px; }
  .landing-method-icon { width:108px; height:108px; margin-bottom:18px; }
  .landing-method-icon img { width:62px; height:62px; }
  .landing-method-skrill img { width:86px; }
  .landing-payout-card h3 { font-size:1.4rem; }
  .landing-journey-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
  .landing-journey-card { display:flex; flex-direction:column; gap:0; padding:28px; border-radius:28px; text-align:center; }
  .landing-journey-art { flex-shrink:0; width:148px; height:148px; margin-bottom:16px; }
  .landing-journey-number { font-size:1.1rem; margin-bottom:8px; }
  .landing-journey-card h3 { max-width:240px; margin:0 auto 12px; font-size:1.5rem; }
  .landing-journey-card p { font-size:1.05rem; line-height:1.5; }
  .landing-journey-copy { flex:1; margin-bottom:24px; }
  .landing-journey-action { flex-shrink:0; align-self:center; width:52px; height:52px; }
  .landing-journey-card:not(:last-child)::before { content:''; position:absolute; top:50%; left:calc(100% + 1px); width:30px; border-top:2px dotted color-mix(in srgb,var(--brand) 25%,var(--surface)); }
  .landing-journey-card:not(:last-child)::after { content:''; position:absolute; top:calc(50% - 5px); left:calc(100% + 17px); width:12px; height:12px; border-top:2px solid color-mix(in srgb,var(--brand) 65%,var(--surface)); border-right:2px solid color-mix(in srgb,var(--brand) 65%,var(--surface)); transform:rotate(45deg); }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .landing-payout-card:hover,.landing-journey-card:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--brand) 30%,var(--surface)); box-shadow:0 14px 34px color-mix(in srgb,var(--brand-solid) 9%,transparent); }
  .landing-journey-action:hover { color:var(--brand-hover); background:var(--brand-soft); }
  .landing-journey-action:hover .icon { transform:translateX(3px); }
}
@media(prefers-reduced-motion:reduce) {
  .landing-payout-card,.landing-journey-card,.landing-journey-action,.landing-journey-action .icon { transition:none; }
}

/* Give unusually long currency strings full rows on small screens. */
.community-statistics-wide .community-stat-value { font-size:clamp(1rem,2vw,1.8rem); }
@media(min-width:400px) and (max-width:767px) {
  .community-statistics-wide { grid-template-columns:minmax(0,1fr); padding:8px 20px; }
  .community-statistics-wide .community-stat { display:flex; align-items:center; gap:18px; padding:18px 0; text-align:start; }
  .community-statistics-wide .community-stat+.community-stat { border-inline-start:0; border-top:1px solid var(--landing-border); }
  .community-statistics-wide .community-stat-icon { flex-shrink:0; margin:0; }
  .community-statistics-wide .community-stat-label { max-width:none; margin:5px 0 0; font-size:.8rem; }
}

/* Landing recent payouts: live HTML inside a decorative, floating phone. */
.recent-payouts { --recent-border:color-mix(in srgb,var(--brand) 15%,var(--surface)); --recent-green:#078443; overflow:hidden; background:radial-gradient(ellipse at 85% 25%,var(--brand-soft),transparent 48%),var(--paper); }
[data-bs-theme=dark] .recent-payouts { --recent-green:#85dcaa; }
.recent-layout { display:grid; gap:22px; align-items:center; }
.recent-copy { min-width:0; text-align:center; }
.recent-copy .eyebrow { color:var(--brand); font-size:.72rem; letter-spacing:.18em; display:inline-flex; align-items:center; gap:14px; }
.recent-copy .eyebrow::before { content:''; width:28px; height:2px; background:currentColor; }
.recent-copy h2 { margin:22px 0 20px; font-size:clamp(2.25rem,10vw,2.75rem); font-weight:800; line-height:1.05; letter-spacing:-.055em; }
.recent-copy h2>span { color:var(--brand); }
.recent-description { max-width:480px; margin:0 auto 24px; color:var(--muted); font-size:1rem; line-height:1.65; }
.recent-features { display:grid; gap:18px; max-width:440px; padding:0; margin:0 auto 26px; list-style:none; text-align:start; }
.recent-features li { display:flex; align-items:center; gap:14px; }
.recent-feature-icon { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border-radius:50%; background:var(--brand-soft); color:var(--brand); }
.recent-feature-icon .icon { width:23px; height:23px; }
.recent-features h3 { font-size:.95rem; line-height:1.35; margin:0 0 4px; font-weight:800; letter-spacing:-.025em; }
.recent-features p { margin:0; font-size:.82rem; color:var(--muted); line-height:1.5; }
.recent-cta { min-height:54px; padding:14px 24px; font-size:1rem; font-weight:700; box-shadow:0 12px 24px color-mix(in srgb,var(--brand-solid) 15%,transparent); background:var(--brand-solid); border-color:var(--brand-solid); color:white; transition:transform .2s,background-color .2s; }
.recent-cta:hover { transform:translateY(-2px); background:var(--brand-strong); color:white; }
.recent-scene { position:relative; width:min(100%,360px); height:440px; margin:0 auto; isolation:isolate; }
.recent-scene::before { content:''; position:absolute; inset:10% -8% 0; z-index:-1; background:radial-gradient(ellipse,var(--rose),transparent 68%); }
.recent-phone-float { position:absolute; width:76%; left:16%; top:80px; animation:recent-float 7s ease-in-out infinite; }
.recent-phone { position:relative; padding:9px; border-radius:35px; background:linear-gradient(120deg,#ffc3d0,#ff6f91 45%,var(--brand-solid) 100%); box-shadow:7px 4px 0 #d92d54,10px 8px 0 #f15a7c,18px 25px 38px color-mix(in srgb,var(--brand-solid) 20%,transparent),inset 1px 1px 2px white; transform:perspective(1000px) rotateY(-7deg) rotateZ(6deg); }
.recent-phone::after { content:''; position:absolute; right:-7px; top:95px; height:43px; width:4px; border-radius:3px; background:#cf224c; box-shadow:1px 1px 1px #ffa2b7; }
.recent-phone-screen { position:relative; min-height:313px; padding:31px 10px 22px; border-radius:27px; background:linear-gradient(145deg,var(--surface),var(--paper)); border:1px solid color-mix(in srgb,var(--surface) 75%,transparent); }
.recent-phone-notch { position:absolute; z-index:2; top:8px; left:32%; width:36%; height:16px; background:#ff7c99; border-radius:0 0 11px 11px; }
.recent-phone-notch::after { content:''; position:absolute; width:30px; height:4px; top:4px; left:calc(50% - 15px); border-radius:3px; background:#bd2448; box-shadow:0 1px 0 #ffa8ba; }
.recent-phone-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:12px; }
.recent-phone-heading h3 { margin:0; font-size:1rem; font-weight:800; }
.recent-online { width:9px; height:9px; border-radius:50%; background:#18b775; box-shadow:0 0 0 7px var(--mint); margin-right:7px; }
.recent-phone-list { padding:0; margin:0; list-style:none; border-radius:16px; overflow:hidden; background:var(--surface); }
.recent-phone-row { display:grid; grid-template-columns:32px minmax(0,1fr) minmax(55px,auto); grid-template-areas:'avatar name amount' 'avatar method paid'; gap:3px 7px; align-items:center; padding:12px 6px; border-bottom:1px solid var(--recent-border); min-height:58px; }
.recent-phone-row:last-child { border:0; }
.recent-phone-row:nth-child(n+5) { display:none; }
.recent-phone-row .recent-avatar { grid-area:avatar; width:32px; height:32px; font-size:.65rem; }
.recent-phone-row .recent-name { grid-area:name; font-size:.68rem; }
.recent-phone-row .recent-method { grid-area:method; justify-content:start; font-size:.62rem; gap:3px; }
.recent-phone-row .recent-provider { width:13px; height:13px; }
.recent-phone-row .recent-amount { grid-area:amount; font-size:.78rem; text-align:end; max-width:110px; }
.recent-phone-row .recent-paid { grid-area:paid; justify-self:end; font-size:.6rem; padding:2px 7px; }
.recent-phone-home { position:absolute; bottom:8px; left:35%; width:30%; height:3px; background:var(--line); border-radius:3px; }
.recent-confirmation { position:absolute; z-index:3; top:16px; left:23%; display:flex; align-items:center; gap:10px; padding:14px 16px; border-radius:19px; background:var(--surface); border:1px solid var(--recent-border); box-shadow:4px 6px 0 color-mix(in srgb,var(--rose) 65%,transparent),0 15px 30px color-mix(in srgb,var(--brand-solid) 9%,transparent); transform:rotate(-10deg); animation:recent-confirm .65s ease both; white-space:nowrap; }
.recent-confirmation>span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:white; background:linear-gradient(135deg,#75dfa0,#11ab68); box-shadow:inset 1px 1px 2px #9ff1c0; }
.recent-confirmation strong { display:block; font-size:.95rem; font-weight:800; letter-spacing:-.025em; }
.recent-confirmation small { display:block; color:var(--muted); font-size:.7rem; margin-top:2px; }
.recent-wallet { position:absolute; z-index:3; width:47%; height:auto; bottom:-5px; left:-5%; transform:rotate(-8deg); pointer-events:none; }
.recent-coin { position:absolute; z-index:3; display:grid; place-items:center; border-radius:50%; width:65px; height:75px; background:linear-gradient(125deg,#fff5ad,#ffcf3e 48%,#ff9c10); border:3px solid #ffeb87; box-shadow:5px 4px 0 #f5a01b,8px 6px 0 #ffaf21,12px 16px 22px #c77c1922,inset 2px 2px 4px #fff8d8; color:#fff6ba; font-size:40px; font-weight:800; text-shadow:1px 2px 0 #d9931a; transform:rotate(-24deg); animation:recent-coin-float 8s ease-in-out infinite; }
.recent-coin::before { content:''; position:absolute; inset:6px; border:2px solid #e7a01e; border-radius:50%; box-shadow:inset 1px 1px 1px #fff9d6; }
.recent-coin-one { top:91px; left:4%; }
.recent-coin-two { right:0; top:66%; width:70px; height:88px; animation-delay:-3s; transform:rotate(20deg); }
.recent-spark { position:absolute; color:#ffca4a; font-size:40px; text-shadow:1px 1px 0 #fff3b9; animation:recent-sparkle 4s ease-in-out infinite; }
.recent-spark-one { right:0; top:90px; }.recent-spark-two { left:1%; top:57%; font-size:25px; animation-delay:-2s; }
.recent-strokes { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:var(--brand); stroke-width:5; stroke-linecap:round; pointer-events:none; }
.recent-carousel { margin-top:32px; padding:18px 14px 12px; border:1px solid var(--recent-border); border-radius:26px; background:color-mix(in srgb,var(--surface) 65%,transparent); box-shadow:0 10px 35px color-mix(in srgb,var(--brand-solid) 4%,transparent); min-width:0; }
.recent-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.recent-toolbar h3 { display:flex; align-items:center; gap:9px; margin:0; font-family:inherit; color:var(--brand); font-size:.65rem; font-weight:750; letter-spacing:.1em; line-height:1.6; }
.recent-toolbar h3>span { width:9px; height:9px; flex-shrink:0; border-radius:50%; background:var(--brand-solid); }
.recent-viewport { overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; border-radius:14px; }
.recent-viewport::-webkit-scrollbar { display:none; }
.recent-viewport:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.recent-track { position:relative; display:flex; gap:14px; width:100%; padding:6px 2px 14px; margin:0; list-style:none; }
.recent-viewport.is-ticking { overflow-x:hidden; }
.recent-viewport.is-ticking .recent-track { animation:recent-ticker var(--recent-duration) linear infinite; animation-delay:var(--recent-delay,0s); will-change:transform; }
.recent-viewport.is-manual { overflow-x:auto; }
.recent-viewport.is-manual .recent-track { animation:none; transform:none; }
.recent-carousel.is-offscreen .recent-track,.recent-carousel.is-tab-hidden .recent-track { animation-play-state:paused; }
@media(hover:hover) and (pointer:fine) { .recent-carousel:hover .recent-track { animation-play-state:paused; } }
@keyframes recent-ticker { from { transform:translate3d(0,0,0); } to { transform:translate3d(calc(-1 * var(--recent-cycle)),0,0); } }
.recent-card { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; flex:0 0 82%; min-width:0; padding:23px 16px 19px; min-height:270px; scroll-snap-align:start; border:1px solid var(--recent-border); border-radius:22px; background:var(--surface); box-shadow:0 5px 14px color-mix(in srgb,var(--brand-solid) 4%,transparent); overflow:hidden; text-align:center; }
.recent-flag { position:absolute; z-index:-1; width:145px; height:90px; top:8px; left:50%; transform:translateX(-50%); opacity:.3; filter:blur(2px); mask-image:radial-gradient(ellipse at 50% 25%,#000 25%,transparent 72%); }
.recent-flag img { width:100%; height:100%; object-fit:cover; }
.recent-avatar { position:relative; display:grid; place-items:center; width:50px; height:50px; flex-shrink:0; border:3px solid var(--surface); border-radius:50%; background:var(--brand-soft); color:var(--brand); font-size:1rem; font-weight:800; overflow:hidden; }
.recent-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.recent-name { display:block; max-width:100%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:1rem; font-weight:750; letter-spacing:-.025em; }
.recent-card .recent-name { margin-top:14px; }
.recent-method { display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; max-width:100%; color:var(--muted); font-size:.85rem; }
.recent-method>span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recent-provider { display:inline-flex; flex-shrink:0; align-items:center; width:22px; height:22px; }
.recent-provider img,.recent-provider .icon { width:100%; height:100%; object-fit:contain; }
.recent-provider-skrill { width:30px; }
.recent-card .recent-method { margin-top:5px; }
.recent-amount { color:var(--recent-green); font-variant-numeric:tabular-nums; font-weight:800; line-height:1.25; overflow-wrap:anywhere; min-width:0; max-width:100%; }
.recent-card .recent-amount { margin:16px 0 10px; font-size:1.65rem; letter-spacing:-.04em; }
.recent-paid { display:inline-block; color:var(--recent-green); background:var(--mint); padding:4px 14px; border-radius:10px; font-size:.78rem; line-height:1.4; }
.recent-time { display:block; color:var(--muted); font-size:.7rem; margin-top:auto; padding-top:16px; }
.recent-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:270px; text-align:center; padding:18px; color:var(--muted); }
.recent-empty strong { color:var(--ink); }.recent-empty p { margin:8px 0 0; font-size:.85rem; }
.recent-phone .recent-empty { min-height:230px; }.recent-phone .recent-empty p { font-size:.7rem; }
.recent-skeleton .placeholder { display:block; border-radius:9px; background:var(--line); animation:recent-shimmer 1.8s ease-in-out infinite; }
.recent-skeleton .recent-avatar { border-radius:50%; }.recent-skeleton-name { width:80%; height:14px; margin-top:15px; }.recent-skeleton-amount { width:65%; height:26px; margin-top:25px; }.recent-skeleton-badge { width:48px; height:24px; margin-top:12px; }
.recent-phone-row.recent-skeleton { grid-template-areas:'avatar name amount' 'avatar badge badge'; }
.recent-phone-row .recent-skeleton-name { grid-area:name; height:9px; margin:0; width:100%; }.recent-phone-row .recent-skeleton-amount { grid-area:amount; height:12px; margin:0; width:100%; }.recent-phone-row .recent-skeleton-badge { grid-area:badge; height:9px; margin:0; }
.recent-payouts [hidden] { display:none!important; }
@media(min-width:576px) {
  .recent-card { flex-basis:calc((100% - 14px)/2.3); }
  .recent-toolbar h3 { font-size:.72rem; }
  .recent-carousel { padding:22px; }
}
@media(min-width:768px) {
  .recent-scene { width:420px; height:540px; }
  .recent-phone-float { top:100px; }.recent-phone-screen { min-height:385px; padding:40px 13px 28px; }
  .recent-phone-row:nth-child(n+5) { display:grid; }.recent-phone-row { min-height:60px; }
  .recent-confirmation { padding:19px 22px; top:24px; }.recent-confirmation strong { font-size:1.15rem; }.recent-confirmation small { font-size:.8rem; }
  .recent-card { flex-basis:calc((100% - 28px)/3); }
}
@media(min-width:992px) {
  .recent-layout { grid-template-columns:1fr 1fr; gap:20px; }
  .recent-copy { text-align:start; }.recent-copy h2 { font-size:clamp(3.4rem,5vw,4.25rem); margin-top:24px; }
  .recent-copy .eyebrow { font-size:.8rem; }.recent-description { font-size:1.1rem; margin:0 0 30px; }
  .recent-features { margin:0 0 30px; gap:22px; }.recent-feature-icon { width:54px; height:54px; }.recent-feature-icon .icon { width:27px; height:27px; }
  .recent-features h3 { font-size:1.1rem; }.recent-features p { font-size:.95rem; }
  .recent-scene { width:100%; max-width:530px; height:650px; }
  .recent-phone-float { top:130px; width:76%; left:15%; }.recent-phone { padding:12px; border-radius:46px; }.recent-phone-screen { border-radius:35px; min-height:439px; padding:48px 15px 36px; }
  .recent-phone-notch { top:11px; height:22px; }.recent-phone-notch::after { top:7px; }
  .recent-phone-heading h3 { font-size:1.2rem; }.recent-phone-heading { margin-bottom:18px; }
  .recent-phone-row { grid-template-columns:39px minmax(0,1fr) minmax(65px,auto); padding:13px 8px; gap:4px 8px; min-height:67px; }
  .recent-phone-row .recent-avatar { width:39px; height:39px; }.recent-phone-row .recent-name { font-size:.78rem; }.recent-phone-row .recent-method { font-size:.72rem; }.recent-phone-row .recent-provider { width:16px; height:16px; }.recent-phone-row .recent-amount { font-size:.9rem; }.recent-phone-row .recent-paid { font-size:.68rem; }
  .recent-confirmation { top:25px; left:27%; padding:22px 25px; border-radius:25px; gap:15px; }.recent-confirmation>span { width:43px; height:43px; }.recent-confirmation strong { font-size:1.4rem; }.recent-confirmation small { font-size:.85rem; }
  .recent-wallet { width:48%; bottom:-12px; left:-4%; }.recent-coin-one { top:140px; width:75px; height:88px; }.recent-coin-two { width:86px; height:106px; right:-1%; top:61%; font-size:49px; }
  .recent-spark-one { top:115px; font-size:50px; }.recent-spark-two { top:57%; font-size:40px; }
  .recent-carousel { margin-top:48px; padding:24px 24px 16px; }.recent-toolbar h3 { font-size:.8rem; letter-spacing:.13em; }
  .recent-card { flex-basis:calc((100% - 42px)/4); min-height:285px; }.recent-avatar { width:56px; height:56px; }
}
@media(min-width:1200px) { .recent-card { flex-basis:calc((100% - 56px)/5); }.recent-phone-row .recent-name { font-size:.85rem; }.recent-phone-row .recent-amount { font-size:1rem; } }
@keyframes recent-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes recent-coin-float { 0%,100% { translate:0 0; } 50% { translate:0 -11px; } }
@keyframes recent-sparkle { 0%,100% { opacity:.55; scale:.85; } 50% { opacity:1; scale:1; } }
@keyframes recent-confirm { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
@keyframes recent-shimmer { 0%,100% { opacity:.4; } 50% { opacity:.8; } }
@media(prefers-reduced-motion:reduce) {
  .recent-viewport { overflow-x:auto!important; }
  .recent-track [data-ticker-copy] { display:none; }
  .recent-track { transform:none!important; will-change:auto!important; }
  .recent-payouts * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Landing desktop proportions. Keep the established tablet/mobile layouts intact.
   Shared shell and floating surfaces are scoped to the mounted home hero so
   navigating to another public or member route restores their existing sizing. */
@media(min-width:1024px) {
  body:has(.hero-centered) {
    --landing-content-width:1200px;
    --landing-heading-size:clamp(2.25rem,3.5vw,2.75rem);
    --landing-body-size:1rem;
    --landing-card-gap:24px;
    --landing-card-padding:24px;
    --landing-card-radius:24px;
    --landing-cta-height:48px;
  }
  body:has(.hero-centered) .container-xl { max-width:var(--landing-content-width); }

  .hero.hero-centered { padding:44px 0 28px; }
  .hero-centered::before,.hero-centered::after { width:clamp(280px,36vw,560px); bottom:-104px; }
  .hero-intro { padding:8px 16px; margin-bottom:20px; }
  .hero.hero-centered .hero-title { font-size:clamp(3rem,4.5vw,4rem); line-height:1.08; }
  .hero-underline { width:190px; margin:6px 0 18px; }
  .hero-description { max-width:560px; font-size:1.0625rem; }
  .hero-actions { gap:12px; margin-top:24px; }
  .hero-actions .btn { min-width:0; min-height:var(--landing-cta-height); padding:12px 24px; font-size:.9375rem; border-radius:13px; }
  .hero-actions .btn .icon { width:20px; height:20px; }
  .hero-visual { width:min(100%,600px); margin-top:28px; }

  .landing-earning-copy h2,.landing-section-copy h2,.recent-copy h2 { font-size:var(--landing-heading-size); line-height:1.1; margin:16px 0 18px; }
  .landing-earning-copy p,.landing-section-copy p,.recent-description { font-size:var(--landing-body-size); line-height:1.6; }
  .landing-payouts { padding-block:48px 32px; }
  #how-it-works.landing-how { padding-block:32px 56px; }
  .landing-payout-intro { gap:24px; margin-bottom:24px; }
  .landing-wallet-art { max-width:360px; }
  .landing-payout-grid,.landing-journey-grid { gap:var(--landing-card-gap); }
  .landing-payout-card,.landing-journey-card { padding:var(--landing-card-padding); border-radius:var(--landing-card-radius); }
  .landing-method-icon { width:80px; height:80px; margin-bottom:14px; }
  .landing-method-icon img { width:48px; height:48px; }
  .landing-method-skrill img { width:64px; }
  .landing-payout-card h3 { font-size:1.25rem; }
  .landing-payout-card p { font-size:.9375rem; }
  .landing-how-copy { margin-bottom:28px; }
  .landing-journey-art { width:116px; height:116px; margin-bottom:12px; }
  .landing-journey-number { font-size:.875rem; margin-bottom:6px; }
  .landing-journey-card h3 { font-size:1.25rem; margin-bottom:10px; }
  .landing-journey-card p { font-size:.9375rem; }
  .landing-journey-copy { margin-bottom:20px; }
  .landing-journey-action { width:44px; height:44px; }
  .landing-journey-card:not(:last-child)::before { width:calc(var(--landing-card-gap) - 2px); }
  .landing-journey-card:not(:last-child)::after { left:calc(100% + var(--landing-card-gap) - 15px); }

  .recent-payouts { padding-block:56px; }
  .recent-layout { gap:24px; }
  .recent-description { margin-bottom:24px; }
  .recent-features { gap:18px; margin-bottom:24px; }
  .recent-feature-icon { width:44px; height:44px; }
  .recent-feature-icon .icon { width:23px; height:23px; }
  .recent-features h3 { font-size:1rem; }
  .recent-features p { font-size:.9375rem; }
  .recent-cta,.landing-outline-btn { min-height:var(--landing-cta-height); padding:11px 24px; font-size:.9375rem; border-radius:13px; gap:14px; }
  .recent-scene { max-width:420px; height:520px; }
  .recent-phone-float { top:104px; }
  .recent-phone { padding:10px; border-radius:37px; }
  .recent-phone-screen { min-height:360px; padding:38px 12px 28px; border-radius:28px; }
  .recent-phone-notch { top:9px; height:18px; }
  .recent-phone-notch::after { top:5px; }
  .recent-phone-heading { margin-bottom:12px; }
  .recent-phone-heading h3 { font-size:1rem; }
  .recent-phone-row { grid-template-columns:32px minmax(0,1fr) minmax(60px,auto); padding:9px 6px; gap:3px 6px; min-height:56px; }
  .recent-phone-row .recent-avatar { width:32px; height:32px; }
  .recent-phone-row .recent-name { font-size:.75rem; }
  .recent-phone-row .recent-method { font-size:.6875rem; }
  .recent-phone-row .recent-amount { font-size:.875rem; }
  .recent-confirmation { top:20px; padding:16px 20px; border-radius:20px; gap:12px; }
  .recent-confirmation>span { width:36px; height:36px; }
  .recent-confirmation strong { font-size:1.125rem; }
  .recent-confirmation small { font-size:.75rem; }
  .recent-coin-one { top:112px; width:60px; height:70px; font-size:32px; }
  .recent-coin-two { width:68px; height:84px; font-size:39px; }
  .recent-spark-one { top:92px; font-size:40px; }
  .recent-spark-two { font-size:32px; }
  .recent-carousel { margin-top:32px; padding:20px 20px 12px; border-radius:var(--landing-card-radius); }
  .recent-card { min-height:240px; padding:20px 16px 16px; }
  .recent-card .recent-avatar { width:46px; height:46px; }
  .recent-card .recent-name { margin-top:10px; }
  .recent-card .recent-amount { margin:12px 0 8px; font-size:1.5rem; }
  .recent-time { padding-top:12px; }
  .recent-empty { min-height:240px; }

  .landing-community { padding-block:48px 28px; }
  .landing-faq { padding-block:32px 64px; }
  .landing-section-intro { gap:24px; margin-bottom:20px; }
  .landing-section-art { max-width:360px; }
  .landing-section-copy p { margin-bottom:20px; }
  .landing-highlight::after { bottom:-7px; height:6px; }
  .community-statistics { padding:24px 16px; border-radius:var(--landing-card-radius); }
  .community-stat-icon { width:52px; height:52px; font-size:2rem; margin-bottom:14px; }
  .community-stat-icon .icon { width:26px; height:26px; }
  .community-stat-value { font-size:clamp(1.65rem,2.8vw,2.125rem); }
  .community-stat-label { font-size:.9375rem; }
  .landing-faq-toggle { min-height:72px; padding:14px 24px; gap:20px; font-size:1rem; }
  .landing-faq-icon { width:42px; height:42px; }
  .landing-faq-icon .icon { width:22px; height:22px; }
  .landing-faq-item .accordion-body { padding:0 62px 22px 86px; font-size:.9375rem; }

  .cta-band { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); padding:44px; gap:24px; border-radius:28px; }
  .cta-band h2 { font-size:clamp(2.25rem,3.3vw,2.75rem); }
  .cta-band p { font-size:1rem; margin-bottom:24px; }
  .cta-underline { max-width:260px; margin-block:10px 16px; }
  .cta-band .btn { min-width:0; min-height:var(--landing-cta-height); padding:12px 24px; font-size:.9375rem; gap:16px; }
  .cta-band .btn .icon { width:22px; height:22px; }
  .cta-illustration { width:min(100%,360px); margin-inline:auto; }

  /* Preserve the short-window fallback as well as the phone and install controls. */
  @media(min-height:551px) {
    body:has(.hero-centered) .install-banner { max-width:480px; left:auto; right:max(24px,env(safe-area-inset-right)); bottom:calc(24px + env(safe-area-inset-bottom)); width:480px; margin:0; padding:16px; }
    body:has(.hero-centered) .install-main { width:68%; }
    body:has(.hero-centered) .install-brand { gap:10px; }
    body:has(.hero-centered) .install-app-icon { width:44px; height:44px; border-radius:12px; }
    body:has(.hero-centered) .install-copy strong { font-size:1.125rem; }
    body:has(.hero-centered) .install-benefits { margin:10px 0; }
    body:has(.hero-centered) .install-benefits li { gap:5px; }
    body:has(.hero-centered) .install-benefits li+li { margin-left:6px; padding-left:6px; }
    body:has(.hero-centered) .install-benefits li>span { width:24px; height:24px; }
    body:has(.hero-centered) .install-benefits .icon { width:16px; height:16px; }
    body:has(.hero-centered) .install-button { font-size:.9375rem; }
    body:has(.hero-centered) .install-preview { width:30%; }
    body:has(.hero-centered) .install-phone { top:26px; width:144px; height:246px; padding:4px; border-radius:27px; }
    body:has(.hero-centered) .install-screen { border-width:5px; border-radius:23px; }
    body:has(.hero-centered) .install-phone-status { padding:9px 12px 0; font-size:.52rem; }
    body:has(.hero-centered) .install-phone-island { top:6px; left:50px; width:43px; height:13px; }
    body:has(.hero-centered) .install-phone-apps { grid-template-columns:repeat(3,40px); gap:14px 10px; padding:18px 13px; }
    body:has(.hero-centered) .install-preview-icon { width:40px; height:40px; border-radius:10px; }
    body:has(.hero-centered) .install-phone-apps>div>span { width:46px; font-size:.4rem; margin-left:-3px; }
    body:has(.hero-centered) .install-phone-apps>i { height:40px; border-radius:10px; }
  }

  /* Opposite corners keep both floating cards clear of the hero's copy/actions.
     Keep the shared three-column payout composition, amount emphasis and clock. */
  body:has(.hero-centered) #toast-host:has(.payout) { width:520px; top:auto; bottom:calc(8px + env(safe-area-inset-bottom)); left:max(8px,calc(env(safe-area-inset-left) - 16px)); right:auto; max-height:calc(100dvh - 104px - env(safe-area-inset-bottom)); }
  body:has(.hero-centered) .app-toast.payout { border-radius:24px; }
  body:has(.hero-centered) .app-toast.payout .payout-body { grid-template-columns:90px minmax(0,1fr) 112px; gap:12px; min-height:140px; padding:16px 34px 16px 12px; }
  body:has(.hero-centered) .payout-illustration { width:90px; height:100px; }
  body:has(.hero-centered) .payout-illustration img { width:104px; height:104px; }
  body:has(.hero-centered) .payout-recipient { font-size:14px; }
  body:has(.hero-centered) .payout-amount { font-size:36px; letter-spacing:-1.2px; }
  body:has(.hero-centered) .payout-amount-long { font-size:24px; letter-spacing:-.6px; }
  body:has(.hero-centered) .payout-toast-details { gap:10px; margin-top:16px; padding-inline-start:12px; }
  body:has(.hero-centered) .payout-detail { gap:7px; font-size:12px; }
  body:has(.hero-centered) .payout-provider { width:28px; height:28px; border-radius:8px; }
  body:has(.hero-centered) .payout-provider img { width:20px; height:20px; }
  body:has(.hero-centered) .payout-country-flag { width:24px; height:18px; }
}

/* Account verification — shared API-driven steps, reference-inspired presentation. */
.verification-shell {
  --verification-accent:var(--brand-solid);
  --verification-border:color-mix(in srgb,var(--line) 65%,var(--surface));
  --verification-tint:color-mix(in srgb,var(--brand-soft) 30%,var(--surface));
  max-width:800px;margin:0 auto;background:var(--paper);border-radius:26px;
}
.verification-hero { position:relative;isolation:isolate;overflow:hidden;min-height:228px;padding:36px 36px 58px;border-radius:26px 26px 0 0;color:var(--on-feature);background:linear-gradient(115deg,var(--verification-accent),color-mix(in srgb,var(--verification-accent) 72%,var(--coral))); }
.verification-hero::before,.verification-hero::after { content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none;background:var(--on-feature);opacity:.035; }
.verification-hero::before { width:290px;height:290px;right:-120px;top:-120px;box-shadow:0 0 0 55px #ffffff06; }
.verification-hero::after { width:200px;height:200px;right:80px;bottom:-150px; }
.verification-hero h1 { margin:0 0 18px;color:inherit;font-size:30px;font-weight:800;line-height:1.25;letter-spacing:-.04em; }
.verification-hero p { max-width:400px;width:65%;margin:0;font-size:16px;line-height:1.65;color:inherit; }
#verification-hero-art { position:absolute;right:26px;bottom:20px;width:190px;color:var(--on-feature);filter:drop-shadow(0 8px 8px #69283712); }
.verification-art { display:block;width:100%;height:auto;overflow:visible; }
.verification-body { position:relative;margin-top:-24px;padding:0 28px 32px;border-radius:24px 24px 0 0;background:linear-gradient(150deg,var(--surface),var(--paper) 48%); }
.verification-content { max-width:620px;margin:0 auto;min-width:0; }
.verification-tracker { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:30px 0 38px; }
.verification-node { position:relative;display:flex;align-items:center;flex-direction:column;gap:9px;min-width:0;padding:4px 0;border:0;border-radius:12px;background:none;color:var(--muted); }
.verification-node:not(:last-child)::after { content:"";position:absolute;top:28px;left:calc(50% + 26px);width:calc(100% - 52px);border-top:2px dashed var(--verification-border); }
.verification-node.is-complete::after { border-color:color-mix(in srgb,var(--brand) 60%,var(--line)); }
.verification-node-circle { display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:1px solid var(--verification-border);border-radius:50%;background:var(--surface);color:var(--muted);font-size:18px;font-weight:750;transition:background-color .24s,color .24s,box-shadow .24s; }
.verification-node-circle .icon { width:23px;height:23px;stroke-width:2.1; }
.verification-node.is-complete .verification-node-circle { color:var(--brand);background:var(--brand-soft);border-color:var(--brand-soft); }
.verification-node.is-current .verification-node-circle { color:var(--on-feature);background:var(--verification-accent);border-color:var(--verification-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--brand-solid) 12%,transparent); }
.verification-node.is-viewing .verification-node-circle { outline:3px solid color-mix(in srgb,var(--brand) 10%,transparent);outline-offset:3px; }
.verification-node strong { font-size:13px;font-weight:650;line-height:1.3; }
.verification-node-status { padding:4px 8px;border-radius:7px;font-size:12px;font-weight:650;white-space:nowrap;line-height:1.25;transition:background-color .24s,color .24s; }
.verification-node:not(.is-locked) .verification-node-status { background:var(--mint);color:var(--mint-ink); }
.verification-card { margin:0;border:1px solid var(--verification-border);border-radius:24px;background:var(--surface);box-shadow:0 8px 32px color-mix(in srgb,var(--brand-solid) 3%,transparent);animation:verification-enter .25s ease-out both; }
.verification-card .card-body { padding:30px;min-width:0; }
.verification-card-heading { position:relative;min-height:135px; }
.verification-label { display:block;font-size:12px;font-weight:750;line-height:1.5;letter-spacing:.095em;text-transform:uppercase;color:var(--brand); }
.verification-rule { display:flex;align-items:center;gap:12px; }
.verification-rule::before { content:"";display:block;flex:0 0 21px;height:2px;border-radius:3px;background:currentColor; }
.verification-card h2 { position:relative;z-index:1;width:calc(100% - 114px);max-width:370px;margin:26px 0 18px;font-size:30px;font-weight:800;line-height:1.35;letter-spacing:-.045em;overflow-wrap:break-word;scroll-margin-top:100px; }
.verification-card h2:focus { outline:none; }
.verification-card h2:focus-visible { outline:2px solid var(--brand);outline-offset:5px;border-radius:4px; }
.verification-step-art { position:absolute;right:-14px;top:10px;width:140px;color:var(--brand);pointer-events:none; }
.verification-description { margin:0;font-size:17px;line-height:1.65;color:var(--muted); }
.verification-note { margin:10px 0 0;font-size:14px;line-height:1.6;color:var(--muted); }
.verification-card .verification-metric { margin:28px 0 22px;padding:22px;border-radius:16px;border:1px solid var(--verification-border);background:linear-gradient(125deg,var(--verification-tint),var(--surface)); }
.verification-metric-header { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px; }
.verification-metric-header .verification-label { flex-shrink:0;white-space:nowrap;font-size:11px; }
.verification-badge { display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 11px;font-size:12px;font-weight:650;line-height:1.3;border-radius:9px;white-space:normal;transition:background-color .24s,color .24s; }
.verification-badge.is-positive { background:var(--mint);color:var(--mint-ink); }
.verification-badge.is-pending { background:var(--brand-soft);color:var(--brand); }
.verification-badge .icon { width:17px;height:17px;stroke-width:2.5; }
.verification-email-header { display:flex;align-items:flex-start;gap:17px; }
.verification-email-header>div { min-width:0; }
.verification-email-header .verification-label { margin:3px 0 13px;font-size:11px; }
.verification-round-icon { flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--brand-soft);color:var(--brand); }
.verification-round-icon .icon { width:25px;height:25px;stroke-width:1.9; }
.verification-email .verification-email-value { margin:24px 0 0;font-size:25px;font-weight:750;line-height:1.5;letter-spacing:-.025em;overflow-wrap:anywhere;word-break:break-all; }
.verification-metric .verification-count { margin:21px 0 13px;display:flex;align-items:baseline;flex-wrap:wrap;font-size:40px;line-height:1.25;font-weight:750;letter-spacing:-.04em; }
.verification-count>span:first-child { color:var(--brand); }
.verification-count-target { white-space:pre-wrap;color:var(--ink);overflow-wrap:anywhere; }
.verification-progress-row { display:flex;align-items:center;gap:13px;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums; }
.verification-progress { flex:1;height:9px;border-radius:20px;background:var(--verification-border); }
.verification-progress .progress-bar { width:var(--verification-progress);border-radius:inherit;background:var(--verification-accent);transition:width .5s ease;animation:verification-fill .6s ease-out both; }
.verification-unavailable { margin:14px 0 0;font-size:13px;color:var(--muted); }
.verification-success { display:flex;align-items:flex-start;gap:17px;margin:22px 0;padding:22px;border-radius:15px;border:1px solid color-mix(in srgb,var(--mint-ink) 18%,var(--surface));background:color-mix(in srgb,var(--mint) 38%,var(--surface)); }
.verification-success .verification-round-icon { background:color-mix(in srgb,var(--mint-ink) 14%,var(--mint));color:var(--mint-ink); }
.verification-success .verification-round-icon .icon { padding:4px;width:30px;height:30px;stroke-width:2.5;border-radius:50%;color:var(--surface);background:var(--mint-ink); }
.verification-success strong { display:block;margin:0 0 7px;font-size:15px;font-weight:750; }
.verification-success p { margin:0;font-size:14px;line-height:1.7; }
.verification-countdown { display:flex;align-items:flex-start;gap:17px;margin:22px 0;padding:22px;border-radius:16px;background:color-mix(in srgb,var(--brand-soft) 65%,var(--surface)); }
.verification-countdown>div { flex:1;min-width:0; }
.verification-countdown p { margin:0 0 16px;font-size:14px;line-height:1.7; }
.verification-countdown strong { font-weight:650; }
.verification-countdown-track { height:8px;border-radius:20px;background:color-mix(in srgb,var(--brand) 15%,var(--surface)); }
.verification-countdown-track .progress-bar { width:100%;border-radius:inherit;background:var(--verification-accent);transition:width .1s linear; }
.verification-how { margin:22px 0;padding:22px;border-radius:16px;background:linear-gradient(115deg,color-mix(in srgb,var(--brand-soft) 70%,var(--surface)),var(--verification-tint)); }
.verification-how h3 { display:flex;align-items:center;gap:11px;margin:0 0 18px;color:var(--brand);font-size:17px;font-family:inherit;letter-spacing:-.02em;font-weight:700; }
.verification-how h3 .icon { width:24px;height:24px; }
.verification-how ul { display:grid;gap:14px;list-style:none;margin:0;padding:0; }
.verification-how li { display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.7; }
.verification-how li .icon { width:19px;height:19px;margin-top:3px;padding:3px;border-radius:50%;stroke-width:2.5;background:color-mix(in srgb,var(--brand-solid) 65%,var(--coral));color:var(--on-feature); }
.verification-primary { width:100%;min-height:60px;gap:13px;padding:16px 18px;border-radius:14px;border:1px solid color-mix(in srgb,var(--brand-solid) 80%,var(--coral));background:linear-gradient(115deg,var(--brand-solid),color-mix(in srgb,var(--brand-solid) 88%,var(--coral)));color:var(--on-feature);font-size:16px;font-weight:700;box-shadow:0 5px 12px color-mix(in srgb,var(--brand-solid) 8%,transparent);transition:transform .18s,box-shadow .18s,filter .18s; }
.verification-primary:hover { color:var(--on-feature);background:linear-gradient(115deg,var(--brand-solid),color-mix(in srgb,var(--brand-solid) 85%,var(--coral)));filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 7px 16px color-mix(in srgb,var(--brand-solid) 15%,transparent); }
.verification-primary:active { transform:translateY(1px); }
.verification-primary .icon { width:23px;height:23px; }
.verification-review { font-size:14px;line-height:1.7;color:var(--muted);margin:22px 0; }
.verification-footer { display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0 0; }
.verification-previous { min-height:58px;padding:14px 25px;border-radius:14px;border-color:var(--verification-border);font-size:15px; }
.verification-previous:disabled { flex:1;opacity:.65;background:var(--surface);color:var(--muted);border-color:var(--line); }
.verification-help-link { display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--brand);text-decoration:underline;text-underline-offset:3px;font-size:15px;font-weight:700; }
.verification-help { display:flex;align-items:flex-start;gap:17px;margin-top:42px;padding:23px 21px;border:1px solid color-mix(in srgb,var(--brand-soft) 75%,var(--line));border-radius:20px;background:linear-gradient(130deg,color-mix(in srgb,var(--brand-soft) 55%,var(--surface)),var(--verification-tint)); }
.verification-help h3 { margin:3px 0 10px;color:var(--brand);font-family:inherit;letter-spacing:-.02em;font-weight:700;font-size:17px; }
.verification-help p { margin:0 0 5px;font-size:14px;line-height:1.75; }
.verification-body>.loading-state,.verification-body>.empty-state { min-height:360px;padding-top:70px; }
[data-route="verification"] .member-footer { max-width:740px;margin-inline:auto; }
@keyframes verification-enter { from { opacity:0;transform:translateY(7px); } to { opacity:1;transform:translateY(0); } }
@keyframes verification-fill { from { width:var(--verification-previous-progress,0%); } to { width:var(--verification-progress); } }
@media(min-width:992px) {
  .verification-shell,.verification-content,[data-route="verification"] .member-footer { max-width:none; }
}
@media(max-width:991px) {
  [data-route="verification"] .member-main { padding-top:0;padding-inline:0; }
  [data-route="verification"] .member-footer { padding-inline:24px; }
  .verification-shell { border-radius:0; }
  .verification-hero { border-radius:0; }
}
@media(max-width:575px) {
  .verification-hero { min-height:214px;padding:32px 23px 48px; }
  .verification-hero h1 { font-size:25px;margin-bottom:18px; }
  .verification-hero p { width:66%;font-size:15px;line-height:1.65; }
  #verification-hero-art { width:142px;right:5px;bottom:24px; }
  .verification-body { padding:0 20px 24px; }
  .verification-tracker { margin-inline:-5px;padding:29px 0 38px; }
  .verification-node-status { font-size:11px;padding:4px 7px; }
  .verification-node strong { font-size:12px; }
  .verification-node-circle { width:44px;height:44px; }
  .verification-node:not(:last-child)::after { top:26px;left:calc(50% + 24px);width:calc(100% - 48px); }
  .verification-card .card-body { padding:26px 20px 22px; }
  .verification-card-heading { min-height:126px; }
  .verification-card h2 { width:calc(100% - 86px);margin-top:25px;font-size:27px;line-height:1.35; }
  .verification-step-art { width:120px;right:-17px;top:18px; }
  .verification-description { font-size:16px; }
  .verification-card .verification-metric { padding:20px;margin-top:28px; }
  .verification-email .verification-email-value { font-size:24px; }
  .verification-success,.verification-countdown { padding:21px 17px;gap:15px; }
  .verification-how { padding:21px 18px; }
  .verification-primary { font-size:15px;min-height:60px; }
}
@media(max-width:359px) {
  .verification-hero { padding:27px 18px 45px;min-height:205px; }
  .verification-hero h1 { font-size:23px; }
  .verification-hero p { font-size:13px;width:67%; }
  #verification-hero-art { width:116px;right:0; }
  .verification-body { padding-inline:14px; }
  .verification-node-status { font-size:10px;padding-inline:5px; }
  .verification-node-circle { width:40px;height:40px; }
  .verification-node:not(:last-child)::after { top:24px;left:calc(50% + 22px);width:calc(100% - 44px); }
  .verification-card .card-body { padding:23px 17px; }
  .verification-card h2 { width:calc(100% - 68px);font-size:24px; }
  .verification-step-art { width:99px;right:-14px;top:28px; }
  .verification-card .verification-metric { padding:17px 14px; }
  .verification-email-header { gap:11px; }
  .verification-email .verification-email-value { font-size:22px; }
  .verification-round-icon { width:42px;height:42px; }
  .verification-previous { padding-inline:18px;font-size:13px; }
  .verification-help-link { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
  .verification-shell *,.verification-shell *::before,.verification-shell *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}

/* First-visit quick earning guide. All presentation is scoped to this variant. */
.onboarding-modal {
  --onboard-ink:#241b40;
  --onboard-muted:#706b7e;
  --onboard-surface:var(--surface);
  --onboard-line:#e9e6ed;
  --onboard-pink:#fff5f8;
  --onboard-pink-icon:#ffe9f0;
  --onboard-mint:#f1fbf7;
  --onboard-mint-icon:#ddf6ed;
  --onboard-lavender:#f7f3ff;
  --onboard-lavender-icon:#ede3ff;
  --onboard-accent:#d91c51;
  --onboard-gradient:linear-gradient(110deg,#bd215c,#f32b50);
  --onboard-button-gradient:linear-gradient(110deg,#e31340,#cc245f 46%,#e51b48);
  --onboard-gap:max(10px,env(safe-area-inset-top),env(safe-area-inset-bottom));
  padding:0!important;
}
body:has(.onboarding-modal) > .modal-backdrop {
  --bs-backdrop-bg:rgba(33,23,43,.48);
  --bs-backdrop-opacity:1;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.onboarding-modal.fade { transition:opacity .26s ease; }
.onboarding-modal .modal-dialog {
  width:calc(100% - 2 * max(10px,env(safe-area-inset-left),env(safe-area-inset-right)));
  max-width:620px;
  margin:var(--onboard-gap) auto;
  min-height:calc(100% - var(--onboard-gap) * 2);
}
.onboarding-modal.fade .modal-dialog { transform:translateY(12px) scale(.96);transition:transform .3s cubic-bezier(.2,.75,.25,1); }
.onboarding-modal.show .modal-dialog { transform:none; }
.onboarding-modal .modal-content {
  max-height:calc(100vh - var(--onboard-gap) * 2);
  max-height:calc(100dvh - var(--onboard-gap) * 2);
  overflow:hidden;
  padding:0;
  border:1px solid var(--onboard-line);
  border-radius:30px;
  background:var(--onboard-surface);
  color:var(--onboard-ink);
  box-shadow:0 30px 100px #21132d30,0 8px 25px #21132d14,inset 0 1px 0 #ffffff80;
}
.onboarding-modal .modal-header { position:relative;flex-shrink:0;align-items:flex-start;gap:11px;padding:23px 18px 15px;border:0; }
.onboarding-modal .modal-symbol { width:42px;height:44px;border-radius:15px;background:linear-gradient(145deg,var(--onboard-pink),var(--onboard-pink-icon));color:#f1396c; }
.onboarding-modal .modal-symbol .icon { width:28px;height:28px;fill:currentColor;stroke-width:.7;filter:drop-shadow(0 2px 1px #cd225c20); }
.onboarding-modal .modal-header .modal-title { position:relative;flex:1;min-width:0;margin:0;padding:0 25px 10px 0;color:var(--onboard-ink);font-size:clamp(1.2rem,5.6vw,1.65rem)!important;line-height:1.18;letter-spacing:-.05em;font-weight:800; }
.onboarding-title-accent { display:block;background:var(--onboard-gradient);background-clip:text;-webkit-background-clip:text;color:transparent; }
.onboarding-modal .modal-title::after { content:"";position:absolute;inset-inline-start:1px;bottom:-2px;width:68%;height:7px;border-top:4px solid #ffb7cc;border-radius:60% 80% 0 0;transform:rotate(-4deg);opacity:.8; }
.onboarding-modal .modal-header .btn-close { position:absolute;inset-inline-end:8px;top:9px;display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;margin:0;padding:0;border-radius:50%;background:transparent;color:var(--onboard-muted);opacity:1;filter:none;transition:background .2s,transform .2s; }
.onboarding-modal .btn-close .icon { width:25px;height:25px;stroke-width:1.9; }
.onboarding-modal .modal-header .btn-close:hover { background:var(--onboard-pink); }
.onboarding-modal .modal-body { flex:1 1 auto;min-height:0;padding:0 18px 16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--onboard-line) transparent; }
.onboarding-hero { display:flex;justify-content:center;margin:-4px 0 5px; }
.onboarding-art { display:block;flex:none;width:100%;max-width:360px;height:auto;max-height:190px; }
.onboarding-steps { display:grid;gap:10px;list-style:none;padding:0;margin:0; }
.onboarding-step { --step-bg:var(--onboard-pink);--step-icon:var(--onboard-pink-icon);--step-color:#c41d50;display:grid;grid-template-columns:48px minmax(0,1fr) 23px;gap:11px;align-items:center;padding:15px 12px;border:1px solid color-mix(in srgb,var(--step-icon) 30%,transparent);border-radius:22px;background:linear-gradient(110deg,var(--step-bg),color-mix(in srgb,var(--step-bg) 70%,var(--onboard-surface))); }
.onboarding-step-wallet { --step-bg:var(--onboard-mint);--step-icon:var(--onboard-mint-icon);--step-color:#107457; }
.onboarding-step-friends { --step-bg:var(--onboard-lavender);--step-icon:var(--onboard-lavender-icon);--step-color:#7539dc; }
.onboarding-step-icon { display:grid;place-items:center;width:48px;height:52px;border-radius:17px;color:var(--step-color);background:linear-gradient(145deg,color-mix(in srgb,var(--step-icon) 65%,var(--onboard-surface)),var(--step-icon)); }
.onboarding-step-icon .icon { width:31px;height:31px;stroke-width:2;filter:drop-shadow(0 2px 1px color-mix(in srgb,var(--step-color) 13%,transparent)); }
.onboarding-step-video .onboarding-step-icon .icon { width:30px;height:32px;padding:5px;border-radius:10px;background:linear-gradient(140deg,#ff7598,#ee2055 65%);color:#c6164b;fill:currentColor;transform:rotate(-7deg);box-shadow:inset 0 1px 2px #ffffff55,0 2px 4px #e72a5830; }
.onboarding-step-wallet .onboarding-step-icon .icon { color:#24ad85;fill:currentColor; }
.onboarding-step-wallet .onboarding-step-icon .icon path { stroke:#168767; }
.onboarding-step-wallet .onboarding-step-icon .icon circle { fill:#e6fff4;stroke:#e6fff4;stroke-width:2.5; }
.onboarding-step-copy { min-width:0; }
.onboarding-step h3 { margin:0 0 5px;color:var(--onboard-ink);font-size:.96rem;font-weight:800;line-height:1.3;letter-spacing:-.035em; }
.onboarding-step p { margin:0;color:var(--onboard-muted);font-size:.82rem;line-height:1.45;overflow-wrap:anywhere; }
.onboarding-step-number { display:grid;place-items:center;align-self:start;width:23px;height:25px;margin-top:1px;border-radius:50%;color:var(--step-color);background:var(--step-icon);font-size:.79rem;font-weight:800; }
.onboarding-modal .modal-footer { flex-shrink:0;position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0 18px;padding:15px 0 20px;border-top:1px solid var(--onboard-line);background:var(--onboard-surface); }
.onboarding-modal .modal-footer .btn { min-width:0;min-height:46px;margin:0;padding:10px 16px;border-radius:999px;font-size:.89rem;font-weight:700;gap:10px;line-height:1.25;transition:transform .18s,box-shadow .18s,background-color .18s; }
.onboarding-modal .modal-footer .btn-light { border:1.5px solid var(--onboard-line);color:var(--onboard-ink);background:var(--onboard-surface);box-shadow:0 1px 2px #241b4003; }
.onboarding-modal .modal-footer .btn-light:hover { background:var(--onboard-pink); }
.onboarding-modal .modal-footer .btn-primary { min-height:50px;color:#fff;border:0;background:var(--onboard-button-gradient);box-shadow:0 8px 20px #ee285338,inset 0 1px 0 #ffffff30; }
.onboarding-cta-play { display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:50%;color:#ee2856;background:#fff; }
.onboarding-cta-play .icon { width:18px;height:18px;fill:currentColor;stroke-width:1; }
.onboarding-modal .modal-footer .btn-primary>.icon { width:20px;height:20px; }
.onboarding-modal .modal-footer .btn-primary:hover { transform:translateY(-1px);box-shadow:0 10px 24px #ee28534a,inset 0 1px 0 #ffffff30; }
.onboarding-modal .modal-footer .btn:active,.onboarding-modal .btn-close:active { transform:scale(.98); }
.onboarding-modal button:focus-visible { outline:3px solid var(--onboard-accent);outline-offset:3px;box-shadow:0 0 0 5px var(--onboard-surface); }
.onboarding-modal .modal-body:focus-visible { outline:2px solid var(--onboard-accent);outline-offset:-3px;border-radius:8px; }
.onboarding-modal.show .onboarding-step { animation:onboarding-step-in .38s ease-out both; }
.onboarding-modal.show .onboarding-step:nth-child(2) { animation-delay:.06s; }
.onboarding-modal.show .onboarding-step:nth-child(3) { animation-delay:.12s; }
.onboarding-coin { animation:onboarding-coin-float 4.8s ease-in-out infinite; }
.onboarding-coin-two { animation-delay:-1.6s; }
.onboarding-coin-three { animation-delay:-3.2s; }
[data-bs-theme=dark] .onboarding-modal { --onboard-ink:#f7f0ff;--onboard-muted:#c4b9d0;--onboard-line:#4a384f;--onboard-pink:#352432;--onboard-pink-icon:#522c43;--onboard-mint:#22352f;--onboard-mint-icon:#294b3f;--onboard-lavender:#30263e;--onboard-lavender-icon:#493360;--onboard-accent:#ff91b1;--onboard-gradient:linear-gradient(110deg,#ff9fc9,#ff6c87); }
[data-bs-theme=dark] .onboarding-step { --step-color:#ff91b1; }
[data-bs-theme=dark] .onboarding-step-wallet { --step-color:#6fe1b6; }
[data-bs-theme=dark] .onboarding-step-friends { --step-color:#c3a0ff; }
[data-bs-theme=dark] .onboarding-art-halo { opacity:.2; }
@keyframes onboarding-step-in { from { opacity:0;transform:translateY(7px); } to { opacity:1;transform:none; } }
@keyframes onboarding-coin-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@media(min-width:480px) {
  .onboarding-modal .modal-header { padding:30px 28px 17px;gap:18px; }
  .onboarding-modal .modal-symbol { width:58px;height:60px;border-radius:20px; }
  .onboarding-modal .modal-symbol .icon { width:34px;height:34px; }
  .onboarding-modal .modal-header .modal-title { padding-inline-end:26px;font-size:clamp(1.7rem,4.8vw,2.2rem)!important; }
  .onboarding-modal .modal-header .btn-close { top:18px;inset-inline-end:16px; }
  .onboarding-modal .modal-body { padding:0 28px 20px; }
  .onboarding-art { max-width:440px;max-height:275px; }
  .onboarding-hero { margin:0 0 10px; }
  .onboarding-steps { gap:12px; }
  .onboarding-step { grid-template-columns:66px minmax(0,1fr) 32px;gap:18px;padding:19px 20px;border-radius:25px; }
  .onboarding-step-icon { width:66px;height:70px;border-radius:22px; }
  .onboarding-step-icon .icon { width:39px;height:39px; }
  .onboarding-step-video .onboarding-step-icon .icon { width:37px;height:40px;padding:7px;border-radius:12px; }
  .onboarding-step h3 { font-size:1.17rem;margin-bottom:6px; }
  .onboarding-step p { font-size:.98rem;line-height:1.45; }
  .onboarding-step-number { width:32px;height:33px;font-size:1rem; }
  .onboarding-modal .modal-footer { grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:12px;margin:0 28px;padding:22px 0 28px; }
  .onboarding-modal .modal-footer .btn { min-height:60px;padding:12px;font-size:.94rem;gap:8px; }
  .onboarding-cta-play { width:34px;height:34px; }
}
@media(max-width:359px) {
  .onboarding-modal .modal-header { padding:22px 12px 12px;gap:8px; }
  .onboarding-modal .modal-symbol { width:34px;height:38px;border-radius:12px; }
  .onboarding-modal .modal-symbol .icon { width:25px;height:25px; }
  .onboarding-modal .modal-header .modal-title { font-size:1.19rem!important; }
  .onboarding-modal .modal-body { padding-inline:12px; }
  .onboarding-art { max-height:155px; }
  .onboarding-step { grid-template-columns:40px minmax(0,1fr) 20px;padding:13px 10px;gap:9px;border-radius:19px; }
  .onboarding-step-icon { width:40px;height:45px;border-radius:14px; }
  .onboarding-step-icon .icon { width:28px;height:28px; }
  .onboarding-step h3 { font-size:.88rem; }
  .onboarding-step p { font-size:.79rem; }
  .onboarding-step-number { width:20px;height:22px;font-size:.75rem; }
  .onboarding-modal .modal-footer { margin-inline:12px;padding-bottom:16px; }
}
@media(max-height:650px) {
  .onboarding-art { max-height:145px; }
  .onboarding-modal .modal-header { padding-top:16px;padding-bottom:12px; }
  .onboarding-modal .modal-footer { padding-block:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .onboarding-modal,.onboarding-modal *,.onboarding-modal *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}

/* Shared public email verification and password recovery pages. */
.recovery-page {
  --recovery-accent:color-mix(in srgb,var(--brand-solid) 74%,#ff1764);
  --recovery-bright:color-mix(in srgb,var(--brand-solid) 40%,#ff4382);
  --recovery-border:color-mix(in srgb,var(--brand) 14%,var(--surface));
  --recovery-gradient:linear-gradient(110deg,var(--brand-solid),var(--recovery-accent) 50%,var(--recovery-bright));
  padding:28px 16px 40px;
  background:radial-gradient(ellipse at 0 22%,color-mix(in srgb,var(--brand-soft) 55%,transparent),transparent 38%),radial-gradient(ellipse at 100% 75%,color-mix(in srgb,var(--rose) 35%,transparent),transparent 40%),var(--paper);
}
.recovery-card {
  width:100%;max-width:860px;margin-inline:auto;padding:25px 22px;
  border:1px solid var(--recovery-border);border-radius:30px;
  background:radial-gradient(ellipse at 100% 8%,color-mix(in srgb,var(--brand-soft) 24%,transparent),transparent 45%),var(--surface);
  box-shadow:0 22px 65px color-mix(in srgb,var(--brand-solid) 5%,transparent),0 3px 12px color-mix(in srgb,var(--brand-solid) 2%,transparent);
  animation:recovery-enter .45s ease-out both;
}
.recovery-hero { display:grid;gap:8px;margin-bottom:22px; }
.recovery-intro { min-width:0; }
.recovery-badge { display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border-radius:100px;background:linear-gradient(110deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 44%,var(--surface)));color:var(--brand);font-size:.66rem;letter-spacing:.09em;font-weight:750;margin-bottom:19px; }
.recovery-badge .icon { width:20px;height:20px; }
.recovery-intro h1 { font-size:clamp(2.25rem,7vw,3.5rem);line-height:1.09;letter-spacing:-.055em;font-weight:800;margin:0 0 16px; }
.recovery-intro h1 span { display:block;width:fit-content;color:var(--brand);background:linear-gradient(100deg,var(--brand),var(--recovery-accent) 65%,var(--coral));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent; }
.recovery-intro p { color:var(--muted);font-size:.96rem;line-height:1.6;margin:0;max-width:410px;text-wrap:pretty; }
.recovery-illustration { width:132px;height:132px;justify-self:center;animation:recovery-float 6s ease-in-out infinite; }
.recovery-illustration img { display:block;width:100%;height:100%;object-fit:contain; }
.recovery-body { min-width:0; }
.recovery-panel { display:flex;align-items:center;gap:15px;background:linear-gradient(110deg,color-mix(in srgb,var(--brand-soft) 55%,var(--surface)),color-mix(in srgb,var(--brand-soft) 78%,var(--surface)));padding:20px 17px;border-radius:20px;margin-bottom:23px; }
.recovery-panel-icon { display:grid;place-items:center;flex:0 0 43px;height:43px;background:color-mix(in srgb,var(--rose) 60%,var(--surface));border-radius:14px;color:var(--brand); }
.recovery-panel-icon .icon { width:26px;height:26px; }
.recovery-panel h2 { font-family:var(--bs-body-font-family);font-size:1rem;letter-spacing:-.02em;line-height:1.35;margin:0 0 5px;font-weight:700; }
.recovery-panel p { font-size:.83rem;line-height:1.55;color:var(--muted);margin:0; }
.recovery-body form + .recovery-panel { margin:25px 0 0; }
.recovery-body .form-label { color:var(--ink);font-weight:650;font-size:.9rem;margin-bottom:10px; }
.recovery-input-wrap { position:relative; }
.recovery-input-icon { position:absolute;inset-inline-start:14px;top:13px;width:30px;height:30px;display:grid;place-items:center;color:var(--brand);border-radius:9px;background:color-mix(in srgb,var(--brand-soft) 60%,var(--surface));pointer-events:none; }
.recovery-input-wrap .form-control { min-height:56px;border-radius:15px;border-color:var(--recovery-border);background-color:color-mix(in srgb,var(--paper) 50%,var(--surface));padding:14px 15px 14px 55px;font-size:1rem;transition:border-color .2s,box-shadow .2s,background-color .2s; }
.recovery-input-wrap .form-control:focus { background-color:var(--surface);border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 12%,transparent); }
.recovery-input-wrap.password-wrap .form-control { padding-inline-end:52px; }
.recovery-input-wrap.password-wrap .icon-btn { top:7px;inset-inline-end:7px;inset-inline-start:auto;width:42px;height:42px;color:var(--muted); }
.recovery-input-wrap.password-wrap .form-control { background-image:none; }
.recovery-body .invalid-feedback:not(:empty) { margin-top:7px; }
.recovery-body #auth-error:not(:empty) { margin-bottom:16px; }
.recovery-body .form-text { color:var(--muted);font-size:.78rem;margin-top:9px; }
.recovery-cta.btn { min-height:56px;border:0;border-radius:100px;padding:15px 20px;background:var(--recovery-gradient);color:#fff;font-size:.95rem;font-weight:700;gap:10px;box-shadow:0 10px 24px color-mix(in srgb,var(--recovery-accent) 21%,transparent);transition:transform .2s,box-shadow .2s,filter .2s; }
.recovery-cta .icon { width:20px;height:20px; }
.recovery-cta .recovery-cta-arrow { margin-inline-start:0; }
.recovery-cta>span { white-space:nowrap; }
@media (hover:hover) { .recovery-cta:hover:not(:disabled) { transform:translateY(-2px);box-shadow:0 14px 28px color-mix(in srgb,var(--recovery-accent) 28%,transparent);filter:brightness(1.05); } }
.recovery-cta:active:not(:disabled) { transform:translateY(1px) scale(.99); }
.recovery-cta:disabled { box-shadow:none;opacity:.65; }
.recovery-back { display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:20px;font-size:.88rem;font-weight:600;color:var(--brand); }
.recovery-back .icon { width:18px;transform:rotate(180deg); }
.recovery-reassurance { display:grid;gap:14px;border-top:1px solid var(--recovery-border);margin-top:28px;padding-top:23px; }
.recovery-reassurance li { display:flex;align-items:center;gap:12px;font-size:.8rem;line-height:1.5;color:var(--muted); }
.recovery-reassurance li>span { display:grid;place-items:center;flex:0 0 36px;height:36px;background:var(--brand-soft);color:var(--brand);border-radius:50%; }
.recovery-reassurance .icon { width:20px;height:20px; }
.recovery-status { display:flex;align-items:flex-start;gap:10px;color:var(--mint-ink);background:var(--mint);border-radius:14px;padding:16px;line-height:1.5;font-size:.9rem; }
.recovery-body #verification-feedback:not(:empty) { margin-bottom:20px; }
.recovery-body .empty-state { padding-block:24px; }
.recovery-body .empty-state p { max-width:470px;margin-inline:auto; }
.recovery-body .state-icon { color:var(--brand);background:var(--brand-soft); }
.recovery-body .empty-state .btn-primary { border-radius:100px;background:var(--recovery-gradient);border:0; }
.recovery-body .invalid-feedback:not(:empty),.recovery-status,.recovery-result { animation:recovery-enter .25s ease-out both; }
[data-bs-theme=dark] .recovery-intro h1 span { background:linear-gradient(100deg,var(--brand),var(--brand-hover));background-clip:text;-webkit-background-clip:text; }
[data-bs-theme=dark] .recovery-illustration { filter:brightness(.92); }
@media (min-width:576px) {
  .recovery-page { padding:40px 24px 55px; }
  .recovery-card { padding:35px; }
  .recovery-hero { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:16px;margin-bottom:30px; }
  .recovery-illustration { width:100%;height:auto;aspect-ratio:1;max-width:280px; }
  .recovery-reassurance { grid-template-columns:repeat(3,minmax(0,1fr));gap:13px; }
  .recovery-reassurance li { gap:9px; }
  .recovery-reassurance li+li { border-inline-start:1px solid var(--recovery-border);padding-inline-start:13px; }
}
@media (min-width:768px) {
  .recovery-card { padding:42px 44px;border-radius:32px; }
  .recovery-hero { min-height:274px;gap:24px;margin-bottom:32px; }
  .recovery-badge { font-size:.72rem;padding:10px 16px;margin-bottom:24px; }
  .recovery-intro p { font-size:1.08rem; }
  .recovery-panel { padding:24px;gap:20px; }
  .recovery-panel-icon { flex-basis:56px;height:56px;border-radius:17px; }
  .recovery-panel-icon .icon { width:31px;height:31px; }
  .recovery-panel h2 { font-size:1.15rem; }.recovery-panel p { font-size:.95rem; }
  .recovery-cta.btn { min-height:62px;font-size:1.1rem; }
  .recovery-reassurance { margin-top:32px;padding-top:28px; }
  .recovery-reassurance li { font-size:.85rem; }
  .recovery-reassurance li>span { flex-basis:43px;height:43px; }
}
@keyframes recovery-enter { from { opacity:0;transform:translateY(9px); } to { opacity:1;transform:translateY(0); } }
@keyframes recovery-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@media (prefers-reduced-motion:reduce) {
  .recovery-card,.recovery-illustration,.recovery-body .invalid-feedback,.recovery-status,.recovery-result { animation:none!important; }
  .recovery-cta.btn,.recovery-input-wrap .form-control { transition:none; }
  .recovery-cta:hover:not(:disabled),.recovery-cta:active:not(:disabled) { transform:none; }
}
