/* Pald Earn V3 — supporting screens (Compact Arcade, overview screens 12–23).
   Goals & check-in, Levels, History, Profile, Wallet, Convert, Withdraw, Shopoints, Piggy Boink, Invite,
   Friends, Chat, Notifications, Help, Settings, Watch Lounge, Other apps.
   Rules: one shallow tray per idea, rows 44–56px, icons 24–32px, buttons 32–44px, numbers tabular. */

:root{--rose-soft:#FCEFF3;--rose-soft-2:#F8E3EA;--rose-ink:#A4466A}
:root[data-theme="dark"]{--rose-soft:#2A2132;--rose-soft-2:#30253A;--rose-ink:#F2B5C8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--rose-soft:#2A2132;--rose-soft-2:#30253A;--rose-ink:#F2B5C8}}

/* ---------- shared building blocks ---------- */
.sx{display:grid;gap:12px;width:100%;max-width:640px;margin:0 auto}
.sx .sx{max-width:none}
.sx-tray{background:var(--surface);border-radius:20px;box-shadow:var(--sh-1);padding:12px 14px}
.sx-tray.flush{padding:4px 14px}
.sx-tray.inset{background:var(--inset);box-shadow:none}
.sx-h{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin:2px 4px -2px}
.sx-h h2{font-size:15px;font-weight:800;letter-spacing:-.005em}
.sx-h .lnk,.sx-h a{font-size:13px;font-weight:700;color:var(--action-ink);min-height:32px;display:inline-flex;align-items:center;gap:2px}
.sx-h .lnk .glyph{width:15px;height:15px}
.sx-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:6px 0;width:100%;text-align:left;color:var(--ink)}
.sx-row+.sx-row{border-top:1px solid var(--line)}
.sx-row>.art{width:26px;height:26px}
.sx-row .tt{min-width:0}
.sx-row .tt b{display:block;font-weight:700;font-size:14.5px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sx-row .tt small{display:block;color:var(--ink-2);font-size:12.5px;line-height:1.3;margin-top:1px}
.sx-row .v{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14.5px}
.sx-row .v small{display:block;text-align:right;font-weight:600;font-size:11.5px;color:var(--ink-3)}
.sx-row .chev{width:16px;height:16px;color:var(--ink-3)}
button.sx-row,a.sx-row{cursor:pointer;border-radius:10px;transition:background-color var(--t-press)}
button.sx-row:active,a.sx-row:active{background:var(--inset)}
.sx-row.r4{grid-template-columns:auto minmax(0,1fr) auto auto}
.sx-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sx-note{font-size:12.5px;color:var(--ink-2);text-align:center;line-height:1.4}
.sx-note.left{text-align:left}
.sx-mini{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:0 12px;border-radius:10px;background:var(--action-soft);color:var(--action-ink);font-size:13px;font-weight:700;white-space:nowrap;transition:transform var(--t-press),background-color var(--t-press)}
.sx-mini:active:not(:disabled){transform:scale(.96)}
.sx-mini:disabled{opacity:.5;cursor:not-allowed}
.sx-mini.solid{background:linear-gradient(180deg,var(--action-2),var(--action));color:var(--on-action)}
.sx-mini.ghost{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--ink)}
.sx-mini.done{background:var(--mint-soft);color:var(--mint-ink)}
.sx-mini .glyph{width:15px;height:15px}
.sx-mini.is-loading{color:transparent!important;position:relative}
.sx-mini.is-loading::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid rgba(90,94,226,.25);border-top-color:var(--action);animation:spin .7s linear infinite}
.sx-dots{display:inline-flex;gap:3px}.sx-dots i{width:6px;height:6px;border-radius:50%;background:var(--inset-2)}.sx-dots i.on{background:var(--action)}
.amt-s{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.amt-s .art{width:18px;height:18px}
.amt-s.lg{font-size:24px;font-weight:850;letter-spacing:-.02em;gap:6px}.amt-s.lg .art{width:28px;height:28px}
.sx-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;border-radius:13px;background:var(--inset)}
.sx-seg button{min-height:34px;border-radius:10px;font-size:14px;font-weight:700;color:var(--ink-2);transition:background-color .15s,color .15s}
.sx-seg button[aria-selected="true"]{background:var(--seg-on);color:var(--action-ink);box-shadow:var(--sh-1)}
.sx-empty{display:grid;justify-items:center;gap:6px;padding:18px 8px;text-align:center}
.sx-empty .art{width:56px;height:56px}
.sx-empty b{font-size:15px;font-weight:800}
.sx-empty p{font-size:13px;color:var(--ink-2);max-width:280px}
.sx-sk{height:56px;border-radius:14px;background:linear-gradient(90deg,var(--inset) 0,var(--surface-2) 50%,var(--inset) 100%);background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
.field{width:100%;min-width:0;height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:15px}
.field:focus{outline:none;border-color:var(--action);box-shadow:var(--focus)}
textarea.field{height:auto;min-height:96px;padding:10px 12px;resize:vertical}
select.field{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}
.sx-form{display:grid;gap:10px}
.sx-form label{display:grid;gap:5px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.sx-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.ring{--p:0;position:relative;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:conic-gradient(var(--action) calc(var(--p)*1%),var(--inset-2) 0);flex:none}
.ring::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--surface)}
.ring.done{background:var(--success)}
.ring.done::before{display:none}
.ring .glyph{position:absolute;width:14px;height:14px;color:#fff;stroke-width:3}
.sx-tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:750;background:var(--inset);color:var(--ink-2);white-space:nowrap}
.sx-tag.mint{background:var(--mint-soft);color:var(--mint-ink)}.sx-tag.gold{background:var(--gold-soft);color:var(--gold-ink)}.sx-tag.coral{background:var(--coral-soft);color:var(--coral-ink)}.sx-tag.action{background:var(--action-soft);color:var(--action-ink)}.sx-tag.rose{background:var(--rose-soft-2);color:var(--rose-ink)}
.sx-help{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--action-ink);min-height:32px}
.sx-help .glyph{width:15px;height:15px}
.sx-warn{display:flex;gap:8px;align-items:flex-start;padding:9px 11px;border-radius:12px;background:var(--gold-soft);color:var(--ink);font-size:12.5px;line-height:1.4}
.sx-warn .glyph{width:16px;height:16px;color:var(--gold-ink);margin-top:1px}
.sx-warn.info{background:var(--action-soft)}.sx-warn.info .glyph{color:var(--action-ink)}
.sx-warn.bad{background:var(--coral-soft)}.sx-warn.bad .glyph{color:var(--coral-ink)}
.sx-warn.ok{background:var(--mint-soft)}.sx-warn.ok .glyph{color:var(--mint-ink)}

/* ---------- goals & check-in (overview 17) ---------- */
.gl-task{grid-template-columns:24px minmax(0,1fr) auto auto}
.gl-task .tt b{white-space:normal;overflow:visible;text-overflow:clip}
.gl-task .val{font-size:13px;font-weight:750;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.gl-task.done .val{color:var(--mint-ink)}
.gl-task .alt{display:flex;gap:8px;margin-top:3px;font-size:11.5px;color:var(--ink-3);font-weight:650}
.gl-task .alt span{display:inline-flex;align-items:center;gap:3px}
.gl-task .alt .on{color:var(--action-ink)}
.gl-reward{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:8px;padding:9px 10px 9px 12px;border-radius:14px;background:var(--inset)}
.gl-reward .gets{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13.5px}
.gl-reward small{display:block;font-size:11.5px;color:var(--ink-2);font-weight:650;margin-bottom:2px}
.gl-reset{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--ink-2);margin-top:8px}
.gl-reset b{color:var(--ink);font-variant-numeric:tabular-nums}
.ci-head{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px}
.ci-head>.art{width:30px;height:30px}
.ci-head b{display:block;font-size:15px;font-weight:800}
.ci-head small{display:block;font-size:12px;color:var(--ink-2)}
.ci-tray{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.ci-day{position:relative;display:grid;justify-items:center;gap:2px;padding:6px 1px 5px;border-radius:12px;background:var(--inset);color:var(--ink-2);font-size:11px;font-weight:700;min-width:0}
.ci-day .art{width:20px;height:20px}
.ci-day b{font-size:11.5px;color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}
.ci-day.claimed{background:var(--mint-soft);color:var(--mint-ink)}
.ci-day.claimed .art{opacity:.4}
.ci-day.claimed::after{content:"";position:absolute;top:3px;right:3px;width:13px;height:13px;border-radius:50%;background:var(--success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/9px no-repeat}
.ci-day.today{background:var(--action-soft);box-shadow:inset 0 0 0 2px var(--action);color:var(--action-ink)}
.ci-day.next{opacity:.8}
.ci-day.gold7 b{color:var(--gold-ink)}
.ci-claim{margin-top:10px}
.ci-rule{display:flex;gap:6px;align-items:flex-start;margin-top:8px;font-size:12px;color:var(--ink-2);line-height:1.4}
.ci-rule .glyph{width:14px;height:14px;margin-top:1px;color:var(--ink-3)}

/* ---------- levels (overview 15) ---------- */
.lv-hero{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:center}
.lv-badge{position:relative;width:80px;height:80px;display:grid;place-items:center}
.lv-badge>.art{width:76px;height:76px}
.lv-badge .rn{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);min-width:28px;height:18px;padding:0 6px;border-radius:9px;background:linear-gradient(180deg,#7275F0,#4E52D6);color:#fff;font-size:11px;font-weight:850;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--surface)}
.lv-hero h2{font-size:20px;font-weight:850;letter-spacing:-.01em}
.lv-hero .sub{font-size:12.5px;color:var(--ink-2);margin:1px 0 7px}
.lv-xp{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--ink-2);margin-top:5px;font-variant-numeric:tabular-nums}
.lv-xp b{color:var(--ink)}
.lv-tiers{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.lv-tier{display:grid;justify-items:center;gap:1px;padding:6px 0 4px;border-radius:12px;font-size:12px;font-weight:800;color:var(--ink-2);transition:background-color var(--t-press)}
.lv-tier .art{width:38px;height:38px}
.lv-tier small{font-size:11px;font-weight:650;color:var(--ink-3)}
.lv-tier.locked .art{filter:grayscale(.9);opacity:.5}
.lv-tier.on{background:var(--action-soft);color:var(--action-ink)}
.lv-tier:active{background:var(--inset)}
.lv-req{grid-template-columns:24px minmax(0,1fr) auto}
.lv-req .v{font-size:13px;color:var(--ink-2)}
.lv-req.met .v{color:var(--mint-ink)}
.lv-perks{display:flex;flex-wrap:wrap;gap:6px}
.lv-path{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:8px 0}
.lv-path+.lv-path{border-top:1px solid var(--line)}
.lv-path b{font-size:14px;font-weight:750}
.lv-path small{grid-column:1/-1;font-size:12px;color:var(--ink-2)}
.lv-path .meter{grid-column:1/-1;height:6px;margin-top:4px}
.lv-or{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.lv-or::before,.lv-or::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- history ---------- */
.hx-day{font-size:12px;font-weight:750;color:var(--ink-3);margin:6px 4px -4px;text-transform:none}
.hx-row{grid-template-columns:32px minmax(0,1fr) auto;min-height:56px}
.hx-row>.art,.hx-row>.tone-tile{width:32px;height:32px}
.hx-amt{font-weight:800;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.hx-amt .art{width:16px;height:16px}
.hx-amt.plus{color:var(--success)}.hx-amt.minus{color:var(--coral-ink)}
.hx-more{justify-self:center}

/* ---------- profile ---------- */
.pf-head{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:12px;align-items:center}
.pf-head .face{width:60px;height:60px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--accent)}
.pf-head .face svg,.pf-head .face img{width:100%;height:100%}
.pf-head h2{font-size:18px;font-weight:850}
.pf-head p{font-size:12.5px;color:var(--ink-2);display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:2px}
.pf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}
.pf-stat{display:grid;justify-items:center;gap:2px;padding:7px 2px;border-radius:12px;background:var(--inset);font-size:11px;color:var(--ink-2);font-weight:650}
.pf-stat .art{width:20px;height:20px}
.pf-stat b{font-size:13px;color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}

/* ---------- wallet (overview 12) ---------- */
.wl-cur{grid-template-columns:28px minmax(0,1fr) auto auto;min-height:46px;gap:8px}
.wl-currency-action{min-height:32px;padding:5px 7px;gap:4px;font-size:10px}
.wl-cur .v{overflow-wrap:anywhere}
@media(max-width:360px){.wl-cur{gap:5px}.wl-currency-action span{display:none}.wl-currency-action{min-width:32px}}
.wl-cur>.art{width:26px;height:26px}
.wl-cur .tt b{font-weight:650}
.wl-cur .v{font-size:15px}
.wl-held{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding:7px 10px;border-radius:10px;background:var(--gold-soft);font-size:12.5px;color:var(--ink)}
.wl-live-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.wl-live-head h2{font-size:14px}.wl-live-head>span{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--mint-ink)}.wl-live-head>span::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.wl-live-row .v{font-size:13px}
.wl-actions{margin-top:10px}
.wl-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--inset);color:var(--ink);font-size:11px;font-weight:850;letter-spacing:.02em}
.wl-mark img{display:block;width:32px;height:32px;max-height:32px;object-fit:contain;border-radius:9px}
.sheet-body .wl-method{height:auto;min-height:58px;max-height:84px;align-self:start;align-content:center}
.sheet-body .wl-method .tt small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wd-item{min-height:0;align-self:start}
.wd-item .wd-opt{margin:0;min-height:60px;max-height:84px;align-content:center}
.wl-method{grid-template-columns:32px minmax(0,1fr) auto}
.wl-method .tt small.wl-saved{color:var(--mint-ink)}
.wl-method.off{opacity:.55}

