/* v58 Rewards: flying coins (web/js/rewards.js) and the Sentence Lab reward screen. Code-drawn, no images. */
#rw-layer{position:fixed;inset:0;pointer-events:none;z-index:9000;overflow:hidden}
.rw-coin{position:absolute;left:-13px;top:-13px;width:26px;height:26px;border-radius:50%;will-change:transform,opacity;
  background:radial-gradient(circle at 34% 30%,#fff7cf 0 14%,#ffd75e 15% 46%,#e2a91d 47% 70%,#b07812 71%);
  box-shadow:inset 0 0 0 2px #c48a12,inset 0 0 0 5px #f6cf55,0 3px 8px rgba(0,0,0,.35)}
.rw-coin::after{content:"";position:absolute;inset:8px;border-radius:50%;border:2px solid rgba(150,98,8,.55)}
.rw-coin.clean{background:radial-gradient(circle at 34% 30%,#effff6 0 14%,#7ee0ad 15% 46%,#2fa36a 47% 70%,#1d6e47 71%);
  box-shadow:inset 0 0 0 2px #1f7a4e,inset 0 0 0 5px #8be6b6,0 3px 8px rgba(0,0,0,.35)}
.rw-coin.clean::after{content:"✓";inset:0;border:0;display:grid;place-items:center;font:900 13px/1 system-ui,sans-serif;color:#0f4d30}
.pts-badge.rw-bump{animation:rwBump .32s ease-out}
@keyframes rwBump{0%{transform:scale(1)}40%{transform:scale(1.14);box-shadow:0 0 0 5px rgba(242,193,78,.35)}100%{transform:scale(1)}}

/* the answer feedback: base points + the clean-writing coin */
.sl-xp.clean{background:#8be6b6;color:#0f4d30}
.sl-clean{display:block;margin-top:6px;font-size:14px}
.sl-clean.ok{color:#1d6e47;font-weight:700}
.sl-clean.tip{color:#6b5a3a}
.sl-clean .rw-mini{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-2px;margin-right:4px;background:radial-gradient(circle at 34% 30%,#effff6 0 14%,#7ee0ad 15% 46%,#2fa36a 47%);box-shadow:inset 0 0 0 1.5px #1f7a4e}
.sl-clean.tip .rw-mini{filter:grayscale(1);opacity:.55}
.sl-snd{background:none;border:1px solid rgba(240,201,107,.45);color:#f0c96b;border-radius:99px;padding:3px 10px;font:600 12px system-ui,sans-serif;cursor:pointer;margin-left:8px;vertical-align:middle}
.sl-snd[aria-pressed="false"]{opacity:.7}

/* ---------- reward screen ---------- */
.rw-card{position:relative;overflow:hidden;text-align:center;padding-top:26px}
.rw-hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0 14px}
.rw-stack{position:relative;width:118px;height:118px;margin:0 auto 4px}
.rw-big{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 34% 28%,#fff8d8 0 10%,#ffd75e 11% 52%,#e2a91d 53% 74%,#a86f0e 75%);
  box-shadow:inset 0 0 0 4px #c48a12,inset 0 0 0 10px #f6cf55,inset 0 0 0 12px #c48a12,0 10px 26px rgba(120,80,0,.35);
  animation:rwPop .6s cubic-bezier(.2,1.6,.4,1) both}
.rw-big b{font:700 34px Georgia,serif;color:#5a3a00;text-shadow:0 1px 0 #fff3c0}
.rw-big small{position:absolute;bottom:22px;left:0;right:0;font:800 10px system-ui,sans-serif;letter-spacing:.12em;color:#7a5200}
.rw-shine{position:absolute;inset:-30px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 20deg,rgba(255,226,140,.35) 30deg,transparent 40deg 80deg,rgba(255,226,140,.3) 95deg,transparent 110deg 160deg,rgba(255,226,140,.35) 170deg,transparent 180deg 220deg,rgba(255,226,140,.3) 235deg,transparent 250deg 300deg,rgba(255,226,140,.35) 310deg,transparent 320deg);animation:rwSpin 9s linear infinite;z-index:-1}
.rw-stars{display:flex;gap:10px;justify-content:center;margin:4px 0 2px}
.rw-star{width:38px;height:38px;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#e3d6b6;transform:scale(.6);opacity:.6}
.rw-star.on{background:linear-gradient(160deg,#ffe58a,#f0b928 60%,#c98a0c);animation:rwStar .5s cubic-bezier(.2,1.6,.4,1) both;opacity:1}
.rw-star.on:nth-child(2){animation-delay:.25s}.rw-star.on:nth-child(3){animation-delay:.5s}
.rw-title{margin:6px 0 0}
.rw-sub{margin:0;color:#6b5a3a}
.rw-sub.sm{font-size:13px;color:#8a7a5a}
.rw-rows{list-style:none;padding:0;margin:14px auto 6px;max-width:560px;text-align:left}
.rw-rows li{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e6d6b0;border-radius:14px;padding:10px 14px;margin:8px 0;animation:rwRow .45s ease-out both}
.rw-rows li .rw-ico{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;font:900 14px system-ui,sans-serif}
.rw-rows li .rw-ico.gold{background:radial-gradient(circle at 34% 30%,#fff7cf 0 14%,#ffd75e 15% 50%,#e2a91d 51%);box-shadow:inset 0 0 0 2px #c48a12;color:#6b4500}
.rw-rows li .rw-ico.green{background:radial-gradient(circle at 34% 30%,#effff6 0 14%,#7ee0ad 15% 50%,#2fa36a 51%);box-shadow:inset 0 0 0 2px #1f7a4e;color:#0f4d30}
.rw-rows li .rw-ico.ink{background:#efe4c8;color:#6b4a14}
.rw-rows li span{flex:1;color:#3a2a10;font-size:15px}
.rw-rows li span small{display:block;color:#7a6a4a;font-size:12.5px}
.rw-rows li b{font:700 20px Georgia,serif;color:#8a5a00;min-width:46px;text-align:right}
.rw-rows li.zero b{color:#b8a888}
.rw-rows li.total{background:#2a1d0c;border-color:#2a1d0c}
.rw-rows li.total span{color:#f7ecd6;font-weight:700}
.rw-rows li.total b{color:#f0c96b;font-size:24px}
.rw-days{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 4px;color:#3a2a10;font-weight:700}
.rw-days i{width:16px;height:16px;border-radius:50%;border:2px solid #c9a24a;background:#fff}
.rw-days i.on{background:#2fa36a;border-color:#1f7a4e;box-shadow:0 0 0 4px rgba(47,163,106,.18)}
.rw-days i.secure{background:#f0b928;border-color:#c98a0c}
.rw-cap{font-size:13px;color:#6b5a3a;margin:6px 0 0}
.rw-card .sl-ask,.rw-card h3,.rw-card .sl-hint,.rw-card .sl-two{text-align:left}
.rw-card .sl-row{justify-content:center}
@keyframes rwPop{from{transform:scale(.3) rotate(-25deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@keyframes rwStar{from{transform:scale(.2) rotate(-40deg)}to{transform:scale(1) rotate(0)}}
@keyframes rwSpin{to{transform:rotate(360deg)}}
@keyframes rwRow{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.rw-big,.rw-star.on,.rw-rows li{animation:none}.rw-shine{animation:none}.pts-badge.rw-bump{animation:none}}
@media (max-width:560px){.rw-stack{width:96px;height:96px}.rw-big b{font-size:28px}.rw-big small{bottom:16px}.rw-rows li{padding:9px 11px}.rw-rows li span{font-size:14px}}
