.club-open{position:fixed;right:22px;bottom:18px;z-index:18;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid #fffaf3d9;border-radius:30px;background:#fffaf3e8;color:var(--ink);box-shadow:0 4px 22px #35223d17;font-size:12px;font-weight:800;backdrop-filter:blur(14px)}
#club-count{font-size:10px;color:var(--purple);font-weight:700}
.club-panel{width:min(440px,calc(100vw - 32px));max-height:calc(100svh - 48px);overflow:auto;margin:auto;padding:25px;border:1px solid #ffffff;border-radius:22px;background:#fffaf3f5;color:var(--ink);box-shadow:0 22px 90px #35223d33;backdrop-filter:blur(22px)}
.club-panel::backdrop{background:#35223d45;backdrop-filter:blur(4px)}
.club-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.club-eyebrow{font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--pink)}
.club-heading button,.club-toast button{border:0;background:transparent;font-size:25px;line-height:1;min-width:44px;min-height:44px}
.club-panel h2{font-size:38px;margin:12px 0}.club-panel p{font-size:13px;line-height:1.55;margin:12px 0}.club-progress{color:var(--purple);font-weight:800}
#club-achievements{list-style:none;padding:0;margin:20px 0}#club-achievements li{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #e5d7df}.club-symbol{flex:none;display:grid;place-items:center;width:39px;height:39px;border:1px dashed #a58d9d;border-radius:50%;font:400 24px Fredoka;color:#715a71}.is-unlocked .club-symbol{background:#f7dce7;border:1px solid #c995b0;color:var(--pink)}
#club-achievements strong{display:block;font:500 20px Fredoka}#club-achievements li div>span{display:block;font-size:11px;line-height:1.5;margin-top:4px;color:#6b5366}.is-unlocked strong{color:var(--pink)}
.club-panel p.club-storage{font-size:11px;padding-top:13px;border-top:1px solid #e5d7df;color:#6b5366}.club-reset button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:11px;padding:10px 0;min-height:44px}.club-reset>div button{display:block}.club-reset>div button:first-of-type{color:var(--pink);font-weight:800}
.club-toast{position:fixed;z-index:20;left:22px;bottom:18px;max-width:min(390px,calc(100vw - 205px));display:flex;align-items:center;gap:8px;padding:7px 9px 7px 18px;border:1px solid #e9cad9;border-radius:14px;background:#fffaf3f5;color:var(--ink);box-shadow:0 7px 30px #35223d1c;font-size:12px;font-weight:800;animation:club-arrive .25s ease-out}
@keyframes club-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:650px){.club-open{right:14px;bottom:14px}.club-toast{left:14px;bottom:70px;max-width:calc(100vw - 28px)}.club-panel{padding:20px}.club-panel h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.club-toast{animation:none}}

/* Share the stamping toolbox's frosted-glass surface and edge lighting. */
.club-open,.club-toast,.club-panel{
 background:rgba(255,250,243,.72);
 border:1px solid rgba(255,255,255,.78);
 backdrop-filter:blur(22px) saturate(1.25);
 -webkit-backdrop-filter:blur(22px) saturate(1.25);
 box-shadow:inset 0 1px 0 #ffffffcc,inset 0 -1px 0 #ffffff44,0 16px 44px #35223d20;
}
.club-open{background:#fffaf39c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffffcc,0 0 0 3px #fffaf31f,0 0 24px #fffaf366,0 5px 18px #63397f20}
.club-open:hover,.club-open:focus-visible{background:#fffaf3d9}
.club-panel{position:fixed;inset:auto 22px calc(74px + env(safe-area-inset-bottom,0px)) auto;margin:0;width:min(440px,calc(100vw - 44px));max-height:calc(100svh - 96px - env(safe-area-inset-bottom,0px));border-radius:16px;overscroll-behavior:contain;scrollbar-width:thin}
/* Keep the page visible through the glass; native dialog retains its focus boundary. */
.club-panel::backdrop{background:#35223d08;backdrop-filter:none}
.club-open{bottom:calc(18px + env(safe-area-inset-bottom,0px))}
@media(max-width:650px){
 .club-open{bottom:calc(14px + env(safe-area-inset-bottom,0px))}
 .club-panel{right:14px;bottom:calc(70px + env(safe-area-inset-bottom,0px));width:calc(100vw - 28px);max-height:calc(100svh - 88px - env(safe-area-inset-bottom,0px))}
 .club-toast{bottom:calc(70px + env(safe-area-inset-bottom,0px))}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.club-open,.club-toast,.club-panel{background:#fffaf3ed}}