/* ---------- convert (overview 13) ---------- */
.cv{display:grid;gap:8px}
.cv-box{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:16px;background:var(--inset)}
.cv-box>.art{width:38px;height:38px}
.cv-box small{display:block;font-size:12px;color:var(--ink-2);font-weight:700}
.cv-box input{width:100%;min-width:0;border:0;background:transparent;padding:0;font-size:22px;font-weight:850;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink)}
.cv-box input:focus{outline:none}
.cv-box:focus-within{box-shadow:inset 0 0 0 2px var(--action)}
.cv-box .get{font-size:22px;font-weight:850;letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.cv-box .cv-side{font-size:12px;color:var(--ink-2);text-align:right;font-weight:650}
.cv-mid{display:grid;place-items:center;margin:-14px 0;position:relative;z-index:1}
.cv-mid span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--surface);box-shadow:var(--sh-1);color:var(--action-ink)}
.cv-mid .glyph{width:16px;height:16px;transform:rotate(90deg)}
.cv-facts{display:grid;gap:0;margin-top:2px}
.cv-facts div{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--ink-2);padding:4px 2px}
.cv-facts b{color:var(--ink);font-weight:750;font-variant-numeric:tabular-nums}
.cv-err{min-height:18px;font-size:12.5px;color:var(--coral-ink);font-weight:650;text-align:center}
.cv-switch{grid-template-columns:auto minmax(0,1fr) auto auto}
.cv-switch .glyph{width:16px;height:16px;color:var(--ink-3)}
.cv-pair{display:flex;align-items:center;gap:4px}
.cv-pair .art{width:24px;height:24px}
.qt{display:grid;gap:0}
.qt div{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:38px;font-size:14px;color:var(--ink-2)}
.qt div+div{border-top:1px solid var(--line)}
.qt b{color:var(--ink);font-weight:800;display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}
.qt b .art{width:18px;height:18px}
.qt-exp{font-size:12px;color:var(--ink-3);text-align:center;margin-top:6px}

/* ---------- withdraw ---------- */
.wd-dest{display:grid;gap:6px}
.wd-opt{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;gap:10px;align-items:center;min-height:48px;padding:6px 10px;border-radius:14px;background:var(--inset);cursor:pointer}
.wd-opt input{appearance:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2);margin:0;display:grid;place-items:center}
.wd-opt input:checked{border-color:var(--action);background:radial-gradient(var(--action) 0 5px,transparent 6px)}
.wd-opt:has(input:checked){box-shadow:inset 0 0 0 2px var(--action);background:var(--action-soft)}
.wd-status{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:750;background:var(--inset);color:var(--ink-2)}
.wd-status.paid{background:var(--mint-soft);color:var(--mint-ink)}
.wd-status.approved,.wd-status.processing,.wd-status.under_review,.wd-status.requested{background:var(--action-soft);color:var(--action-ink)}
.wd-status.rejected,.wd-status.failed{background:var(--coral-soft);color:var(--coral-ink)}
.wd-status.cancelled,.wd-status.refunded{background:var(--gold-soft);color:var(--gold-ink)}

/* ---------- Shopoints (overview 18) ---------- */
.sp-top{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center}
.sp-top>.art{width:46px;height:46px}
.sp-top b{display:block;font-size:16px;font-weight:850}
.sp-top small{display:block;font-size:12.5px;color:var(--ink-2)}
.sp-bal{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.sp-bal>span{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px 0 6px;border-radius:999px;background:var(--inset);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.sp-bal .art{width:20px;height:20px}
.sp-pack{grid-template-columns:36px minmax(0,1fr) auto;min-height:58px}
.sp-pack>.art{width:34px;height:34px}
.sp-pack .tt b{display:flex;flex-wrap:wrap;gap:4px;font-size:15px;white-space:normal;overflow:visible;text-overflow:clip}
.sp-pack .tt small{display:grid;gap:2px;margin-top:4px}
.sp-cost{display:inline-flex;align-items:center;gap:4px}
.sp-pack .tt small .art{width:14px;height:14px}
.sp-pack.used .tt b{color:var(--ink-2)}

/* ---------- Piggy Boink (overview 14) ---------- */
.pg-tray{background:linear-gradient(180deg,var(--rose-soft),var(--rose-soft-2));border-radius:22px;padding:12px 14px;box-shadow:var(--sh-1)}
.pg-top{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center}
.pg-top>.art{width:72px;height:72px}
.pg-top small{display:block;font-size:12px;color:var(--ink-2);font-weight:700}
.pg-top .team{font-size:16px;font-weight:850;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-pool{display:flex;align-items:baseline;gap:6px;margin-top:3px}
.pg-pool .local{display:inline;font-size:12px}
.pg-clock{align-self:start;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px;border-radius:999px;background:var(--surface);font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.pg-clock .glyph{width:13px;height:13px}
.pg-seats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:12px}
.pg-seat{display:grid;justify-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--ink-2);min-width:0}
.pg-seat .face{position:relative;width:42px;height:42px;border-radius:50%;overflow:visible}
.pg-seat .face>.art,.pg-seat .face svg{width:42px;height:42px;border-radius:50%}
.pg-seat .face .ok{position:absolute;right:-2px;bottom:-2px;width:16px;height:16px;border-radius:50%;background:var(--success);box-shadow:0 0 0 2px var(--rose-soft);display:grid;place-items:center}
.pg-seat .face .ok .glyph{width:10px;height:10px;color:#fff;stroke-width:3.4}
.pg-seat span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-seat.open .face{display:grid;place-items:center;border:1.5px dashed color-mix(in srgb,var(--rose-ink) 45%,transparent);color:var(--rose-ink)}
.pg-seat.open .face .glyph{width:18px;height:18px}
.pg-me{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--surface) 70%,transparent);font-size:12.5px;color:var(--ink-2)}
.pg-me b{color:var(--ink)}
.pg-member{grid-template-columns:36px minmax(0,1fr) auto}
.pg-member .face{width:36px;height:36px}
.pg-member .face svg,.pg-member .face>.art{width:36px;height:36px;border-radius:50%}
.pg-vote{display:grid;gap:8px}
.pg-vote .sx-actions{grid-template-columns:1fr 1fr}
.pg-start{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center}
.pg-start>.art{width:64px;height:64px}
.pg-start b{display:block;font-size:16px;font-weight:850}
.pg-start p{font-size:12.5px;color:var(--ink-2)}

/* ---------- invite & friends (overview 20) ---------- */
.iv-top{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center}
.iv-top>.art{width:50px;height:50px}
.iv-top b{display:block;font-size:16px;font-weight:850}
.iv-top p{font-size:12.5px;color:var(--ink-2);line-height:1.4}
.iv-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:12px;padding:5px 5px 5px 12px;border-radius:14px;background:var(--inset)}
.iv-link code{font:600 12.5px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}
.iv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.iv-stat{display:grid;justify-items:center;gap:1px;padding:8px 4px;border-radius:14px;background:var(--surface);box-shadow:var(--sh-1);font-size:11.5px;font-weight:650;color:var(--ink-2)}
.iv-stat b{font-size:17px;font-weight:850;color:var(--ink);font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:4px}
.iv-stat b .art{width:16px;height:16px}
.fr-row{grid-template-columns:40px minmax(0,1fr) auto auto;min-height:56px}
.fr-row .face{width:40px;height:40px}
.fr-row .face svg,.fr-row .face>.art{width:40px;height:40px;border-radius:50%}
.fr-row .tt small.on{color:var(--mint-ink)}
.fr-row .tt small.unread{color:var(--action-ink);font-weight:750}
.fr-row .icon-btn{width:32px;height:32px;border-radius:10px}
.fr-row .icon-btn .glyph{width:18px;height:18px}

/* ---------- chat (overview 21) ---------- */
.ch{display:flex;flex-direction:column;min-height:calc(100dvh - 76px - var(--safe-t));max-width:640px;margin:0 auto}
.ch-older{align-self:center;margin-bottom:6px}
.ch-list{flex:1;display:flex;flex-direction:column;gap:6px;padding:2px 0 10px}
.ch-msg{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:end;max-width:88%}
.ch-msg .face{width:30px;height:30px}
.ch-msg .face svg,.ch-msg .face>.art{width:30px;height:30px;border-radius:50%}
.ch-msg.me{align-self:flex-end;grid-template-columns:minmax(0,1fr)}
.ch-msg.me .face{display:none}
.ch-b{position:relative;padding:7px 34px 7px 11px;border-radius:16px 16px 16px 6px;background:var(--surface);box-shadow:var(--sh-1);font-size:14.5px;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}
.ch-msg.me .ch-b{border-radius:16px 16px 6px 16px;background:var(--action-soft)}
.ch-meta{display:flex;gap:6px;align-items:baseline;font-size:11.5px;color:var(--ink-3);margin-bottom:1px;white-space:normal}
.ch-meta b{color:var(--ink);font-weight:750;font-size:12.5px}
.ch-msg.me .ch-meta b{display:none}
.ch-quote{display:block;margin:2px 0 4px;padding:3px 8px;border-left:3px solid var(--accent);border-radius:6px;background:color-mix(in srgb,var(--inset) 70%,transparent);font-size:12.5px;color:var(--ink-2)}
.ch-more{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--ink-3)}
.ch-more:hover,.ch-more:focus-visible{background:var(--inset);color:var(--ink)}
.ch-more .glyph{width:16px;height:16px}
.ch-msg.sending .ch-b{opacity:.6}
.ch-msg.failed .ch-b{box-shadow:inset 0 0 0 1.5px var(--coral)}
.ch-fail{font-size:11.5px;color:var(--coral-ink);font-weight:700;margin-top:2px;justify-self:end}
.ch-compose{position:sticky;bottom:0;z-index:5;display:grid;gap:6px;padding:8px 0 calc(8px + var(--safe-b));background:var(--page)}
.ch-bar{display:grid;grid-template-columns:40px minmax(0,1fr) 44px;gap:6px;align-items:center}
.ch-bar .field{height:44px;border-radius:22px;padding:0 16px}
.ch-bar .icon-btn{width:40px;height:40px;border-radius:50%}
.ch-send{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,var(--action-2),var(--action));color:var(--on-action);box-shadow:var(--sh-act)}
.ch-send .glyph{width:20px;height:20px}
.ch-send:disabled{opacity:.45;box-shadow:none}
.ch-reply{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:6px;padding:6px 6px 6px 10px;border-radius:12px;background:var(--surface);box-shadow:inset 3px 0 0 var(--accent);font-size:12.5px;color:var(--ink-2)}
.ch-reply b{color:var(--ink)}
.ch-reply span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-emoji{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;padding:6px;border-radius:14px;background:var(--surface);box-shadow:var(--sh-1)}
.ch-emoji button{height:38px;border-radius:10px;font-size:21px;line-height:1}
.ch-emoji button:active{background:var(--inset)}
.ch-tools{display:flex;justify-content:flex-end;gap:4px}

