.coin-pending-badge { position: absolute; top: -7px; right: -7px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--theme-color); color: var(--theme-text-color); font-size: 10px; line-height: 18px; text-align: center; }
.home-coin-balance { position: relative; cursor: pointer; }
.coin-pending-badge[hidden],#reward-claim-all[hidden] { display:none; }
.coin-dialog { width: min(540px,calc(100% - 28px)); max-height: calc(100dvh - 40px); padding: 18px; margin: auto; overflow: auto; background: #0D1117; color: #FFF; border: 1px solid var(--theme-color); border-radius: 8px; }
.coin-dialog::backdrop { background: #000B; backdrop-filter: blur(5px); }
.coin-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.coin-dialog h2 { font-size: 20px; }
.coin-dialog h3 { font-size: 16px; margin: 16px 0 10px; }
.coin-dialog button,.store-commerce button,.coin-reveal button { min-height: 40px; padding: 9px 12px; background: var(--theme-color); color: var(--theme-text-color); border-radius: 6px; font-size: 13px; }
.coin-dialog .coin-close { flex:0 0 40px; height:40px; padding:0; font-size:24px; background:#161B22; border:1px solid #30363D; color:var(--theme-color); }
.coin-wallet { display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.coin-wallet img { width:30px; height:30px; }
.coin-wallet strong { font-size:22px; flex:1; }
.coin-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin-bottom:16px; }
.coin-tabs button { background:#161B22; color:#C8D0DA; border:1px solid #30363D; min-width:0; padding:8px 4px; font-size:12px; }
.coin-tabs button[aria-selected=true] { border-color:var(--theme-color); color:var(--theme-color); }
.reward-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.reward-toolbar span,.reward-card time,.reward-empty { font-size:12px; color:#A9B5C3; }
.reward-empty { margin:0; line-height:1.5; }
#reward-retry { margin-top:16px; }
.reward-card { position:relative; border:1px solid #30363D; border-radius:8px; background:#111820; padding:12px; margin-bottom:10px; }
.reward-card summary { display:grid; gap:5px; padding-right:78px; cursor:pointer; list-style:none; min-height:40px; }
.reward-card summary strong { font-size:14px; overflow-wrap:anywhere; }
.reward-card summary span { color:var(--theme-color); font-size:13px; }
.reward-card > button { position:absolute; right:12px; top:12px; }
.reward-card p,.coin-reveal-details p { font-size:12px; line-height:1.5; margin:10px 0; overflow-wrap:anywhere; }
.coin-dialog dl,.coin-reveal dl { margin:12px 0; font-size:13px; }
.coin-dialog dl > div,.coin-reveal dl > div { display:flex; gap:12px; justify-content:space-between; margin-top:6px; }
.coin-dialog dd,.coin-reveal dd { margin:0; font-variant-numeric:tabular-nums; }
.coin-dialog dl > div:last-child { border-top:1px solid #30363D; padding-top:8px; font-weight:700; }
.gift-message { border-left:2px solid var(--theme-color); padding-left:10px; }
#reward-status,.gift-status,.store-purchase-status { color:#FFB4B4; font-size:12px; line-height:1.5; margin:10px 0; }
#reward-status:empty,.store-purchase-status:empty { display:none; }
.coin-dialog label { display:block; margin:12px 0 6px; font-size:13px; }
.coin-dialog input,.coin-dialog textarea { width:100%; padding:10px; border:1px solid #30363D; border-radius:6px; background:#05090D; color:#FFF; font-size:16px; }
.coin-dialog textarea { resize:vertical; }
.coin-reveal { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; border:0; padding:28px 20px; margin:0; background:#000D; color:#FFF; }
.coin-reveal[open] { display:flex; align-items:center; flex-direction:column; gap:18px; }
.coin-reveal::backdrop { background:#000B; backdrop-filter:blur(8px); }
.coin-reveal h2 { font-size:24px; text-align:center; margin-top:auto; }
.reward-coin { width:160px; height:160px; object-fit:contain; filter:drop-shadow(0 0 18px #FFE49166); }
.reward-coin-stage { position:relative; width:160px; height:160px; flex:0 0 160px; border-radius:50%; filter:drop-shadow(0 0 18px #FFE49155); overflow:hidden; }
.reward-coin-stage::after { content:''; position:absolute; inset:-60%; background:linear-gradient(115deg,transparent 40%,#FFFFFFA0 50%,transparent 60%); opacity:0; pointer-events:none; }
@media(prefers-reduced-motion:no-preference) { .reward-coin-stage::after { animation:coin-light-sweep 1100ms ease 200ms both; } @keyframes coin-light-sweep { 0% { opacity:0; transform:translateX(-100%); } 30%,70% { opacity:1; } 100% { opacity:0; transform:translateX(100%); } } }
.coin-counter { display:block; height:44px; min-width:120px; font-size:34px; font-weight:800; text-align:center; font-variant-numeric:tabular-nums; }
.coin-reveal-details { width:min(420px,100%); max-height:32dvh; overflow:auto; padding:0 6px; text-align:center; }
.coin-reveal-reward + .coin-reveal-reward { margin-top:16px; padding-top:16px; border-top:1px solid #30363D; }
.coin-reveal-reward h3 { font-size:14px; margin:0 0 8px; overflow-wrap:anywhere; }
.coin-reveal-details .coin-breakdown-line { margin:6px 0; font-size:14px; }
.coin-breakdown-line span { font-variant-numeric:tabular-nums; }
.coin-reveal-details .gift-message { border:0; padding:0; }
.coin-reveal form { margin-bottom:auto; }
.store-price { color:var(--theme-color); font-size:12px; font-weight:700; }
.store-commerce { margin-top:16px; padding-top:12px; border-top:1px solid #30363D; }
.store-commerce > p { font-size:13px; margin:8px 0; }
.store-commerce button { width:100%; margin-top:8px; }
.profile-decorations-button { background:var(--theme-color); color:var(--theme-text-color); padding:12px; border-radius:6px; }
.coin-dialog button:disabled,.store-commerce button:disabled { opacity:.45; cursor:default; }
.cosmetic-avatar { position:relative; overflow:visible!important; }
.cosmetic-frame { position:absolute; inset:-2px; pointer-events:none; }
.cosmetic-frame .store-frame { width:100%; height:100%; background:transparent; }
.cosmetic-frame.satin { inset:calc(-1 * var(--satin-weight)); }
.cosmetic-frame.satin .store-frame { border:0; box-shadow:none; }
.cosmetic-frame.satin .store-frame::after { content:''; position:absolute; inset:0; border:var(--satin-weight) solid var(--decor-accent); border-radius:50%; }
.cosmetic-frame.satin .store-frame::before { z-index:1; padding:var(--satin-weight); -webkit-mask:linear-gradient(#FFF 0 0) content-box,linear-gradient(#FFF 0 0); mask:linear-gradient(#FFF 0 0) content-box,linear-gradient(#FFF 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.cosmetic-frame .store-charm { width:14px; height:14px; font-size:12px; bottom:-6px; }
.cosmetic-frame .store-pair-charm { width:20px; font-size:10px; }
.cosmetic-avatar:has(> .cosmetic-frame.sweetheart){border-color:transparent!important}
.cosmetic-frame.sweetheart{inset:-5px}
.cosmetic-frame.sweetheart .store-frame{background:transparent;box-shadow:0 0 0 3px var(--sweet-secondary),inset 0 0 0 1px var(--decor-light),inset 0 0 0 3px var(--sweet-secondary)}
.cosmetic-frame.sweetheart .store-charm{width:var(--charm-size);height:var(--charm-size);font-size:var(--charm-font);bottom:var(--charm-offset)}
.cosmetic-frame.sweetheart .store-pair-charm{width:var(--pair-size);font-size:var(--pair-font)}
.cosmetic-frame .store-pearls { inset:calc(-3px - var(--pearl-gap)); }
.cosmetic-frame .store-pearls i::before { width:2px; height:2px; }
.cosmetic-message .store-bubble { padding:10px 12px; font-size:14px; font-weight:700; line-height:1.25; border:0; border-radius:14px; text-align:left; }
.cosmetic-message .store-bubble::before,.cosmetic-message .store-bubble::after { inset:0; }
.cosmetic-message.stitched-note .store-bubble::before { inset:var(--stitch-inset); }
.cosmetic-message .store-bubble { width:fit-content; max-width:100%; }
.cosmetic-name { display:inline-block; max-width:100%; }
.cosmetic-name .store-name-accent { display:inline-block; font-size:inherit; line-height:inherit; }
.message-meta .cosmetic-name .store-name-accent { font-size:10px; }
.message-meta .cosmetic-name.ribbon-name .store-name-accent { padding:3px 5px; }
.cosmetic-reaction { position:fixed; width:0; height:0; z-index:4000; pointer-events:none; }
.cosmetic-celebration { position:absolute; top:var(--pause-header-height,58px); bottom:var(--pause-nav-height,58px); left:0; right:0; z-index:7; overflow:hidden; pointer-events:none; }
.focus-game .cosmetic-celebration { top:52px; bottom:0; }
.turn-cue-overlay.show-turn-cue.completion-celebrating,
.jigsaw-complete-cue.completion-celebrating { animation:none; opacity:1; }
@media (prefers-reduced-motion:no-preference) {
    .turn-cue-overlay.completion-celebrating span::after { animation:turn-cue-sweep 1s ease infinite; }
    .jigsaw-complete-cue.completion-celebrating { animation:completion-text-pulse 1.6s ease-in-out infinite; }
    @keyframes completion-text-pulse { 0%,100% { color:var(--theme-color); } 50% { color:#FFF; } }
}
@media(prefers-reduced-motion:no-preference) { .reward-coin { animation:coin-arrive 900ms ease both; } @keyframes coin-arrive { 0% { opacity:0; transform:scale(.65) rotateY(-55deg); filter:brightness(1.8) drop-shadow(0 0 24px #FFE491AA); } 65% { opacity:1; transform:scale(1.06) rotateY(8deg); } 100% { transform:scale(1) rotateY(0); } } }
