.crystal-wallet-pair { display:inline-flex; align-items:stretch; flex-wrap:nowrap; gap:5px; }
.currency-box { display:inline-flex; align-items:center; justify-content:center; min-width:64px; padding:7px 9px; box-sizing:border-box; border:2px solid #140719; border-radius:7px; color:#fff; background-size:240% 100%; animation:currency-box-shimmer 2.4s linear infinite; }
.currency-box--gem { --currency-glow:210,93,255; background-image:linear-gradient(110deg,#6f1bd0 0%,#a52cff 32%,#dc79ff 50%,#a52cff 68%,#6f1bd0 100%); }
.currency-box--crystal { --currency-glow:64,232,255; background-image:linear-gradient(110deg,#007c9e 0%,#00c7e8 32%,#a4faff 50%,#00c7e8 68%,#007c9e 100%); }
@keyframes currency-box-shimmer {
  0% { background-position:100% 0; box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 0 0 rgba(var(--currency-glow),0); }
  50% { box-shadow:inset 0 2px 0 rgba(255,255,255,.42),0 0 7px rgba(var(--currency-glow),.72); }
  100% { background-position:-100% 0; box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 0 0 rgba(var(--currency-glow),0); }
}
@media (prefers-reduced-motion:reduce) { .currency-box { animation:none; background-position:50% 0; } }
.crystal-amount { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.crystal-amount .crystal-currency-icon { width:23px; height:25px; object-fit:contain; image-rendering:pixelated; }
.crystal-bag-launch { position:relative; display:block; width:76px; height:76px; overflow:visible; border:0; background:transparent; color:#362919; padding:0; cursor:pointer; filter:drop-shadow(0 3px 2px rgba(48,23,8,.45)); animation:crystal-bag-bob 1.35s ease-in-out infinite; }
.crystal-bag-launch[hidden] { display:none; }
.crystal-bag-launch > img { position:absolute; left:50%; top:50%; width:96px; height:96px; object-fit:contain; image-rendering:pixelated; transform:translate(-50%,-50%); }
.crystal-bag-launch > span { display:none; }
.crystal-daily-host { position:absolute; left:205px; top:200px; width:76px; height:76px; transform:translateX(-50%); z-index:1190; pointer-events:none; }
.crystal-daily-host .crystal-bag-launch { pointer-events:auto; }
@keyframes crystal-bag-bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
.crystal-bag-launch.is-poofing { pointer-events:none; animation:crystal-bag-poof .52s ease-out forwards; }
@keyframes crystal-bag-poof { 0% { opacity:1; transform:scale(1); } 55% { opacity:.9; transform:scale(1.35); filter:brightness(1.8) drop-shadow(0 0 12px #fff); } 100% { opacity:0; transform:scale(.15); } }
.crystal-dialog { box-sizing:border-box; width:min(480px, calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:20px; border:4px solid #140719; border-radius:8px; background:#9c00ff; color:#fff; font:16px/1.5 sans-serif; }
.crystal-dialog::backdrop { background:rgb(25 26 20 / 65%); }
.crystal-dialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-20px -20px 16px; padding:14px 16px; border-bottom:3px solid #140719; background:#bdf522; color:#140719; }
.crystal-dialog h2 { display:flex; align-items:center; flex-wrap:wrap; gap:5px; font-size:22px; line-height:1.25; margin:0; }
.crystal-dialog h2 .crystal-currency-icon { width:24px; height:27px; }
.crystal-dialog h3 { font-size:16px; margin:0; }
.crystal-dialog small { font-size:12px; }
.crystal-dialog button { font:inherit; min-height:44px; border:2px solid #140719; background:#fffef6; color:#140719; padding:8px 12px; }
.crystal-dialog button:not(:disabled) { cursor:pointer; }
.crystal-dialog button:focus-visible, .crystal-bag-launch:focus-visible, .crystal-dialog select:focus-visible { outline:3px solid #007773; outline-offset:3px; }
.crystal-dialog [data-close] { font-size:24px; line-height:1; min-width:44px; }
.crystal-reward-date { margin:0 0 12px; font-weight:700; }
.crystal-bag-total { margin-top:0; font-size:28px; font-weight:700; }
.crystal-bag-total .crystal-currency-icon { width:32px; height:36px; }
.crystal-breakdown { margin:16px 0; padding:10px 12px; border:2px solid #140719; border-radius:7px; background:#6f00c7; }
.crystal-breakdown > div { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:38px; }
.crystal-breakdown dt { display:flex; align-items:center; gap:9px; font-weight:700; }
.crystal-breakdown dt img { width:28px; height:28px; object-fit:contain; image-rendering:pixelated; }
.crystal-breakdown dd { margin:0; flex-shrink:0; }
.crystal-breakdown .crystal-breakdown-total { margin-top:7px; padding-top:7px; border-top:2px solid rgba(255,255,255,.72); font-size:18px; font-weight:800; }
.crystal-breakdown-total .crystal-currency-icon { width:22px; height:24px; object-fit:contain; image-rendering:pixelated; }
.crystal-status { color:#fff; }
.crystal-dialog footer button { width:100%; background:#bdf522; font-weight:700; }
.crystal-dialog footer button:disabled { background:#e8dfbd; }
.crystal-review-panel { border-top:2px solid #baa77b; padding:16px; }
.crystal-review-panel li { margin-block:12px; }
@media (max-width:480px) { .crystal-dialog { padding:16px; } }
