:root { --wallet-rose: #dfc3cc; --wallet-gold: #eee1c4; --wallet-ink: var(--color-text); --wallet-surface: var(--glass-strong); --wallet-edge: var(--color-border); --wallet-radius: 23px; }
.wallet-content { padding-bottom: 32px; }
.wallet-notice,.wallet-note { color: var(--color-text-muted); font-size: 11px; line-height: 1.9; overflow-wrap: anywhere; }
.wallet-notice { padding: 9px 12px; border: 1px solid var(--wallet-edge); border-radius: 14px; background: var(--wallet-surface); }
.wallet-hero { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 26px 18px 18px; border: 1px solid var(--glass-edge); border-radius: 27px; background: radial-gradient(ellipse at top right,var(--wallet-gold),transparent 65%),linear-gradient(145deg,var(--wallet-surface),var(--color-primary-soft)); box-shadow: var(--shadow-card); }
.wallet-hero select { max-width: 100%; width: 100%; border: 1px solid var(--wallet-edge); border-radius: 13px; padding: 8px 10px; color: var(--wallet-ink); background: var(--wallet-surface); font: inherit; font-size: 12px; }
#wallet-balance { font-size: clamp(30px,9vw,43px); line-height: 1.3; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; max-width: 100%; }
.wallet-hero > span:not(.tiny-label),#wallet-escrow { font-size: 11px; color: var(--color-text-muted); margin: 0; }
.wallet-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 15px 0; }
.wallet-actions button { font-size: 12px; padding: 11px 6px; }
.wallet-section-title { margin-top: 24px; font-size: 15px; font-weight: 500; }
.wallet-records { display: grid; gap: 12px; }
.wallet-transaction { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 13px; border: 1px solid var(--wallet-edge); border-radius: 17px; background: var(--wallet-surface); font-size: 12px; }
.wallet-transaction strong { font-weight: 500; }.wallet-transaction small { grid-column: 1/-1; font-size: 9px; color: var(--color-text-muted); overflow-wrap: anywhere; }
.wallet-plus { color: #52694d; }.wallet-minus { color: #7d5269; }
.wish-packet { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 17px 15px 12px; border: 1px solid var(--glass-edge); border-radius: 22px 22px 22px 8px; background: radial-gradient(ellipse at top right,var(--wallet-gold),transparent 65%),linear-gradient(140deg,var(--wallet-rose),var(--color-primary-soft)); color: var(--wallet-ink); box-shadow: var(--shadow-card); overflow: hidden; }
.wish-packet.is-claimed { background: linear-gradient(145deg,var(--color-primary-soft),var(--wallet-surface)); }
.wish-packet-label { font-size: 10px; letter-spacing: .4px; }.wish-packet-note { font-size: 13px; font-weight: 500; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.wish-packet-amount { font-size: 21px; font-variant-numeric: tabular-nums; }.wish-packet-meta,.wish-packet-time { font-size: 10px; line-height: 1.8; overflow-wrap: anywhere; }
.wish-claim { border: 1px solid var(--glass-edge); background: var(--wallet-surface); color: var(--wallet-ink); border-radius: 13px; padding: 10px 6px; font: inherit; font-size: 11px; }
.wish-claim:disabled { opacity: .65; cursor: default; }
.message-bubble.envelope-bubble { padding: 0; border: 0; background: transparent; box-shadow: none; min-width: min(215px,100%); border-radius: 22px; }
.message-bubble.envelope-bubble::before,.message-bubble.envelope-bubble::after { display: none; }
.wallet-dialog { position: absolute; inset: 0; width: calc(100% - 30px); max-width: 330px; max-height: calc(100% - 100px); margin: auto; padding: 20px; border: 1px solid var(--glass-edge); border-radius: 26px; background: var(--color-surface); color: var(--wallet-ink); box-shadow: var(--shadow-card); overflow-y: auto; overscroll-behavior: contain; }
.wallet-dialog::backdrop { background: rgb(64 48 68 / 18%); backdrop-filter: blur(3px); }
#wallet-form { display: grid; gap: 13px; }#wallet-form label { display: grid; gap: 7px; font-size: 12px; }
#wallet-form input,#wallet-form select { width: 100%; min-width: 0; font: inherit; padding: 11px; border: 1px solid var(--wallet-edge); border-radius: 13px; background: var(--wallet-surface); color: var(--wallet-ink); }
#wallet-form .wallet-note { margin: 0; }#wallet-form h3 { font-size: 17px; font-weight: 500; margin: 0; }
.wallet-opened { text-align: center; background: radial-gradient(ellipse at top,var(--wallet-gold),transparent 80%),var(--color-surface); }
.wallet-opened[open] { animation: wish-unfold .4s ease; }.wallet-opened strong { display: block; font-size: 32px; margin: 16px 0; }.wallet-opened p { font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }.wallet-opened .primary-button { width: 100%; margin-top: 15px; }
.wallet-stars { display: block; font-size: 23px; color: #806445; pointer-events: none; }.wallet-opened[open] .wallet-stars { animation: wish-stars .8s ease both; }.wallet-opened[open] strong,.balance-changed { animation: wish-amount .5s ease; }
@keyframes wish-unfold { from { opacity: .3; transform: translateY(9px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes wish-stars { from { opacity: 0; transform: translateY(8px) scale(.85); } to { opacity: .85; transform: translateY(-3px); } }
@keyframes wish-amount { from { opacity: .4; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion:reduce) { .wallet-opened[open],.wallet-opened[open] .wallet-stars,.wallet-opened[open] strong,.balance-changed { animation: none; } }
:root[data-ambient-motion=paused] .wallet-opened[open],:root[data-ambient-motion=paused] .wallet-opened[open] .wallet-stars,:root[data-ambient-motion=paused] .wallet-opened[open] strong,:root[data-ambient-motion=paused] .balance-changed { animation: none; }
.wallet-rewards { margin: 26px 0; padding-top: 16px; border-top: 1px solid var(--wallet-edge); }.rewards-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.rewards-heading h3 { font-size: 16px; font-weight: 500; }.rewards-heading button { font-size: 10px; }
.rewards-checkin { padding: 16px 13px; border: 1px solid var(--glass-edge); border-radius: 20px; background: linear-gradient(135deg,var(--wallet-surface),var(--color-primary-soft)); }.rewards-checkin strong { display: block; margin-top: 9px; font-size: 18px; font-weight: 500; }.rewards-checkin p { font-size: 11px; line-height: 1.8; }.rewards-checkin button { font-size: 12px; width: 100%; }
.reward-task { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 15px 0; border-bottom: 1px solid var(--wallet-edge); }.reward-task strong { font-size: 11px; font-weight: 500; line-height: 1.8; }.reward-task small { display: block; margin-top: 5px; color: var(--color-text-muted); font-size: 10px; }.reward-task button { font-size: 11px; flex-shrink: 0; }
.rewards-relief { padding: 15px 0; }.rewards-relief h4 { font-size: 13px; font-weight: 500; }.rewards-relief p { font-size: 12px; line-height: 2; color: var(--color-text-muted); }.rewards-relief button { width: 100%; font-size: 12px; }.rewards-relief small { display: block; margin-top: 10px; color: var(--color-text-muted); font-size: 10px; line-height: 1.8; }.economy-settings button { width: 100%; font-size: 12px; }.economy-settings p { overflow-wrap: anywhere; }#economy-free-balance { width: 100%; min-width: 0; }
