@font-face{font-family:Manrope;src:url('/member/fonts/Manrope-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/member/fonts/Manrope-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('/member/fonts/Manrope-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('/member/fonts/Manrope-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#f6f7f9;--surface:#eceef1;--card:#fff;--ink:#191c22;--muted:#62666f;--line:#dce0e6;--field:#777e89;--accent:#bd1d2a;--raised:0 14px 30px rgb(25 28 34 / .09),0 4px 10px rgb(25 28 34 / .06);color-scheme:light}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#15171b;--surface:#2b3037;--card:#202329;--ink:#f4f5f7;--muted:#b0b4bd;--line:#454b55;--field:#949ca8;--accent:#ff8790;color-scheme:dark}}
:root[data-theme=dark]{--paper:#15171b;--surface:#2b3037;--card:#202329;--ink:#f4f5f7;--muted:#b0b4bd;--line:#454b55;--field:#949ca8;--accent:#ff8790;color-scheme:dark}
html{scroll-padding-top:6rem}body{font-family:Manrope,Arial,sans-serif;background:var(--paper);color:var(--ink)}main{max-width:72rem;padding:0 1.25rem 7rem}.signin-page{max-width:33rem;padding-top:0}.member-page{padding-top:0}h1,h2,h3,.wheel h2,.referral h2,button,.primary-link{font-family:Manrope,Arial,sans-serif}h2,.wheel h2,.referral h2{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;line-height:1.3}p{max-width:70ch}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.club-header{position:sticky;top:0;z-index:15;min-height:88px;margin:0 0 1.5rem;padding:1rem 0;background:var(--paper);border-bottom:1px solid var(--line)}.club-brand{max-width:174px}.haida-logo{display:block;width:100%;height:auto;max-height:60px}.member-tools{display:flex;gap:.25rem;align-items:center;margin-right:3.2rem}.member-tools button{font-size:.72rem;min-height:44px;padding:.4rem .55rem;border:0;color:var(--muted);background:transparent}.signin-page .member-tools{margin-right:0}.member-menu{position:fixed;top:23px;right:max(1.25rem,calc((100vw - 69.5rem)/2));z-index:20;margin:0}.member-menu>summary{display:grid;place-items:center;padding:0;width:44px;height:44px;list-style:none;border:1px solid var(--line);border-radius:12px;background:var(--card)}.member-menu>summary::-webkit-details-marker{display:none}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:18px;height:2px;background:var(--ink);position:relative}.menu-lines:before,.menu-lines:after{content:'';position:absolute}.menu-lines:before{top:-6px}.menu-lines:after{top:6px}.member-menu .club-nav{position:absolute;right:0;top:55px;width:min(260px,85vw);display:grid;padding:.6rem;margin:0;border:1px solid var(--line);background:var(--card);box-shadow:var(--raised);border-radius:16px}.club-nav a{justify-content:flex-start;padding:.7rem .9rem}.club-nav a[aria-current=page]{background:var(--surface);color:var(--accent)}
.wallet-overview{display:block}.wallet,.wheel,.referral,.member-account{padding:1.4rem;margin:0 0 1.5rem;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--raised);min-width:0}.wallet h2{font-size:1.3rem}#wallet-points{background:var(--surface);position:relative}#wallet-points>.points-balance strong{font-size:2.6rem}#wallet-points.has-gauge>.points-balance{font-size:.85rem;color:var(--muted)}#wallet-points.has-gauge>.points-balance strong{display:inline;font-size:inherit;font-weight:600}#wallet-points>.wallet-details{font-size:.8rem}#gifts{background:transparent;border:0;box-shadow:none;padding:0}#gifts>ul{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding:1rem .1rem 1.4rem;scrollbar-width:none}#gifts>ul::-webkit-scrollbar{display:none}#gifts>ul>.gift-card{flex:0 0 min(87%,360px);scroll-snap-align:start;min-width:0;padding:1.4rem;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--raised)}.gift-value{font-size:2.5rem;font-weight:700;letter-spacing:-.035em}.gift-card>p{font-size:.83rem;line-height:1.6}.gift-card>p:first-of-type{font-size:.9rem}.gift-card>.gift-countdown{background:var(--surface);border-radius:10px;padding:.65rem .8rem;font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.gift-history{padding:1rem 1.2rem;border:1px solid var(--line);background:var(--card);border-radius:16px}.gift-history li{padding:1rem 0}.gift-history .gift-value{font-size:1rem}.gift-history p{font-size:.82rem}.rail-controls{display:flex;align-items:center;justify-content:center;gap:.65rem;margin:0 0 1rem}.rail-controls button{border:0;background:transparent;color:var(--ink);min-height:44px;min-width:44px;padding:.5rem}.rail-dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--field)}[aria-pressed=true]>.rail-dot{background:var(--accent);transform:scale(1.3)}.rail-hint{font-size:.75rem;color:var(--muted);text-align:center}
.points-gauge{position:relative;max-width:260px;margin:.25rem auto .8rem;aspect-ratio:240/220}.points-gauge svg{display:block;width:100%;height:100%}.gauge-track,.gauge-fill{fill:none;stroke-width:18;stroke-linecap:round}.gauge-track{stroke:var(--line)}.gauge-fill{stroke:var(--accent)}.gauge-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding-top:.5rem;font-size:.8rem;color:var(--muted)}.gauge-copy>strong{font-size:3rem;font-weight:700;line-height:1;letter-spacing:-.035em;color:var(--ink);font-variant-numeric:tabular-nums}.reward-summary p{font-size:.95rem}.reward-cost{font-weight:700}.points-history{font-size:.85rem}.points-history ul{margin:0}.points-history li{padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.85rem}.points-history li:last-child{border:0}
.earn-section{margin:1.5rem 0 2rem}.earn-cards{display:flex;overflow-x:auto;gap:1rem;padding:.5rem .1rem 1.5rem;scroll-snap-type:x mandatory;scrollbar-width:none}.earn-card{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:1rem;flex:0 0 min(87%,360px);min-width:0;text-decoration:none;color:var(--ink);padding:1.15rem;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--raised);scroll-snap-align:start}.earn-art{display:grid;place-items:center;min-height:80px;color:var(--accent)}.earn-art svg{width:74px;height:74px}.earn-card strong{font-size:1.05rem;display:block}.earn-card p{font-size:.8rem;color:var(--muted);margin:.3rem 0}.earn-card span.earn-link{font-size:.8rem;font-weight:700;color:var(--accent)}.member-page[data-view=earn] .earn-cards{display:grid;overflow:visible}.member-page[data-view=earn] .earn-card{width:100%}.floating-earn{position:fixed;bottom:max(1.25rem,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:12;border-radius:100px;box-shadow:0 7px 18px rgb(25 28 34 / .2);min-width:145px;background:#bd1d2a;color:#fff}.floating-earn[hidden],[hidden]{display:none!important}
.wheel-layout{display:block;text-align:center}.wheel-layout .disc{width:min(100%,310px);margin:1rem auto}.wheel .legend{font-size:.8rem}.wheel form>button{width:100%}.wheel .muted{font-size:.8rem}.wheel .note,.referral .note{box-shadow:none}.referral .friend{padding:1rem;background:var(--surface)}.referral form{max-width:100%}.referral .code{font-variant-numeric:tabular-nums}.referral details{font-size:.85rem}.share-invite{width:100%;margin:.75rem 0}.share-fallback{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.9rem}.member-account>summary{font-size:1.25rem;font-weight:700}.member-account section{min-width:0}.member-account .account-identity{overflow-wrap:anywhere}.member-account input,.member-account select{max-width:100%}
.signin-page>section,.signin-page>form{margin-block:1.5rem}.signin-page>section{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.5rem;box-shadow:var(--raised)}.signin-page h2{font-size:1.8rem}.signup-progress{font-size:.7rem;gap:.8rem}.signup-progress [aria-current]{color:var(--accent)}input,select,textarea{background:var(--card);border-color:var(--field);border-radius:12px}button,.primary-link{border-radius:12px;background:#bd1d2a;color:#fff;border-color:#bd1d2a;font-weight:700}button.link{background:transparent;color:var(--accent);border-color:transparent}input[type=checkbox]{border-radius:4px}.signin-page .explanation{font-size:.8rem}.signin-page .note{font-size:.9rem}.note{background:var(--surface);border-color:var(--line)}.entry-description{font-size:1rem}.skip-link:focus{background:var(--card)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:#bd1d2a;color:#fff}input,textarea{caret-color:var(--accent)}
@media(min-width:800px){.member-page[data-view=home] .wallet-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1.5rem;align-items:start}.member-page #wallet-points{grid-column:1;grid-row:auto}.member-page #gifts{grid-column:2;grid-row:1 / span 2}.member-page #points{grid-column:1;grid-row:auto}.member-page[data-view=home] .earn-section{grid-column:1/-1}.member-page:not([data-view=home]) .wallet-overview{display:block;max-width:44rem;margin-inline:auto}.member-page[data-view=wheel] .wheel,.member-page[data-view=friends] .referral,.member-page[data-view=account] .member-account{max-width:44rem;margin-inline:auto}.signin-page .club-header{padding-block:1.5rem}}
@media(max-width:380px){main{padding-inline:1rem}.member-tools{gap:0}.member-tools button{font-size:.65rem;padding-inline:.35rem}.club-brand{max-width:145px}.wallet,.wheel,.referral,.member-account{padding:1.15rem}.gauge-copy>strong{font-size:2.6rem}.signin-page>section{padding:1.2rem}}
@media(prefers-reduced-motion:no-preference){.gauge-fill{animation:gauge-arrive 1s cubic-bezier(.16,1,.3,1) both}.earn-art{animation:earn-breathe 5s ease-in-out infinite}.member-page[data-view=home] .wallet{animation:surface-arrive .5s cubic-bezier(.16,1,.3,1) both}.rail-dot{transition:transform .2s ease-out}.earn-card:hover .earn-link{transform:translateX(2px)}@keyframes gauge-arrive{from{stroke-dasharray:0 100}}@keyframes earn-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes surface-arrive{from{transform:translateY(8px);opacity:.75}to{transform:none;opacity:1}}}
html[data-motion=paused] *,html[data-page-hidden] *{animation-play-state:paused!important}html[data-motion=paused] *{scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-toggle{display:none}}

.wheel .disc{position:relative;border:0;box-shadow:none;background:transparent}.wheel .disc::after{content:'';position:absolute;top:-5px;left:calc(50% - 10px);border-left:10px solid transparent;border-right:10px solid transparent;border-top:20px solid #bd1d2a}.wheel .disc svg{display:block;width:100%;height:100%;filter:drop-shadow(0 7px 12px rgb(25 28 34 / .12))}.wheel-prize-details{text-align:left;font-size:.8rem;margin:.4rem 0 .7rem}.wheel-prize-details>summary{font-weight:500}.wheel .wheel-layout{padding:.4rem 0}.signup-channel-choices{margin-top:1.2rem}.signup-channel-choices legend,.signup-channel-choices label{font-size:.78rem;font-weight:400;line-height:1.5}.signup-channel-choices label{display:flex;align-items:flex-start;margin:.7rem 0}.signup-channel-choices input{flex:0 0 18px;margin-top:3px}.signup-channel-choices .muted{font-size:.7rem}.email-bonus-offer p{font-size:.85rem}
@media(prefers-reduced-motion:no-preference){.is-spinning .disc svg{animation:pending-spin 1.2s linear infinite}@keyframes pending-spin{to{transform:rotate(360deg)}}}

/* A reserved action row keeps every gift condition above, never behind, Earn more. */
.member-page:has(.floating-earn:not([hidden])){height:100vh;height:100dvh;display:flex;flex-direction:column;padding-bottom:0;overflow:hidden}
.member-page:has(.floating-earn:not([hidden]))>.club-header{flex:none}
.member-page:has(.floating-earn:not([hidden]))>.wallet-overview{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding-bottom:1rem}
.member-page .floating-earn{position:static;transform:none;align-self:center;flex:none;margin:.65rem auto max(1rem,env(safe-area-inset-bottom));width:max-content}
.earn-section{border:0;background:transparent;box-shadow:none;padding:0}
.member-page .wheel{border:0;background:transparent;box-shadow:none;padding:0}

.member-page section:target,.member-page details:target{outline:0}

/* Match the approved compact wallet and framed wheel; live rewards stay server-owned. */
#wallet-points.has-gauge{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:.5rem 1.25rem;align-items:center}
#wallet-points.has-gauge>h2{grid-column:1/-1;margin:0 0 .5rem}
#wallet-points.has-gauge>.points-gauge{grid-column:1;grid-row:2/4;width:100%;margin:0;max-width:150px}
#wallet-points.has-gauge>.points-balance,#wallet-points.has-gauge>details{grid-column:2;margin:0;min-width:0}
.wheel-stage{position:relative;background:var(--surface);border-radius:16px;padding:26px 22px 24px;margin:1rem 0 1.5rem;overflow:visible}
.wheel-stage .disc{width:min(100%,320px);margin:0 auto}
.wheel-stage .disc::after{top:-10px;left:calc(50% - 12px);border-left-width:12px;border-right-width:12px;border-top:30px solid #912a24;filter:drop-shadow(0 3px 2px #0003)}
.wheel-copy{display:grid;gap:1rem}.wheel-copy form{margin:0}.wheel-copy .wheel-prize-details{text-align:left}
@media(max-width:350px){#wallet-points.has-gauge{grid-template-columns:110px minmax(0,1fr);gap:.4rem .75rem}.wheel-stage{padding:22px 14px}}

.member-greeting{margin:0 0 1.5rem}.member-greeting h2{overflow-wrap:anywhere;font-size:clamp(1.4rem,3vw,1.85rem);margin:0 0 .35rem}.member-greeting p{color:var(--muted);font-size:.85rem;margin:0}.member-page:has(.floating-earn:not([hidden]))>.member-greeting{flex:none}
.wheel-stage .disc svg{border:9px solid #b4b8c0;border-radius:50%;box-sizing:border-box}

/* Approved view heading and stage framing; no concept-only prizes are copied. */
.member-view-heading{display:flex;align-items:center;gap:.65rem;margin:0 0 1.25rem}.member-view-heading h2{margin:0}.member-view-heading>a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--card);flex:none}.member-view-heading img{width:20px;height:20px}
.member-page .wheel-layout{padding:18px;background:var(--card);border-radius:22px;max-width:44rem;margin-inline:auto}.member-page .wheel-stage{margin:0 0 1rem}.wheel-copy form>button{border-radius:100px}
.friends-art{position:relative;min-height:82px}.friends-art .friend-avatar{position:absolute;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--line)}.friends-art .friend-avatar img{width:25px;height:25px}.friends-art .first{left:0;top:8px}.friends-art .second{right:0;top:22px}.friends-art .friend-gift{position:absolute;left:26px;top:44px;width:30px;height:30px;background:#bd1d2a;border-radius:8px;display:grid;place-items:center}.friends-art .friend-gift img{width:18px;height:18px;filter:brightness(0) invert(1)}
#gifts:not(:has(>ul))>p:first-of-type:not(.muted){padding:1.4rem;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--raised)}

[data-theme=dark] .member-view-heading img,[data-theme=dark] .friends-art .friend-avatar img{filter:brightness(0) invert(1)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .member-view-heading img,:root:not([data-theme=light]) .friends-art .friend-avatar img{filter:brightness(0) invert(1)}}

/* The approved wallet pairs progress with the next real reward and uses a quiet footer. */
#wallet-points.has-gauge{grid-template-columns:minmax(95px,120px) minmax(0,1fr);gap:.65rem 1.2rem}
#wallet-points.has-gauge>.points-gauge{grid-row:2/4;max-width:120px}
#wallet-points.has-gauge>.reward-summary{grid-column:2;grid-row:2;min-width:0}
#wallet-points.has-gauge>.reward-summary p{font-size:.75rem;line-height:1.6}
#wallet-points.has-gauge>.points-balance{grid-column:2;grid-row:3;font-size:.7rem}
#wallet-points.has-gauge>.wallet-details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:.9rem;margin-top:.5rem}
#wallet-points.has-gauge .gauge-copy>strong{font-size:2.3rem}
#wallet-points.has-gauge .gauge-copy{font-size:.65rem}
.member-page .floating-earn{border-radius:100px;padding:.85rem 1.5rem}
.member-page[data-view=home] .earn-card{grid-template-columns:100px 1fr;min-height:160px}
.member-page[data-view=home] .earn-art svg{width:96px;height:96px}
.member-page[data-view=home] #points{box-shadow:none;background:transparent;border:0;padding:0}

/* Approved desktop wheel keeps the stage and action alongside one another. */
@media(min-width:800px){.member-page[data-view=wheel] .wheel,.member-page .wheel-layout{max-width:64rem}.member-page .wheel-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2rem;align-items:center}.member-page .wheel-stage{display:grid;place-items:center;min-height:390px;margin:0;padding:32px 24px}.wheel-copy{align-content:center;gap:1.5rem}}

/* Saved-design parity: stacked wallet, compact progress, segmented countdown,
   generous referral composition. Values and eligibility remain server-owned. */
.member-page[data-view=home] .wallet-overview{display:block}
.member-page[data-view=home] #wallet-points{max-width:650px;margin-bottom:1.6rem}
.member-page[data-view=home] #gifts,.member-page[data-view=home] #points,.member-page[data-view=home] .earn-section{margin-top:1.6rem}
.member-page[data-view=home] #gifts>h2{margin-bottom:.5rem}
.gift-card>.gift-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;padding:.75rem;margin-block:1rem}
.countdown-unit{display:grid;justify-items:center;gap:.15rem;padding:.55rem .15rem;background:var(--card);border-radius:9px;min-width:0}
.countdown-unit strong{font-size:1.25rem;color:var(--accent);line-height:1.2;font-variant-numeric:tabular-nums}
.countdown-unit small{font-size:.65rem;color:var(--muted);font-weight:400}
.member-page .floating-earn{display:flex;align-items:center;justify-content:center;gap:.65rem}
.floating-earn img{width:18px;height:18px;filter:brightness(0) invert(1)}
.referral-hero{background:var(--card);padding:1.6rem;border-radius:16px;box-shadow:var(--raised);margin-bottom:1.5rem}
.member-page .referral{border:0;background:transparent;padding:0;box-shadow:none}
.referral-hero-top{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:1rem;align-items:center;margin-bottom:1.5rem}
.referral-hero h3{font-size:clamp(1.6rem,4vw,2.1rem);letter-spacing:-.035em;line-height:1.15;margin:0 0 .6rem}
.referral-hero-top p{color:var(--muted);font-size:.85rem;margin:0}
.referral .share-invite{border-radius:100px;margin-block:1rem}
.referral-reward{padding:1rem;background:var(--surface);border-radius:12px;line-height:1.7}
.member-profile-name{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.2rem}
@media(min-width:800px){.member-page .floating-earn{align-self:flex-end;margin-right:0}.member-page[data-view=home] .earn-card{grid-template-columns:1fr;align-content:start;gap:1.25rem;min-height:245px;padding:1.5rem}.member-page[data-view=home] .earn-art{justify-content:start}.member-page[data-view=home] .earn-card strong{font-size:1.3rem}}