/* ---------- notifications (overview 22) ---------- */
.nt-row{grid-template-columns:32px minmax(0,1fr) auto;min-height:54px;align-items:start;padding:9px 0}
.nt-row>.art{width:28px;height:28px;margin-top:1px}
.nt-row .tt b{white-space:normal;font-weight:650}
.nt-row.unread .tt b{font-weight:800}
.nt-row .tt small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nt-side{display:grid;justify-items:end;gap:4px}
.nt-time{font-size:11.5px;color:var(--ink-3);font-weight:650;white-space:nowrap}
.nt-dot{width:8px;height:8px;border-radius:50%;background:var(--action)}
.nt-row .icon-btn{width:28px;height:28px;border-radius:8px}
.nt-row .icon-btn .glyph{width:16px;height:16px}

/* ---------- help & settings (overview 23) ---------- */
.st-row{grid-template-columns:32px minmax(0,1fr) auto;min-height:50px}
.st-row>.tone-tile{width:32px;height:32px;border-radius:10px}
.st-row>.tone-tile .glyph{width:18px;height:18px}
.st-row select{appearance:none;border:0;background:transparent;font-weight:700;font-size:14px;color:var(--ink-2);text-align:right;padding:6px 18px 6px 4px;max-width:160px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 9px) 52%,calc(100% - 4px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.st-row select option{color:#192139;background:#fff}
.st-seg{display:grid;grid-auto-flow:column;gap:2px;padding:2px;border-radius:10px;background:var(--inset)}
.st-seg button{min-height:30px;padding:0 9px;border-radius:8px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.st-seg button[aria-pressed="true"]{background:var(--seg-on);color:var(--action-ink);box-shadow:var(--sh-1)}
.switch{appearance:none;position:relative;width:44px;height:26px;border-radius:13px;background:var(--inset-2);margin:0;cursor:pointer;transition:background-color .18s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s var(--ease)}
.switch:checked{background:var(--success)}
.switch:checked::after{transform:translateX(18px)}
.tk-row{grid-template-columns:minmax(0,1fr) auto}
.tk-row .tt small{white-space:normal}

/* ---------- Watch Lounge (overview 19) ---------- */
.lw-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lw-card{display:grid;align-content:start;border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:var(--sh-1)}
.lw-media{position:relative;display:grid;place-items:center;aspect-ratio:16/11;background:linear-gradient(160deg,#C9D6FF 0%,#E7E3FF 55%,#FFE6EE 100%)}
.lw-media.alt{background:linear-gradient(160deg,#C6EFE6 0%,#E3F4FF 60%,#FFF1D6 100%)}
.lw-media>.art{width:58px;height:58px}
.lw-play{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.88);color:#4146BE;box-shadow:0 2px 8px rgba(25,33,57,.18)}
.lw-play .glyph{width:15px;height:15px;fill:currentColor}
.lw-body{display:grid;gap:6px;padding:9px 10px 10px}
.lw-body b{font-size:14px;font-weight:800}
.lw-body small{font-size:12px;color:var(--ink-2);line-height:1.35}
.lw-body .btn{min-height:38px;font-size:13.5px;border-radius:11px;padding:0 10px}
:root[data-theme="dark"] .lw-media{background:linear-gradient(160deg,#2B3463 0%,#2F2A55 55%,#3A2840 100%)}
:root[data-theme="dark"] .lw-media.alt{background:linear-gradient(160deg,#1F4440 0%,#23324F 60%,#3B3326 100%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lw-media{background:linear-gradient(160deg,#2B3463 0%,#2F2A55 55%,#3A2840 100%)}:root:not([data-theme="light"]) .lw-media.alt{background:linear-gradient(160deg,#1F4440 0%,#23324F 60%,#3B3326 100%)}}
.lw-limits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.lw-limits div{display:grid;justify-items:center;padding:8px 4px;border-radius:14px;background:var(--surface);box-shadow:var(--sh-1);font-size:11.5px;color:var(--ink-2);font-weight:650;text-align:center}
.lw-limits b{font-size:15px;color:var(--ink);font-weight:850;font-variant-numeric:tabular-nums}

/* ---------- Other apps ---------- */
.ap-row{grid-template-columns:44px minmax(0,1fr) auto;min-height:60px}
.ap-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#fff;font-weight:900;font-size:19px;background:linear-gradient(150deg,#8B8CF8,#5459C9)}
.ap-mark.h{background:linear-gradient(150deg,#F39E9B,#DF6F8E)}
.ap-mark.l{background:linear-gradient(150deg,#79D7C3,#3FA78F)}

/* ---------- wide screens ---------- */
@media (min-width:900px){
 .sx.two{max-width:980px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
 .sx.two>.full{grid-column:1/-1}
}
@media (max-width:359px){
 .ci-day{font-size:9.5px}.ci-day b{font-size:11px}.ci-day .art{width:17px;height:17px}
 .lv-tier .art{width:32px;height:32px}
 .pg-seat .face,.pg-seat .face>.art,.pg-seat .face svg{width:36px;height:36px}
}

/* ---------- level badge inspect, sound preview, volume (folded from arcade-polish/night) ---------- */
.badge-inspect{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 14px}
.badge-inspect p{font-size:12px;color:var(--ink-2);max-width:280px}
.badge-inspect .btn{font-size:13px;flex:none}
.tier-caption{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-2);margin-top:6px}
.tier-caption>.glyph{width:14px;height:14px}
.tier-caption.earned{color:var(--mint-ink)}
.sound-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.sound-preview .tt{min-width:0}
.sound-preview .tt b{font-size:14px}
.sound-preview .tt small{display:block;font-size:12px;color:var(--ink-2);margin-top:3px}
.sound-preview .btn{min-width:44px;padding:0 12px;font-size:13px}
.volume-control{width:100%;accent-color:var(--action);min-height:44px}

/* ---------- profile portrait (folded from arcade-polish.css) ---------- */
.pf-head .profile-portrait{position:relative;display:grid;place-items:center;width:64px;height:64px;flex:none}
.profile-portrait>.avatar-btn{width:64px;height:64px}
.profile-portrait .avatar-btn .face{width:54px;height:54px}

/* ---------- V3: saved payout methods (Withdraw), invite-star ladder (Goals), app logos ---------- */
.wd-item{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:6px}
.wd-item .wd-more{width:36px;height:36px;border-radius:12px;background:var(--inset)}
.gl-star{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#FFD776,#F2A922);color:#2A1600;box-shadow:0 0 10px rgba(247,197,78,.55)}
.gl-star .glyph{width:14px;height:14px;fill:currentColor;stroke:none}
.inv-ladder{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.inv-ladder i{font-style:normal;font-size:11px;font-weight:800;padding:1px 6px;border-radius:6px;background:var(--inset);color:var(--ink-3);font-variant-numeric:tabular-nums}
.inv-ladder i.on{background:var(--mint-soft);color:var(--mint-ink)}
.inv-ladder i.now{background:var(--gold-soft);color:var(--gold-ink);box-shadow:inset 0 0 0 1px rgba(247,197,78,.45)}
.gl-invite{background:linear-gradient(90deg,rgba(247,197,78,.08),transparent 70%);border-radius:12px;padding-left:6px;padding-right:2px}
.ap-logo{width:46px;height:46px;border-radius:14px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.1)}
.ap-logo img{width:100%;height:100%;object-fit:cover}
.ap-row .tt small{white-space:normal}
.ap-open{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border-radius:9px;background:var(--action-soft);color:var(--action-ink);font-size:12.5px;font-weight:800}

/* ---------- How it works · visual examples (howto-art.js): one shared 2.4 s choreography ---------- */
.howto-step.has-vis{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center}
.hv-wrap{position:relative;width:120px;height:86px;border-radius:14px;overflow:hidden;background:radial-gradient(120% 100% at 50% 0,#252D62,#10162F);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 6px 16px rgba(0,0,0,.25)}
.hv-wrap>.n{position:absolute;left:6px;top:6px;z-index:2;width:18px;height:18px;font-size:10.5px;line-height:18px;margin:0}
.hv-svg{display:block;width:100%;height:100%;overflow:visible}
.hv-lab{font:800 8px/1 var(--font-display,system-ui),sans-serif;fill:rgba(255,255,255,.78);letter-spacing:.06em}.hv-lab.c{text-anchor:middle}
.hv-good{font:900 9.5px/1 system-ui,sans-serif;fill:#5DF0C0;text-anchor:middle;animation:hv-pulse 1.2s ease-in-out infinite}
.hv-bad{font:900 8px/1 system-ui,sans-serif;fill:#FF7A8A}.hv-bad.sm{font-size:7.5px;font-weight:750}
.hv-plus{font:900 10px/1 system-ui,sans-serif;fill:#FFD776;text-anchor:middle;opacity:0;animation:hv-float 2.4s ease-out infinite}
.hv-heart{fill:#FF7A8A}.hv-heart.lost{fill:rgba(255,255,255,.22)}
.hv-arrow-s{fill:none;stroke:rgba(255,255,255,.5);stroke-width:2;stroke-linecap:round}
.hv-bar-t{fill:rgba(255,255,255,.12)}
.hv-bar{fill:#5DF0C0;transform-box:fill-box;transform-origin:left center;animation:hv-fill 2.4s ease-in-out infinite}
.hv-bar.drain{fill:#FFD776;animation:hv-drain 2.4s linear infinite}
.hv-ripple{fill:none;stroke:#fff;stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;animation:hv-rip 2.4s ease-out infinite}
.hv-dot{fill:rgba(255,255,255,.92);transform-box:fill-box;transform-origin:center;animation:hv-press 2.4s ease-in-out infinite}
.hv-tap.hold .hv-ripple{animation:hv-rip-hold 1.2s ease-out infinite}.hv-tap.hold .hv-dot{animation:none}
.hv-tap.beat .hv-ripple{animation:hv-rip-beat 1.6s ease-out infinite}.hv-tap.beat .hv-dot{animation:hv-press-beat 1.6s ease-in-out infinite}
.hv-chest .c-body{fill:#C9772B;stroke:#7A3E12;stroke-width:1}.hv-chest .c-lid{fill:#E39A3E;stroke:#7A3E12;stroke-width:1}.hv-chest .c-lock{fill:#FFD776}
.hv-chest .c-spark{fill:none;stroke:#FFD776;stroke-width:1.6;stroke-linecap:round;opacity:0}
.hv-chest.late .hv-chest-in{transform-box:fill-box;transform-origin:center bottom;animation:hv-chest 2.4s ease-out infinite}
.hv-chest.late .c-spark{animation:hv-spark 2.4s ease-out infinite}
.tr-lane{fill:none;stroke:rgba(46,230,184,.22);stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.tr-mid{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1;stroke-dasharray:2 3}
.tr-done{fill:none;stroke:#2EE6B8;stroke-width:4;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:tr-draw 3.2s linear infinite}
.tr-cp{fill:#10162F;stroke:#fff;stroke-width:1.5}.tr-cp.c1{animation:tr-cp1 3.2s infinite}.tr-cp.c2{animation:tr-cp2 3.2s infinite}
.tr-start{fill:#2EE6B8}.tr-run{fill:#fff;filter:drop-shadow(0 0 4px #2EE6B8)}
.tr-drift{animation:tr-drift 2.4s ease-in-out infinite}
.hv-miss{opacity:0;animation:hv-miss 2.4s infinite}
.q-card{fill:#FFF1EC}.q-line{fill:#E9B9B0}.q-line.s{fill:#F3D3CC}.q-opt{fill:#fff;stroke:#F1D1C9;stroke-width:1}
.hv-quiz .hv-lab{fill:#9E2F4A}
.q-ring-t{fill:none;stroke:#F3D3CC;stroke-width:3}
.q-ring{fill:none;stroke:#FF8080;stroke-width:3;stroke-dasharray:100;transform:rotate(-90deg);transform-box:fill-box;transform-origin:center;animation:q-ring 2.4s linear infinite}
.q-ok{animation:q-ok 2.4s infinite}
.q-dot{fill:rgba(255,255,255,.14);stroke:rgba(255,255,255,.3);animation:q-dot 2.4s infinite;animation-delay:calc(var(--i) * .18s)}
.p-lane{fill:rgba(165,133,255,.12);stroke:rgba(165,133,255,.25)}
.p-hit{stroke:#FFD776;stroke-width:2;stroke-dasharray:3 3}
.p-note{fill:#A585FF;animation:p-fall 1.6s linear infinite}
.p-note.at{fill:#C9B6FF;animation:p-glow 1.2s ease-in-out infinite}
.pp-face{fill:#F4FFF7;stroke:#86E39A;stroke-width:1}.pp-back{fill:#25603F;stroke:#86E39A;stroke-width:1}
.pp-sym.s0{fill:#E5485C}.pp-sym.s1{fill:#4F7BFF}.pp-sym.s2{fill:#F2A922}.pp-sym.s3{fill:#8B5CF6}
.pp0 .pp-back{opacity:0;animation:pp-hide 2.8s infinite}
.pp1 .pick .pp-back{animation:pp-flip1 2.4s infinite}.pp1 .pick.p2 .pp-back{animation-name:pp-flip2}
.pp1 .pick .pp-face{animation:pp-match 2.4s infinite}
.pp2 .matched .pp-back{opacity:0}.pp2 .matched .pp-face{fill:#C9F7DA;stroke:#2FA56D}
.hh{fill:#C36DB0}.hh.odd{fill:#D98CC7}
.hh-ring{fill:none;stroke:#fff;stroke-width:2;opacity:0;animation:hv-ring 2.4s infinite}
.sk-b{fill:#FFB27A;stroke:#7A3A2A;stroke-width:1}.sk-b.top{fill:#FFD0A8}
.sk-move{animation:sk-move 2.4s ease-in-out infinite}
.sk-cut{fill:#FF7A8A;transform-box:fill-box;transform-origin:center;animation:sk-cut 2.4s ease-in infinite}
.sk-guide{stroke:#fff;stroke-width:1;stroke-dasharray:2 3;opacity:.5}
.sk-b.grow{opacity:0;animation:sk-grow 2.4s infinite;animation-delay:calc(var(--i) * .14s)}
.ob-track{fill:none;stroke:rgba(143,162,255,.3);stroke-width:2}
.ob-arc{fill:none;stroke:#8FA2FF;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 4px #8FA2FF)}
.ob-perfect{fill:none;stroke:#5DF0C0;stroke-width:6;stroke-linecap:round}
.ob-mark{fill:#fff;filter:drop-shadow(0 0 3px #fff)}
.ob-spin{transform-origin:60px 42px;animation:hv-spin 2.4s linear infinite}
.ob-swing{transform-origin:48px 42px;animation:ob-swing 2.4s ease-in-out infinite}
.ob-flip{fill:none;stroke:#FFD776;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center;animation:ob-flip 2.4s steps(1) infinite}
.sl-t{fill:#DCE9E6;stroke:#9FBDB6;stroke-width:1}.sl-t.glow{stroke:#4FD8FF;stroke-width:2}
.sl-gap{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.35);stroke-dasharray:2 2}
.sl-move{animation:sl-move 2.4s ease-in-out infinite}
.sl-t.lit{animation:sl-lit 2.4s infinite}.sl-t.l1{animation-delay:.25s}.sl-t.l2{animation-delay:.5s}.sl-t.l3{animation-delay:.75s}
.sl-t.on{fill:#9DF5D6;stroke:#18C08F}
.sl-pipe{fill:none;stroke:#18C08F;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:sl-pipe 2.4s ease-in-out infinite}
.sl-pipe.on{stroke-dashoffset:0;animation:hv-pulse 1.4s ease-in-out infinite}
.hv{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:100%}
.hv-i{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.hv-i .art{width:34px;height:34px}
.hv-flow .hv-i.b{animation:hv-recv 2.4s ease-in-out infinite}
.hv-chev{display:flex;gap:1px}
.hv-chev i{width:7px;height:7px;border-top:2px solid #FFD776;border-right:2px solid #FFD776;transform:rotate(45deg);opacity:.25;animation:hv-blink 1.2s ease-in-out infinite}
.hv-chev i:nth-child(2),.hv-link i:nth-child(2){animation-delay:.15s}.hv-chev i:nth-child(3),.hv-link i:nth-child(3){animation-delay:.3s}
.hv-coin{position:absolute;left:28%;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFF3C4,#F2A922);box-shadow:0 0 8px #F7C54E;animation:hv-coin 2.4s ease-in-out infinite}
.hv-pop .hv-i{width:56px;height:56px;animation:hv-bob 2.4s ease-in-out infinite}
.hv-pop .hv-i .art{width:44px;height:44px}
.hv-badge{position:absolute;right:8px;top:10px;padding:2px 6px;border-radius:8px;background:linear-gradient(180deg,#FFD776,#F2A922);color:#2A1600;font-size:10px;font-weight:900;white-space:nowrap;animation:hv-badge 2.4s ease-out infinite}
.hv-sparks{position:absolute;inset:0;pointer-events:none}
.hv-sparks i{position:absolute;width:5px;height:5px;border-radius:50%;background:#FFE7A8;box-shadow:0 0 6px #F7C54E;opacity:.3;animation:hv-blink 1.6s ease-in-out infinite}
.hv-sparks i:nth-child(1){left:26%;top:22%}.hv-sparks i:nth-child(2){left:70%;top:66%;animation-delay:.5s}.hv-sparks i:nth-child(3){left:30%;top:72%;animation-delay:1s}
.hv-energy .hv-ring{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px}
.hv-energy .hv-ring i{position:absolute;left:50%;top:0;width:4px;height:10px;margin-left:-2px;border-radius:2px;background:rgba(255,255,255,.15);transform-origin:2px 31px;transform:rotate(var(--a));animation:hv-seg 2.4s infinite;animation-delay:calc(var(--i) * .12s)}
.hv-energy .hv-i{width:40px;height:40px;border-radius:50%}
.hv-energy .hv-badge{right:4px;top:4px}
.hv-cal{gap:4px}
.hv-cal i{display:grid;place-items:center;width:13px;height:24px;border-radius:5px;background:rgba(255,255,255,.1);font-style:normal;animation:hv-cal 2.8s infinite;animation-delay:calc(var(--i) * .22s)}
.hv-cal b{font-size:8px;font-weight:850;color:rgba(255,255,255,.8)}
.hv-podium{align-items:flex-end;gap:4px;padding-bottom:10px}
.hv-podium i{display:grid;justify-items:center;width:26px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#8B8CF8,#4F4DB8);font-style:normal;transform-origin:bottom;animation:hv-rise 2.4s ease-out infinite}
.hv-podium .p1{height:44px;background:linear-gradient(180deg,#FFD776,#C98A12)}.hv-podium .p2{height:30px;animation-delay:.15s}.hv-podium .p3{height:22px;animation-delay:.3s}
.hv-podium b{margin-top:-15px;font-size:10px;font-weight:900;color:#fff}.hv-podium b .art{width:22px;height:22px}
.hv-ladder{align-items:flex-end;gap:2px;padding-bottom:6px}
.hv-ladder span{display:block;transform:translateY(calc(var(--i) * -7px));opacity:.45;animation:hv-step 2.8s infinite;animation-delay:calc(var(--i) * .35s)}
.hv-ladder .art{width:26px;height:26px}
.hv-invite .hv-face{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1)}
.hv-invite .hv-face .art{width:26px;height:26px}
.hv-link{display:flex;gap:3px}.hv-link i{width:5px;height:5px;border-radius:50%;background:#FFD776;opacity:.3;animation:hv-blink 1.2s infinite}
.hv-xp{flex-direction:column;gap:6px}
.hv-xbar{width:76px;height:8px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.hv-xbar i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#7C6CFF,#47E3B0);transform-origin:left;animation:hv-xfill 2.4s ease-in-out infinite}
@keyframes hv-rip{0%,16%{opacity:0;transform:scale(.4)}20%{opacity:.85;transform:scale(.5)}45%,100%{opacity:0;transform:scale(1.7)}}
@keyframes hv-press{0%,16%,30%,100%{transform:scale(1)}21%{transform:scale(.72)}}
@keyframes hv-rip-hold{0%{opacity:.8;transform:scale(.5)}100%{opacity:0;transform:scale(1.7)}}
@keyframes hv-rip-beat{0%,74%{opacity:0;transform:scale(.4)}78%{opacity:.85;transform:scale(.5)}98%,100%{opacity:0;transform:scale(1.7)}}
@keyframes hv-press-beat{0%,74%,90%,100%{transform:scale(1)}79%{transform:scale(.72)}}
@keyframes hv-float{0%,25%{opacity:0;transform:translateY(6px)}35%,75%{opacity:1;transform:translateY(-3px)}100%{opacity:0;transform:translateY(-8px)}}
@keyframes hv-pulse{50%{opacity:.55}}
@keyframes hv-fill{0%{transform:scaleX(0)}55%,100%{transform:scaleX(1)}}
@keyframes hv-drain{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes hv-chest{0%,55%{transform:scale(.3);opacity:0}70%{transform:scale(1.15);opacity:1}80%,100%{transform:scale(1);opacity:1}}
@keyframes hv-spark{0%,66%{opacity:0}76%{opacity:1}100%{opacity:0}}
@keyframes hv-miss{0%,48%{opacity:0}55%,72%{opacity:1}82%,100%{opacity:0}}
@keyframes hv-ring{0%,28%{opacity:0}34%,86%{opacity:1}100%{opacity:0}}
@keyframes hv-spin{to{transform:rotate(360deg)}}
@keyframes hv-blink{40%{opacity:1}}
@keyframes hv-coin{0%{left:28%;opacity:0}15%{opacity:1}70%{left:64%;opacity:1}80%,100%{left:66%;opacity:0}}
@keyframes hv-recv{0%,70%{transform:none}78%{transform:scale(1.12)}90%,100%{transform:none}}
@keyframes hv-badge{0%,20%{opacity:0;transform:translateY(6px) scale(.8)}35%,82%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-4px)}}
@keyframes hv-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes hv-seg{0%,10%{background:rgba(255,255,255,.15)}20%,90%{background:#7C6CFF;box-shadow:0 0 6px #7C6CFF}}
@keyframes hv-cal{0%,8%{background:rgba(255,255,255,.1)}14%,92%{background:#2FB98A}}
@keyframes hv-rise{0%{transform:scaleY(.2)}25%,100%{transform:scaleY(1)}}
@keyframes hv-step{0%,15%{opacity:.45;filter:none}25%,90%{opacity:1;filter:drop-shadow(0 0 6px #F7C54E)}}
@keyframes hv-xfill{0%{transform:scaleX(.1)}60%,100%{transform:scaleX(1)}}
@keyframes tr-draw{0%{stroke-dashoffset:100}80%,100%{stroke-dashoffset:0}}
@keyframes tr-cp1{0%,30%{fill:#10162F}33%,100%{fill:#2EE6B8}}
@keyframes tr-cp2{0%,60%{fill:#10162F}63%,100%{fill:#2EE6B8}}
@keyframes tr-drift{0%,30%,85%,100%{transform:translate(0,0)}50%,72%{transform:translate(0,15px)}}
@keyframes q-ring{from{stroke-dashoffset:0}to{stroke-dashoffset:100}}
@keyframes q-ok{0%,22%{fill:#fff;stroke:#F1D1C9}28%,90%{fill:#5DDB9B;stroke:#2FA56D}100%{fill:#fff}}
@keyframes q-dot{0%,15%{fill:rgba(255,255,255,.14)}20%,90%{fill:#5DDB9B}100%{fill:rgba(255,255,255,.14)}}
@keyframes p-fall{0%{transform:translateY(0);opacity:1}78%{transform:translateY(59.5px);opacity:1}84%,100%{transform:translateY(62px);opacity:0}}
@keyframes p-glow{50%{filter:drop-shadow(0 0 6px #A585FF)}}
@keyframes pp-hide{0%,45%{opacity:0}55%,95%{opacity:1}100%{opacity:0}}
@keyframes pp-flip1{0%,16%{opacity:1}20%,92%{opacity:0}100%{opacity:1}}
@keyframes pp-flip2{0%,38%{opacity:1}42%,92%{opacity:0}100%{opacity:1}}
@keyframes pp-match{0%,52%{fill:#F4FFF7;stroke:#86E39A}58%,92%{fill:#C9F7DA;stroke:#2FA56D}100%{fill:#F4FFF7}}
@keyframes sk-move{0%,100%{transform:translateX(-18px)}50%{transform:translateX(18px)}}
@keyframes sk-cut{0%,30%{transform:none;opacity:1}75%{transform:translate(6px,26px) rotate(35deg);opacity:0}100%{opacity:0}}
@keyframes sk-grow{0%,8%{opacity:0;transform:translateY(-8px)}18%,90%{opacity:1;transform:none}100%{opacity:0}}
@keyframes ob-swing{0%,100%{transform:rotate(-60deg)}50%{transform:rotate(80deg)}}
@keyframes ob-flip{0%{transform:none}50%{transform:scaleX(-1)}}
@keyframes sl-move{0%,30%{transform:none}45%,85%{transform:translateX(-21px)}100%{transform:none}}
@keyframes sl-lit{0%,10%{fill:#DCE9E6;stroke:#9FBDB6}20%,85%{fill:#9DF5D6;stroke:#18C08F}100%{fill:#DCE9E6}}
@keyframes sl-pipe{0%,10%{stroke-dashoffset:100}60%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:100}}
.reduce-motion .hv-wrap *{animation:none!important}
.reduce-motion .hv-wrap :is(.hv-chest-in,.hv-badge,.hv-plus,.c-spark,.sk-b.grow,.hh-ring,.tr-done){opacity:1;transform:none;stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){.hv-wrap *{animation:none!important}.hv-wrap :is(.hv-chest-in,.hv-badge,.hv-plus,.sk-b.grow,.hh-ring,.tr-done){opacity:1;transform:none;stroke-dashoffset:0}}
.hv-flow{gap:4px}.hv-flow .hv-i{width:38px;height:38px;border-radius:12px}.hv-flow .hv-i .art{width:30px;height:30px}
.hv-ladder{gap:1px}.hv-ladder span{transform:translateY(calc(var(--i) * -6px))}.hv-ladder .art{width:24px!important;height:24px!important}
.hp-journey{display:grid;gap:8px}
.gl-invite .tt b{white-space:normal;overflow:visible;line-height:1.25}
.st-pad{width:32px}

/* ---------- Pald Raffle page (V3.1) ---------- */
.rf{display:grid;gap:10px}
.rf-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;justify-items:center;gap:9px;padding:16px 14px 14px;border-radius:22px;text-align:center;color:#fff;background:radial-gradient(90% 70% at 50% 0%,rgba(80,170,255,.36),transparent 62%),radial-gradient(70% 60% at 100% 100%,rgba(247,197,78,.24),transparent 60%),linear-gradient(160deg,#1C2B6E,#0E1433 72%);box-shadow:inset 0 0 0 1px rgba(124,190,255,.28),0 14px 34px rgba(0,0,0,.35)}
.rf-hero::before{content:'';position:absolute;left:50%;top:50%;width:160%;aspect-ratio:1;margin:-80% 0 0 -80%;z-index:-1;background:conic-gradient(from 0deg,transparent,rgba(124,190,255,.14),transparent 28%,rgba(247,197,78,.12),transparent 58%,rgba(185,140,255,.12),transparent 82%);animation:rf-spin 16s linear infinite}
.rf-hero-fx i{position:absolute;width:4px;height:4px;border-radius:50%;background:#CFEBFF;box-shadow:0 0 8px #7CC8FF;animation:rf-twinkle 2.8s ease-in-out infinite}
.rf-hero-fx i:nth-child(1){left:10%;top:22%}.rf-hero-fx i:nth-child(2){left:86%;top:16%;animation-delay:-.6s}.rf-hero-fx i:nth-child(3){left:18%;top:78%;animation-delay:-1.2s}.rf-hero-fx i:nth-child(4){left:78%;top:70%;animation-delay:-1.8s}.rf-hero-fx i:nth-child(5){left:52%;top:8%;animation-delay:-2.2s}.rf-hero-fx i:nth-child(6){left:93%;top:46%;animation-delay:-.9s}
.rf-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);font-size:10.5px;font-weight:850;letter-spacing:.12em}
.rf-tag .glyph{width:13px;height:13px;color:#FFD776}
.rf-prize{display:flex;align-items:center;gap:10px}
.rf-gem{display:grid;place-items:center;width:64px;height:64px;filter:drop-shadow(0 0 18px rgba(80,180,255,.7));animation:rf-float 3.2s ease-in-out infinite}
.rf-gem .art{width:56px;height:56px}
.rf-prize>div{text-align:left}
.rf-amt{display:block;font-family:var(--font-display);font-size:36px;font-weight:700;line-height:1;letter-spacing:-.01em;background:linear-gradient(180deg,#fff,#BFE6FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.rf-prize small{display:block;margin-top:4px;font-size:12px;color:rgba(255,255,255,.78)}
.rf-value{display:inline-flex;align-items:center;gap:6px;padding:4px 11px 4px 7px;border-radius:999px;background:rgba(80,170,255,.14);box-shadow:inset 0 0 0 1px rgba(124,190,255,.32);color:#cfe7ff;font-size:11.5px;font-weight:750;font-variant-numeric:tabular-nums}
.rf-value img,.rf-value svg{width:14px;height:14px;flex:none}
.rf-cd{display:grid;grid-template-columns:repeat(4,minmax(0,54px));gap:6px}
.rf-cd span{display:grid;place-items:center;gap:1px;height:52px;border-radius:12px;background:rgba(8,12,34,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}
.rf-cd span.dim{opacity:.4}
.rf-cd b{font-family:var(--font-display);font-size:21px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.rf-cd small{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.rf-when{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:rgba(255,255,255,.78)}
.rf-when .glyph{width:13px;height:13px}
.rf-card{padding:12px;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),var(--sh-1)}
.rf-in,.rf-off{display:flex;align-items:center;gap:10px}
.rf-in{background:linear-gradient(90deg,rgba(71,227,176,.14),var(--surface) 72%);box-shadow:inset 0 0 0 1px rgba(71,227,176,.42),var(--sh-1)}
.rf-check{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:linear-gradient(180deg,#47E3B0,#22A879);color:#06261C;box-shadow:0 0 16px rgba(71,227,176,.4)}
.rf-check.off{background:var(--inset);color:var(--ink-2);box-shadow:none}
.rf-check .glyph{width:20px;height:20px}
.rf-in b,.rf-off b{display:block;font-size:14.5px;font-weight:850}
.rf-in small,.rf-off small{display:block;margin-top:1px;font-size:12px;line-height:1.35;color:var(--ink-2)}
.rf-join{position:relative;overflow:hidden;border:0;background:linear-gradient(135deg,#FFE08F,#F2A922 55%,#E07B12);color:#2A1600;box-shadow:0 12px 28px rgba(242,169,34,.42),inset 0 1px 0 rgba(255,255,255,.6)}
.rf-join::after{content:'';position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);animation:rf-shine 2.6s ease-in-out infinite}
.rf-note{display:block;margin-top:6px;font-size:11.5px;line-height:1.35;color:var(--ink-2);text-align:center}
.rf-goal-head{display:flex;align-items:center;gap:10px}
.rf-goal-head b{display:block;font-size:14px;font-weight:850}.rf-goal-head small{display:block;font-size:11.5px;line-height:1.35;color:var(--ink-2)}
.rf-ring-s{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:conic-gradient(var(--action) var(--v),var(--inset) 0)}
.rf-ring-s b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface);font-size:12px;font-weight:900}
.rf-tasks{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}
.rf-tasks span{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:9px;background:var(--inset);font-size:11.5px;font-weight:750;color:var(--ink-2)}
.rf-tasks span.ok{background:rgba(71,227,176,.15);color:#9DF5D6}
.rf-tasks .glyph{width:12px;height:12px}
.rf-row-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.rf-row-h b{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:850}
.rf-row-h .lnk{display:inline-flex;align-items:center;gap:4px;font-size:12px}
.rf-fund{font-size:11px;font-weight:800;color:#FFD776}
.rf-faces{display:flex;align-items:center;padding-left:8px}
.rf-face{margin-left:-8px;border-radius:50%;box-shadow:0 0 0 2px var(--surface);line-height:0}
.rf-face .art{width:34px;height:34px}
.rf-face.me{box-shadow:0 0 0 2px #FFD776,0 0 10px rgba(247,197,78,.5);z-index:1}
.rf-more{margin-left:8px;font-size:12px;font-weight:850;color:var(--ink-2)}
.rf-empty{margin:0;font-size:12.5px;color:var(--ink-2)}
.rf-chips{display:flex;flex-wrap:wrap;gap:6px}
.rf-chips span{padding:5px 9px;border-radius:10px;background:var(--inset);font-size:12px;font-weight:750}
.rf-chips span.me{box-shadow:inset 0 0 0 1px #FFD776}
.rf-how{gap:10px}
.rf-how-vis{display:block;flex:none;width:60px;height:43px;overflow:hidden;border-radius:10px;background:radial-gradient(120% 100% at 50% 0,#252D62,#10162F)}
.rf-how-vis>*{width:120px;height:86px;transform:scale(.5);transform-origin:0 0}
.rf-wlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rf-wlist li{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border-radius:13px;background:var(--inset)}
.rf-wlist .medal{font-size:20px;text-align:center}
.rf-wlist .medal.n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.08);font-size:12px;font-weight:900}
.rf-wlist b{font-size:14px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rf-wlist small{font-size:11.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.rf-wlist .pz{display:inline-flex;align-items:center;gap:3px;font-weight:900;color:#8FD8FF}
.rf-wlist .pz .art{width:16px;height:16px}
.rf-wlist li.won{background:linear-gradient(90deg,rgba(247,197,78,.17),var(--inset) 75%);box-shadow:inset 0 0 0 1px rgba(247,197,78,.32)}
.rf-wlist li.won.fresh{animation:rf-win .7s cubic-bezier(.2,1.4,.4,1)}
.rf-wlist li.me{box-shadow:inset 0 0 0 2px #FFD776,0 0 20px rgba(247,197,78,.35)}
.rf-wlist li.wait b{color:var(--ink-2);font-weight:750}
.rf-you-won{margin:0 0 8px;padding:8px 10px;border-radius:12px;background:rgba(247,197,78,.14);font-size:13px;font-weight:800;color:#FFD776}
.rf.live{gap:10px}
.rf-live-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:linear-gradient(90deg,rgba(229,72,92,.2),var(--surface) 62%);box-shadow:inset 0 0 0 1px rgba(255,90,110,.38)}
.rf-livepill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:8px;background:#E5485C;color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;box-shadow:0 0 14px rgba(229,72,92,.6)}
.rf-livepill i{width:7px;height:7px;border-radius:50%;background:#fff;animation:rfab-blink 1s steps(2) infinite}
.rf-live-head b{display:block;font-size:15px;font-weight:850}.rf-live-head small{display:block;font-size:11.5px;color:var(--ink-2)}
.rf-gem-s{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:700;color:#BFE6FF}
.rf-gem-s .art{width:26px;height:26px;filter:drop-shadow(0 0 8px rgba(80,180,255,.7))}
.rf-stage{position:relative;isolation:isolate;display:grid;justify-items:center;gap:14px;padding:18px 12px 20px;border-radius:22px;overflow:hidden;background:radial-gradient(80% 60% at 50% 30%,rgba(80,170,255,.24),transparent 66%),linear-gradient(180deg,#151D4A,#0B1030);box-shadow:inset 0 0 0 1px rgba(124,190,255,.2)}
.rf-stage-fx{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 22px),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 22px);-webkit-mask:radial-gradient(circle at 50% 40%,#000,transparent 75%);mask:radial-gradient(circle at 50% 40%,#000,transparent 75%)}
.rf-stage-fx i{position:absolute;width:3px;height:3px;border-radius:50%;background:#FFE7A8;animation:rf-twinkle 2.2s ease-in-out infinite}
.rf-stage-fx i:nth-child(1){left:14%;top:20%}.rf-stage-fx i:nth-child(2){left:84%;top:28%;animation-delay:-.7s}.rf-stage-fx i:nth-child(3){left:24%;top:82%;animation-delay:-1.3s}.rf-stage-fx i:nth-child(4){left:76%;top:86%;animation-delay:-1.8s}
.rf-ring{position:relative;width:120px;height:120px}
.rf-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.rf-ring .trk{fill:none;stroke:rgba(255,255,255,.1);stroke-width:7}
.rf-ring .fil{fill:none;stroke:#F7C54E;stroke-width:7;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - 100 * var(--p,0));transition:stroke-dashoffset 1s linear;filter:drop-shadow(0 0 6px rgba(247,197,78,.75))}
.rf-ring-in{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center}
.rf-ring-in small{max-width:84px;font-size:10.5px;line-height:1.2;color:rgba(255,255,255,.72)}
.rf-ring-in b{font-family:var(--font-display);font-size:30px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.rf-reel{position:relative;width:min(280px,100%);height:52px;overflow:hidden;border-radius:14px;background:rgba(5,8,25,.75);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 12px 16px -8px rgba(0,0,0,.7),inset 0 -12px 16px -8px rgba(0,0,0,.7);transition:box-shadow .3s}
.rf-track{display:grid}
.rf-track span{display:grid;place-items:center;height:52px;font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.02em;color:#fff}
.rf-track.idle{animation:rf-reel 7s linear infinite}
.rf-hl{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px rgba(247,197,78,.55);pointer-events:none}
.rf-reel.hit{box-shadow:0 0 0 3px #FFD776,0 0 34px rgba(247,197,78,.75),inset 0 0 0 1px rgba(255,255,255,.14)}
.rf-reel.hit .rf-track span:last-child{color:#FFD776;text-shadow:0 0 16px rgba(247,197,78,.85)}
.rf-burst{position:absolute;left:50%;top:50%;pointer-events:none}
.rf-burst i{position:absolute;width:6px;height:6px;margin:-3px;border-radius:50%;background:#FFD776;box-shadow:0 0 8px #F7C54E;transform:rotate(var(--a)) translateX(0);animation:rf-burst 1.2s ease-out forwards}
.rf-mine{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;font-size:12.5px;font-weight:800;color:#FFD776}
.rf-mine.spect{color:var(--ink-2);font-weight:700}
.rf-fair{display:flex;align-items:center;justify-content:center;gap:5px;margin:0;font-size:11px;color:var(--ink-3)}
.rf-fair code{font-size:10.5px;letter-spacing:.02em}
.rf-won{position:relative;display:grid;justify-items:center;gap:6px;padding:10px 0 4px;text-align:center}
.rf-won-fx{position:absolute;left:50%;top:70px;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(124,200,255,.2) 0 10deg,transparent 10deg 30deg);-webkit-mask:radial-gradient(circle,#000 25%,transparent 70%);mask:radial-gradient(circle,#000 25%,transparent 70%);animation:rf-spin 10s linear infinite}
.rf-won-gem{position:relative;filter:drop-shadow(0 0 24px rgba(80,180,255,.8));animation:rf-float 2.6s ease-in-out infinite}
.rf-won h2{position:relative;margin:0;font-size:26px}
.rf-won-amt{position:relative;font-family:var(--font-display);font-size:30px;color:#BFE6FF}
.rf-won p{position:relative;margin:0;color:var(--ink-2);font-size:13px}
.rf-verify dl{display:grid;gap:3px;margin:10px 0}
.rf-verify dt{font-size:11.5px;font-weight:800;color:var(--ink-2)}
.rf-verify dd{margin:0 0 6px;font-size:12px;word-break:break-all}
.rf-check-out{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:12px;background:var(--inset);font-size:12.5px;font-weight:750}
.rf-check-out.ok{background:rgba(71,227,176,.14);color:#9DF5D6}
.rf-check-out.bad{background:rgba(229,72,92,.14);color:#FF9AA8}
@keyframes rf-spin{to{transform:rotate(360deg)}}
@keyframes rf-twinkle{50%{opacity:.2;transform:scale(.6)}}
@keyframes rf-float{50%{transform:translateY(-4px)}}
@keyframes rf-shine{0%,55%{left:-40%}100%{left:130%}}
@keyframes rf-win{0%{transform:scale(.9);opacity:0}100%{transform:none;opacity:1}}
@keyframes rf-reel{to{transform:translateY(-50%)}}
@keyframes rf-burst{to{transform:rotate(var(--a)) translateX(var(--d));opacity:0}}
.reduce-motion .rf *,.reduce-motion .rf-hero::before{animation:none!important}
@media (prefers-reduced-motion:reduce){.rf *,.rf-hero::before{animation:none!important}}

/* ---------- How it works · tutorial carousel ---------- */
.tut{display:grid;gap:10px}
.tut-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.tut-track::-webkit-scrollbar{display:none}
.tut-slide{scroll-snap-align:start;display:grid;gap:12px;min-width:0;padding:0 1px}
.tut-vis{position:relative;display:grid;place-items:center;height:196px;border-radius:18px;overflow:hidden;background:radial-gradient(120% 100% at 50% 0,#2A3270,#10162F);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.tut-vis::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 20px),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 20px);pointer-events:none}
.tut-box{display:block;width:120px;height:86px;transform:scale(2.05)}
.tut-copy{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px;padding:0 4px}
.tut-n{grid-row:span 2;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--action),var(--action-2,#9B6CFF));color:#fff;font-size:13px;font-weight:900}
.tut-copy b{font-size:16px;font-weight:850;line-height:1.25}
.tut-copy p{margin:3px 0 0;font-size:13.5px;line-height:1.4;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tut-dots{display:flex;justify-content:center;gap:6px}
.tut-dots button{width:8px;height:8px;padding:0;border:0;border-radius:4px;background:rgba(255,255,255,.2);cursor:pointer;transition:width .25s,background .25s}
.tut-dots button.on{width:22px;background:var(--action)}
.tut-rules-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 auto;padding:6px 12px;border:0;border-radius:10px;background:var(--inset);color:var(--ink-2);font:inherit;font-size:12.5px;font-weight:750;cursor:pointer}
.tut-rules-btn .glyph{width:13px;height:13px}
.tut-rules-btn[aria-expanded="true"] .glyph:last-child{transform:rotate(90deg)}
.tut-foot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.tut-foot .btn-soft{min-width:52px}
:root[data-theme="light"] .tut-dots button{background:rgba(20,24,60,.18)}

/* raffle + ad-rank scenes */
.rc-card{fill:#F4F2FF}.rc-box{fill:#fff;stroke:#B8B2E8;stroke-width:1}.rc-line{fill:#D9D4F5}
.rc-tick{fill:none;stroke:#2FB98A;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10;stroke-dashoffset:10;animation:rc-tick 2.8s infinite;animation-delay:calc(var(--i) * .22s)}
.hv-ticket .tk-body{fill:#F7C54E;stroke:#8A4B07;stroke-width:1}.hv-ticket .tk-perf{stroke:#8A4B07;stroke-width:1;stroke-dasharray:2 2}.hv-ticket .tk-t{font:900 8px/1 system-ui,sans-serif;fill:#5A2E00;text-anchor:middle}
.hv-ticket.late .hv-ticket-in{transform-box:fill-box;transform-origin:center;animation:hv-chest 2.8s ease-out infinite}
.hv-ticket.pop .hv-ticket-in{transform-box:fill-box;transform-origin:center;animation:tk-pop 2.4s ease-out infinite}
.rc-join{fill:#F2A922}.rc-join-t{font:900 8.5px/1 system-ui,sans-serif;fill:#2A1600;text-anchor:middle;letter-spacing:.06em}
.rc-win{fill:rgba(5,8,25,.85);stroke:rgba(255,255,255,.2)}
.rc-names{animation:rc-roll 2.4s cubic-bezier(.2,.7,.2,1) infinite}
.rc-names text{font:800 13px/1 system-ui,sans-serif;fill:#fff;text-anchor:middle}
.rc-hl{fill:none;stroke:#F7C54E;stroke-width:1.5;animation:hv-pulse 1.2s infinite}
.rc-medal circle{fill:rgba(255,255,255,.12);stroke:rgba(255,255,255,.3);animation:rc-medal 2.4s infinite;animation-delay:calc(var(--i) * .3s + .8s)}
.rc-medal text{font:900 9px/1 system-ui,sans-serif;fill:#fff;text-anchor:middle}
.rc-gem{fill:#7CC8FF;filter:drop-shadow(0 0 4px #7CC8FF);animation:hv-pulse 1.4s infinite}
.hv-adrank{gap:3px}
.hv-adrank .hv-i{width:30px;height:30px;border-radius:10px}
.hv-adrank .hv-i .art{width:24px;height:24px}
.hv-adrank .hv-i.a{animation:ar-ad 2.4s infinite}
.hv-arr{flex:none;width:8px;height:8px;border-top:2px solid #FFD776;border-right:2px solid #FFD776;transform:rotate(45deg);opacity:.3;animation:ar-arr 2.4s infinite}
.hv-arr.r2{animation-delay:.9s}
.hv-gain{display:grid;justify-items:center;gap:2px;width:38px}
.hv-gain b{font:900 9px/1 var(--font-display,system-ui),sans-serif;color:#5DF0C0;white-space:nowrap;opacity:0;animation:ar-up 2.4s infinite}
.hv-gain>span{display:inline-flex;align-items:center;opacity:0;animation:ar-up 2.4s infinite .15s}
.hv-gain .art{width:16px;height:16px}
.hv-gain em{font-style:normal;font-size:10px;font-weight:900;color:#FFD776}
.hv-adrank .hv-i.b{position:relative;animation:ar-win 2.4s infinite}
.hv-rain{position:absolute;inset:0;pointer-events:none}
.hv-rain i{position:absolute;top:-6px;width:4px;height:4px;border-radius:50%;background:#FFD776;box-shadow:0 0 4px #F7C54E;opacity:0;animation:ar-rain 2.4s infinite}
.hv-rain i:nth-child(1){left:6px}.hv-rain i:nth-child(2){left:14px;animation-delay:.12s}.hv-rain i:nth-child(3){left:22px;animation-delay:.24s}
@keyframes rc-tick{0%,8%{stroke-dashoffset:10}16%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:10}}
@keyframes tk-pop{0%,25%{opacity:0;transform:translateY(16px) scale(.4)}40%{opacity:1;transform:translateY(-3px) scale(1.12)}50%,90%{opacity:1;transform:none}100%{opacity:0}}
@keyframes rc-roll{0%{transform:translateY(0)}70%,100%{transform:translateY(-128px)}}
@keyframes rc-medal{0%,10%{fill:rgba(255,255,255,.12)}20%,90%{fill:#F7C54E}}
@keyframes ar-ad{0%,22%,100%{box-shadow:0 0 0 0 rgba(124,108,255,0)}10%{box-shadow:0 0 0 4px rgba(124,108,255,.5)}}
@keyframes ar-arr{0%,25%{opacity:.25}35%,55%{opacity:1}65%,100%{opacity:.25}}
@keyframes ar-up{0%,30%{opacity:0;transform:translateY(6px)}42%,85%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-4px)}}
@keyframes ar-win{0%,62%,100%{transform:none;box-shadow:none}74%{transform:scale(1.14);box-shadow:0 0 14px rgba(247,197,78,.75)}86%{transform:none}}
@keyframes ar-rain{0%,70%{opacity:0;transform:translateY(0)}78%{opacity:1}100%{opacity:0;transform:translateY(20px)}}
.reduce-motion .hv-gain b,.reduce-motion .hv-gain>span{opacity:1}

/* ---------- Help (minimal): one animated-tutorial launcher + icon grid; support form lives in a sheet ---------- */
.hp-tour{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:0;border-radius:20px;color:#fff;text-align:left;font:inherit;cursor:pointer;background:radial-gradient(90% 130% at 0% 0%,rgba(124,108,255,.42),transparent 62%),radial-gradient(70% 90% at 100% 100%,rgba(57,211,216,.2),transparent 60%),linear-gradient(150deg,#1d2563,#101736);box-shadow:inset 0 0 0 1px rgba(150,140,255,.32),0 12px 28px rgba(0,0,0,.32)}
.hp-tour-fx{position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.09) 46%,transparent 60%);background-size:260% 100%;animation:hp-sheen 3.8s linear infinite}
@keyframes hp-sheen{from{background-position:130% 0}to{background-position:-130% 0}}
.hp-tour .tt{flex:1;min-width:0;display:grid;gap:3px}
.hp-tour .tt b{font-size:15px;font-weight:850;line-height:1.2}
.hp-tour .tt small{font-size:11.5px;color:rgba(255,255,255,.72);line-height:1.35}
.hp-tour-path{display:flex;align-items:center;gap:2px;flex:none}
.hp-tour-path span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);animation:hp-hop 2.8s ease-in-out infinite;animation-delay:var(--d)}
.hp-tour-path span .art,.hp-tour-path span img{width:22px;height:22px}
.hp-tour-path i{width:5px;height:2px;border-radius:2px;background:rgba(255,255,255,.35)}
@keyframes hp-hop{0%,62%,100%{transform:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}12%{transform:translateY(-4px) scale(1.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 0 14px rgba(124,108,255,.6)}}
.hp-play{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#8f7dff,#5b5cf0);color:#fff;box-shadow:0 0 0 4px rgba(124,108,255,.18),0 0 20px rgba(124,108,255,.6);animation:hp-pulse 2.2s ease-in-out infinite}
@keyframes hp-pulse{50%{box-shadow:0 0 0 8px rgba(124,108,255,.08),0 0 26px rgba(124,108,255,.75)}}
.hp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hp-tile{display:grid;justify-items:center;align-content:center;gap:6px;min-height:82px;padding:10px 6px;border:0;border-radius:16px;background:var(--surface);box-shadow:var(--sh-1);color:var(--ink);font:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s}
.hp-tile:hover{box-shadow:var(--sh-1),inset 0 0 0 1px var(--line-hi)}
.hp-tile:active{transform:scale(.96)}
.hp-tile b{font-size:11.5px;font-weight:750;line-height:1.2;text-align:center}
.hp-tile>svg{width:34px;height:34px;color:var(--ink-2)}
.reduce-motion .hp-tour *,.reduce-motion .hp-tour-fx{animation:none!important}
@media (prefers-reduced-motion:reduce){.hp-tour *,.hp-tour-fx{animation:none!important}}
@media (min-width:1024px){.hp-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* ---------- Raffle: 200 Blue as the headline + the always-visible how-to-join steps (2026-10-19) ---------- */
.rf-amt{display:flex;align-items:baseline;gap:6px;line-height:1}
.rf-amt .rf-blue-n{font-size:44px;font-weight:900;letter-spacing:-.02em;background:linear-gradient(180deg,#e9f6ff,#7cc8ff 55%,#3c8dff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(80,170,255,.45))}
.rf-amt em{font-style:normal;font-size:17px;font-weight:850;color:#bfe0ff}
.rf-worth{display:block;margin-top:5px;font-size:13px;font-weight:800;color:#fff}
.rf-steps{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:4px;padding:10px;border-radius:18px;background:var(--surface);box-shadow:var(--sh-1)}
.rf-step{position:relative;display:grid;justify-items:center;gap:3px;padding:8px 4px;border-radius:14px;text-align:center;cursor:pointer;transition:background .2s}
.rf-step b{font-size:11.5px;font-weight:850;color:var(--ink);line-height:1.15}
.rf-step small{font-size:10.5px;font-weight:700;color:var(--ink-2);line-height:1.2}
.rf-step-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-2)}
.rf-step-ic .glyph{width:18px;height:18px}
.rf-step-ic .art{width:22px!important;height:22px!important}
.rf-step.done .rf-step-ic{background:linear-gradient(135deg,#34d399,#10b981);color:#04210f;box-shadow:0 0 12px rgba(52,211,153,.45)}
.rf-step.done small{color:#6ee7b7}
.rf-step.now{background:linear-gradient(180deg,rgba(124,108,255,.18),rgba(124,108,255,.05));box-shadow:inset 0 0 0 1px rgba(150,140,255,.45)}
.rf-step.now .rf-step-ic{background:linear-gradient(135deg,#8f7dff,#5b5cf0);color:#fff;animation:rf-step-pulse 2s ease-in-out infinite}
@keyframes rf-step-pulse{0%,100%{box-shadow:0 0 0 0 rgba(124,108,255,.55)}50%{box-shadow:0 0 0 7px rgba(124,108,255,0)}}
.rf-mini-ring{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:conic-gradient(#fbbf24 var(--v),rgba(255,255,255,.14) 0)}
.rf-mini-ring b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#1a1f45;color:#fff;font-size:9.5px;font-weight:900}
.rf-step-arrow{position:relative;height:2px;border-radius:2px;background:rgba(255,255,255,.16);overflow:visible}
.rf-step-arrow.done{background:#34d399}
.rf-step-arrow i{position:absolute;top:-2px;left:0;width:6px;height:6px;border-radius:50%;background:#fbbf24;box-shadow:0 0 8px #fbbf24;animation:rf-step-spark 1.6s linear infinite}
.rf-step-arrow.done i{display:none}
@keyframes rf-step-spark{from{left:-3px;opacity:0}20%{opacity:1}to{left:calc(100% - 3px);opacity:0}}
:root[data-theme="light"] .rf-mini-ring b{background:#fff;color:#1a1f45}
.reduce-motion .rf-step *,.reduce-motion .rf-step-arrow i{animation:none!important}
@media (prefers-reduced-motion:reduce){.rf-step *,.rf-step-arrow i{animation:none!important}}

/* 2026-10-20: the operator's art on the goal, check-in and raffle screens + the welcome-gift sheet. */
.ci-day.gold7 .art{width:24px;height:24px;margin:-2px 0}
.ci-streak{display:inline-flex;align-items:center;gap:4px}
.ci-streak .art{width:14px;height:14px}
.rf-gem .art{width:64px;height:64px}
.rf-step-ic .art{width:26px!important;height:26px!important}
.wg{display:grid;justify-items:center;text-align:center;gap:8px;padding:4px 6px 2px}
.wg-art{position:relative;display:grid;place-items:center;width:164px;height:164px}
.wg-art::before{content:"";position:absolute;inset:16px;border-radius:50%;background:radial-gradient(circle,rgba(124,132,255,.5),transparent 68%);filter:blur(8px)}
.wg-art .art{position:relative;width:148px;height:148px;animation:wg-float 3.6s ease-in-out infinite}
.wg-t{font-family:var(--font-display);font-size:22px;font-weight:800;line-height:1.2}
.wg-amt{display:inline-flex;align-items:center;gap:6px;padding:6px 14px 6px 8px;border-radius:999px;background:var(--gold-soft);box-shadow:inset 0 0 0 1px rgba(247,197,78,.35)}
.wg-amt .art{width:28px;height:28px}
.wg-amt b{font-size:20px;font-weight:850;color:var(--gold-ink);font-variant-numeric:tabular-nums}
.wg p{margin:0;color:var(--ink-2);font-size:14px}
@keyframes wg-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}
.reduce-motion .wg-art .art{animation:none}
@media (prefers-reduced-motion:reduce){.wg-art .art{animation:none}}
@media (min-width:1024px){.rf{width:100%;max-width:760px;margin:0 auto}}
.rk-guarantees{margin:14px 0;padding:16px;border:1px solid #8d96ed55;border-radius:18px;background:linear-gradient(145deg,#858af51c,#62dfb808)}.rkg-head,.rkg-head>span{display:flex;align-items:center;gap:7px}.rkg-head{justify-content:space-between;flex-wrap:wrap}.rkg-head>small{color:var(--mint,#71dfbd);font-size:10px}.rkg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.rkg-prize{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-width:0;padding:12px 4px;border-radius:12px;background:#8e91d610;text-align:center}.rkg-prize>small{font-size:10px;opacity:.75}.rkg-prize strong{display:flex;align-items:center;justify-content:center;gap:3px;font-size:clamp(13px,4vw,21px);overflow-wrap:anywhere}.rkg-prize>span{font-size:10px;opacity:.8}.rkg-prize em{font-style:normal;color:var(--mint,#71dfbd);font-size:10px;overflow-wrap:anywhere}.rk-guarantees>p{font-size:11px;line-height:1.6;opacity:.75;margin:12px 0}.rkg-bonus{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 10px;padding-top:12px;border-top:1px solid #8d96ed33;font-size:11px}.rkg-bonus small{width:100%;opacity:.65}
/* CASHOUTS row in Settings (2026-10-23). */
.st-ext{width:34px;height:34px;border-radius:10px;object-fit:cover;flex:none}
/* Piggy Boink (2026-10-23): open-seat team cards with Total team earned, the team's all-time total, last activity on
   each member, and removal votes that show the facts, the count and what passing means. */
.pg-member{grid-template-columns:36px minmax(0,1fr) auto auto}
.pg-earned{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:11.5px;font-weight:700;color:var(--ink-2)}
.pg-earned b{display:inline-flex;align-items:center;gap:3px;color:var(--gold-ink);font-variant-numeric:tabular-nums}
.pg-earned .art{width:14px;height:14px}
.pg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:10px}
.pg-card{display:grid;gap:8px;padding:12px;border-radius:18px;background:var(--surface);box-shadow:var(--sh-1),inset 0 0 0 1px var(--line);min-width:0}
.pg-card-top{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center}
.pg-card-top b{display:block;font-size:14.5px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-card-top small{display:block;font-size:11.5px;font-weight:700;color:var(--mint-ink,#2fbf8f)}
.pg-card-seats{display:flex;align-items:center;gap:4px}
.pg-card-seats i{flex:1;height:6px;border-radius:99px;background:var(--line-hi,rgba(255,255,255,.12))}
.pg-card-seats i.on{background:linear-gradient(90deg,var(--action-2,#7c6cff),var(--cyan,#22d3ee))}
.pg-card-seats small{flex:none;margin-left:4px;font-size:11px;font-weight:800;color:var(--ink-2);font-variant-numeric:tabular-nums}
.pg-card-earned{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--gold-ink,#f5b301) 10%,transparent)}
.pg-card-earned small{font-size:11px;font-weight:750;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}
.pg-card-earned .amt-s{display:inline-flex;align-items:center;gap:4px;font-size:16px;font-weight:900;color:var(--gold-ink);font-variant-numeric:tabular-nums}
.pg-card-earned .art{width:18px;height:18px}
.pg-card-pool{font-size:11px;color:var(--ink-3);font-weight:650}
.pg-vote-note{margin:0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--surface) 60%,transparent);font-size:12.5px;font-style:italic;color:var(--ink)}
.pg-vote-ev{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;color:var(--ink-2)}
.pg-vote-ev .glyph{flex:none;width:14px;height:14px}
.pg-vote-meter{height:6px;margin:0}
.pg-vote-count,.pg-vote-effect{display:block;font-size:11.5px;color:var(--ink-3)}
.pg-vote-count{font-weight:750;color:var(--ink-2);font-variant-numeric:tabular-nums}
.pg-reasons{display:grid;gap:8px;margin-top:4px}
.pg-reason{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;padding:10px 12px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}
.pg-reason input{margin-top:3px;accent-color:var(--action-2,#7c6cff)}
.pg-reason b{display:block;font-size:13.5px;font-weight:800}
.pg-reason small{display:block;font-size:12px;color:var(--ink-2);line-height:1.35}
.pg-reason:has(input:checked){box-shadow:inset 0 0 0 2px var(--action-2,#7c6cff)}
.pg-reason.off{opacity:.55;cursor:not-allowed}
.pg-note{display:grid;gap:5px;margin-top:8px;font-size:12.5px;font-weight:750}
.pg-note[hidden]{display:none}
/* Chat (2026-10-23): a day line between days, and a run of messages from one person shows the name and face once. */
.ch-day{align-self:center;margin:10px 0 2px;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--surface) 80%,transparent);font-size:11px;font-weight:750;color:var(--ink-3)}
.ch-msg.cont{margin-top:-4px}
.ch-msg.cont .face{visibility:hidden}
.ch-msg.cont .ch-meta b{display:none}
/* Team chat header (2026-10-23). */
.ch-team{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:8px;padding:8px 10px;border-radius:14px;background:var(--surface);box-shadow:var(--sh-1),inset 0 0 0 1px var(--line)}
.ch-team-faces{display:flex;padding-left:6px}
.ch-team-faces .face{margin-left:-6px;border-radius:50%;box-shadow:0 0 0 2px var(--surface)}
.ch-team-faces .face svg,.ch-team-faces .face>.art{width:26px;height:26px;border-radius:50%}
.ch-team-tx{min-width:0}
.ch-team-tx b{display:block;font-size:12.5px;font-weight:800}
.ch-team-tx small{display:block;font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-day{text-transform:capitalize}
.league-star-icon{object-fit:contain;vertical-align:middle;flex:none}
.iv-rewards h2,.iv-list-title h2{font-size:15px;margin:0}
.iv-reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.iv-reward{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:14px 12px;border-radius:14px;background:var(--surface);min-width:0}
.iv-reward b{font-size:18px}.iv-reward small,.iv-reward p{font-size:12px;line-height:1.5;color:var(--ink-2);margin:0}
.iv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.iv-section-head{display:flex;align-items:center;gap:10px}.iv-section-head>div{flex:1;min-width:0}.iv-section-head b,.iv-section-head small{display:block}.iv-section-head small{font-size:11px;color:var(--ink-2);margin-top:3px}
.iv-ladder{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:16px 0}
.iv-rung{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 2px;border:1px solid var(--line);border-radius:10px;font-size:12px;min-width:0}
.iv-rung small{display:flex;align-items:center;gap:2px}.iv-rung.on{background:#79d7c31a}.iv-rung.now{border-color:var(--mint,#79d7c3)}
.iv-progress-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.iv-progress-label>span{color:var(--ink-2);font-size:10px}
.iv-progress{display:block;width:100%;height:8px;margin:10px 0;accent-color:var(--mint,#79d7c3)}
.iv-done{display:flex;align-items:center;gap:7px;font-size:12px}.iv-list-title{padding:16px}.iv-list-title small{display:block;color:var(--ink-2);font-size:11px;margin-top:5px}
.iv-friend .tt{min-width:0}.iv-friend .tt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-friend-earned{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:12px;flex:none}.iv-friend-earned>span{display:flex;align-items:center;gap:4px}

.sp-pack .sx-mini.solid{height:auto;min-height:40px;display:grid;gap:2px;padding:7px 10px;text-align:center;white-space:normal;max-width:116px}
.sp-buy-cost{font-size:11px;opacity:.85}

/* ---------- goals: icons, guides, invite card, how goals connect, locale chip (2026-10-31) ---------- */
.gl-tip{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:12px;font-weight:650;color:var(--ink-3)}
.gl-tip .glyph{width:14px;height:14px;color:var(--action-ink)}
.gl-task{grid-template-columns:36px minmax(0,1fr) auto 18px auto;cursor:pointer;border-radius:12px;transition:background-color var(--t-press)}
.gl-task:hover,.gl-task:focus-visible{background:var(--inset)}
.gl-ic{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--inset)}
.gl-ic .art{width:30px;height:30px}
.gl-okb{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--mint);color:#06281F;box-shadow:0 0 0 2px var(--surface)}
.gl-okb .glyph{width:11px;height:11px}
.gl-bar{display:block;height:4px;margin-top:5px;border-radius:2px;background:var(--inset-2);overflow:hidden}
.gl-bar i{display:block;height:100%;width:var(--v,0%);border-radius:inherit;background:linear-gradient(90deg,var(--action),var(--mint));transition:width .5s ease}
.gl-task.done .gl-bar i{background:var(--mint)}
.gl-q{display:grid;place-items:center;width:18px;height:18px;color:var(--ink-3)}
.gl-q .glyph{width:16px;height:16px}
.gl-inv{display:grid;gap:8px}
.gl-inv-h{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:10px;cursor:pointer}
.gl-inv-h .tt b{display:block;font-size:14.5px;font-weight:750}
.gl-inv-h .tt small{display:block;font-size:12px;color:var(--ink-2);line-height:1.3}
.gl-inv-eq{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:14px;background:var(--inset)}
.gl-eq{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:14px;font-weight:700;color:var(--ink-2)}
.gl-eq b{color:var(--ink);font-weight:850;font-variant-numeric:tabular-nums}
.gl-eq i{font-style:normal;color:var(--ink-3);font-weight:800}
.gl-eq .art{width:20px;height:20px}
.gl-inv.done .gl-inv-eq{background:var(--mint-soft)}
.gl-rf{display:inline-flex;align-items:center;gap:4px}
.gl-rf small{font-size:11.5px;color:var(--ink-2);font-weight:700}
.gf-card{display:grid;gap:8px;width:100%;text-align:left;cursor:pointer;color:var(--ink);border:0;font:inherit}
.gf-h{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;color:var(--ink-3)}
.gf-h b{display:inline-flex;align-items:center;gap:5px;color:var(--ink)}
.gf-h .glyph{width:15px;height:15px}
.gf-row{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:3px}
.gf-n{display:grid;justify-items:center;gap:1px;padding:7px 4px 6px;border-radius:14px;background:var(--inset);text-align:center;min-width:0}
.gf-n .art{width:30px;height:30px}
.gf-n b{font-size:11.5px;font-weight:800;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gf-n small{font-size:11px;font-weight:750;color:var(--ink-3);font-variant-numeric:tabular-nums}
.gf-n.on{background:var(--mint-soft)}
.gf-n.on small{color:var(--mint-ink)}
.gf-arr{position:relative;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--line-hi),var(--action))}
.gf-arr::after{content:'';position:absolute;right:0;top:50%;width:6px;height:6px;border-top:2px solid var(--action);border-right:2px solid var(--action);transform:translateY(-50%) rotate(45deg)}
.tut-box.raw{width:auto;height:auto;max-width:100%;transform:none}
.gv-flow{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 5px;padding:8px}
.gv-i{position:relative;display:grid;justify-items:center;gap:4px;animation:gv-pop .6s var(--d,0s) both cubic-bezier(.2,.9,.3,1.3)}
.gv-i .art{width:56px;height:56px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}
.gv-i b{font-size:12.5px;font-weight:850;color:#fff;background:rgba(255,255,255,.14);padding:1px 8px;border-radius:999px;font-variant-numeric:tabular-nums;white-space:nowrap}
.gv-arr{position:relative;width:30px;height:14px;overflow:hidden;background:linear-gradient(rgba(255,255,255,.3),rgba(255,255,255,.3)) left center/calc(100% - 3px) 3px no-repeat}
.gv-arr::after{content:'';position:absolute;left:0;right:3px;top:50%;height:3px;margin-top:-1.5px;background:linear-gradient(90deg,transparent,#fff,transparent);animation:gv-run 1.4s linear infinite}
.gv-arr::before{content:'';position:absolute;right:2px;top:50%;width:7px;height:7px;margin-top:-5px;border-top:3px solid rgba(255,255,255,.6);border-right:3px solid rgba(255,255,255,.6);transform:rotate(45deg);border-radius:1px}
.gv-ok{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--mint);color:#06281F;box-shadow:0 0 0 6px rgba(121,215,195,.18)}
.gv-ok .glyph{width:26px;height:26px}
.gv-cards{position:relative;z-index:1;display:flex;gap:8px;justify-content:center;padding:6px}
.gv-task{width:min(176px,44vw);border-radius:14px;padding:8px;background:linear-gradient(160deg,#283068,#1A2150);box-shadow:inset 0 0 0 1px rgba(139,140,248,.45),0 8px 20px rgba(0,0,0,.35);text-align:left;color:#fff;animation:gv-pop .6s both}
.gv-task.s2{animation-delay:.25s}
.gv-task-h{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:4px;font-size:11px}
.gv-task-h b{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gv-task-h em{font-style:normal;display:inline-flex;align-items:center;gap:2px;padding:1px 5px;border-radius:999px;background:rgba(121,215,195,.16);color:#79D7C3;font-weight:800;font-size:10px}
.gv-task-ic .art{width:18px;height:18px}
.gv-task-h em .art{width:10px;height:10px}
.gv-task-b{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:6px;margin-top:6px}
.gv-sp{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#F6C85A,#D99418);color:#3A2600}
.gv-sp .glyph{width:14px;height:14px}
.gv-tx{min-width:0}
.gv-tx b{display:block;font-size:10px;font-weight:700;line-height:1.2}
.gv-tx small{font-size:10px;color:#79D7C3;font-weight:800}
.gv-go{padding:4px 8px;border-radius:8px;background:var(--action,#8B8CF8);font-size:10px;font-weight:850;animation:gv-tap 1.6s .8s infinite}
.gv-task-f{display:block;margin-top:5px;font-size:9.5px;color:rgba(255,255,255,.6);font-weight:700}
@keyframes gv-pop{from{opacity:0;transform:translateY(8px) scale(.85)}to{opacity:1;transform:none}}
@keyframes gv-run{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes gv-tap{0%,70%,100%{transform:none;box-shadow:none}80%{transform:scale(.92);box-shadow:0 0 0 4px rgba(139,140,248,.35)}}
.reduce-motion .gv-i,.reduce-motion .gv-task,.reduce-motion .gv-go,.reduce-motion .gv-arr::after{animation:none!important}
@media (prefers-reduced-motion:reduce){.gv-i,.gv-task,.gv-go,.gv-arr::after{animation:none!important}}
.loc-row{display:flex;justify-content:center;margin:-2px 0 2px}
.loc-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--inset);font-size:12px;font-weight:700;color:var(--ink-2)}
.loc-chip b{color:var(--ink);font-weight:800}
.loc-chip em{font-style:normal;color:var(--ink-3)}
.loc-flag{font-style:normal;font-size:16px;line-height:1}
.loc-flag.sm{font-size:14px}
/* "Watch ads 1/2 = +1" — Room Ranking and Spin Wheel (2026-10-31) */
.ad-eq{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:13px;font-weight:700;color:var(--ink-2)}
.ad-eq b{color:var(--ink);font-weight:850;font-variant-numeric:tabular-nums}
.ad-eq .op{font-style:normal;color:var(--ink-3);font-weight:800}
.ad-eq .r{color:var(--mint-ink)}
.ad-eq .art{width:16px;height:16px}
.ad-eq .glyph{width:14px;height:14px;color:var(--action-ink)}

/* Your payout review in the profile (2026-11-04). */
.pf-review{display:grid;gap:4px;padding:14px 16px}
.pf-review small{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.pf-review-stars{font-size:1.15rem;letter-spacing:.08em;color:#ffd18a;text-shadow:0 0 12px rgba(255,209,138,.45)}
.pf-review strong{font-size:.95rem}
.pf-review p{margin:0;font-size:.86rem;line-height:1.45;opacity:.85}
.pf-review em{font-style:normal;font-weight:800;font-size:.82rem;color:#ffd18a}
.pf-review a{font-size:.8rem;font-weight:800;color:inherit}
