/* 关注宝箱 */
.follow-chest{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:19;width:84px;height:84px}
.follow-chest[hidden]{display:none}
.follow-chest.on-result{z-index:25}
.follow-chest .fc-open{all:unset;cursor:pointer;display:block;width:84px;height:84px;position:relative;filter:drop-shadow(0 8px 18px #000a) drop-shadow(0 0 16px #f5c45a66);animation:fc-wobble 3.2s ease-in-out infinite}
.follow-chest .fc-open::before{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,#ffd86b55,transparent 65%);animation:fc-glow 2.2s ease-in-out infinite;z-index:-1}
.follow-chest svg{width:100%;height:100%;display:block}
.follow-chest .fc-open:hover{animation-play-state:paused;transform:scale(1.08)}
.follow-chest .fc-open:focus-visible{outline:2px solid #ffd27a;outline-offset:4px;border-radius:12px}
.follow-chest .fc-badge{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);white-space:nowrap;padding:3px 10px;border-radius:999px;background:linear-gradient(180deg,#ffe08a,#e2a13c);color:#3b2207;font:800 12px/1.3 "Microsoft YaHei",sans-serif;box-shadow:0 3px 8px #0008;letter-spacing:.06em}
.follow-chest .fc-hide{all:unset;cursor:pointer;position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:#0f1b16;border:1px solid #c9a65a88;color:#e8d3a0;font:700 14px/22px sans-serif;text-align:center;opacity:.75}
.follow-chest .fc-hide:hover{opacity:1}
@keyframes fc-wobble{0%,78%,100%{transform:rotate(0)}82%{transform:rotate(-7deg)}86%{transform:rotate(6deg)}90%{transform:rotate(-4deg)}94%{transform:rotate(2deg)}}
@keyframes fc-glow{0%,100%{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.follow-chest .fc-open,.follow-chest .fc-open::before{animation:none}}
@media (max-width:760px){.follow-chest{top:auto;bottom:96px;right:12px;transform:none;width:64px;height:64px}.follow-chest .fc-open{width:64px;height:64px}.follow-chest .fc-badge{font-size:11px}}

.follow-chest-card{width:min(400px,calc(100vw - 32px));padding:26px 24px 22px;border:1px solid #c9a65a99;border-radius:20px;color:#eef0e4;text-align:center;background:radial-gradient(circle at 50% -10%,#f5c45a33,transparent 55%),linear-gradient(180deg,#1f3427,#122019);box-shadow:0 30px 90px #000c,inset 0 1px 0 #ffffff14;font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;overflow:hidden}
.follow-chest-card::backdrop{background:#050a08c7;backdrop-filter:blur(6px)}
.follow-chest-card[open]{animation:fc-pop .32s cubic-bezier(.2,1.4,.4,1)}
@keyframes fc-pop{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
.follow-chest-card .fc-x{all:unset;cursor:pointer;position:absolute;top:12px;right:14px;width:30px;height:30px;border-radius:50%;text-align:center;font:600 20px/30px sans-serif;color:#c9d6c8}
.follow-chest-card .fc-x:hover{background:#ffffff14}
.follow-chest-card .fc-eyebrow{font:800 11px/1 "Journey Num","Segoe UI",sans-serif;letter-spacing:.24em;color:#e7b95c;margin-bottom:10px}
.follow-chest-card h3{margin:0 0 6px;font-size:24px;font-weight:900;color:#fff1cc}
.follow-chest-card .fc-sub{margin:0 0 18px;font-size:14px;color:#b9c9bb;line-height:1.6}
.follow-chest-card .fc-rewards{display:flex;gap:10px;justify-content:center;margin-bottom:18px}
.follow-chest-card .fc-reward{flex:1;max-width:170px;padding:14px 10px;border-radius:14px;background:#0d1914;border:1px solid #d6b06455;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center}
.follow-chest-card .fc-cash strong{font:800 30px/1 "Journey Num","Segoe UI",sans-serif;color:#9ff0b4;text-shadow:0 0 18px #52d48055}
.follow-chest-card .fc-font span{font-size:24px;line-height:1.2}
.follow-chest-card .fc-reward small{font-size:12px;color:#b9c9bb;letter-spacing:.08em}
.follow-chest-card .fc-steps{list-style:none;margin:0 0 18px;padding:0;text-align:left;display:grid;gap:8px}
.follow-chest-card .fc-steps li{display:flex;align-items:center;gap:10px;font-size:14px;color:#8fa494}
.follow-chest-card .fc-steps b{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:800 12px "Journey Num",sans-serif;border:1px solid #5b6f60;color:#8fa494}
.follow-chest-card .fc-steps li.now{color:#fff1cc;font-weight:700}
.follow-chest-card .fc-steps li.now b{border-color:#f0c060;color:#3b2207;background:#f0c060}
.follow-chest-card .fc-steps li.done{color:#a9d8b4}
.follow-chest-card .fc-steps li.done b{border-color:#5fbf7f;background:#5fbf7f33;color:#bff2cd}
.follow-chest-card .fc-actions{display:flex;justify-content:center}
.follow-chest-card .fc-primary{all:unset;box-sizing:border-box;cursor:pointer;width:100%;padding:13px 16px;border-radius:12px;text-align:center;font:800 16px/1.2 "Segoe UI","Microsoft YaHei",sans-serif;color:#3b2207;background:linear-gradient(180deg,#ffe08a,#e2a13c);box-shadow:0 4px 0 #8a5a1a,0 10px 24px #000a;letter-spacing:.04em}
.follow-chest-card .fc-primary:hover{filter:brightness(1.07)}
.follow-chest-card .fc-primary:active{transform:translateY(2px);box-shadow:0 2px 0 #8a5a1a}
.follow-chest-card .fc-primary:disabled{cursor:default;opacity:.55}
.follow-chest-card .fc-claim{animation:fc-glow-btn 1.6s ease-in-out infinite}
@keyframes fc-glow-btn{0%,100%{box-shadow:0 4px 0 #8a5a1a,0 0 0 #ffd86b00}50%{box-shadow:0 4px 0 #8a5a1a,0 0 26px #ffd86baa}}
.follow-chest-card .fc-done{margin:0 0 14px;font-size:13.5px;color:#a9d8b4;line-height:1.6}
.follow-chest-card .fc-note{margin:10px 0 0;min-height:1em;font-size:13px;color:#f0c98a}
.follow-chest-card .fc-burst{position:absolute;inset:-40% -40% auto;height:240px;background:conic-gradient(from 0deg,#ffd86b00,#ffd86b40,#ffd86b00 20%,#ffd86b40 40%,#ffd86b00 60%,#ffd86b40 80%,#ffd86b00);border-radius:50%;animation:fc-spin 8s linear infinite;pointer-events:none;opacity:.6}
@keyframes fc-spin{to{transform:rotate(360deg)}}
/* Claimed: the chest stays as a quiet trophy */
.follow-chest.is-claimed .fc-open{animation:none;filter:drop-shadow(0 6px 14px #0009) saturate(.7) brightness(.85)}
.follow-chest.is-claimed .fc-open::before{display:none}
.follow-chest.is-claimed .fc-open:hover{transform:scale(1.04);filter:drop-shadow(0 6px 14px #0009) saturate(.85)}
.follow-chest.is-claimed .fc-badge{background:#25382d;color:#bfe3c9;border:1px solid #5fbf7f88}
.follow-chest.is-claimed .fc-hide{display:none}
.follow-chest-card .fc-rewards.is-claimed .fc-reward{position:relative;opacity:.85;padding-top:26px}
.follow-chest-card .fc-rewards.is-claimed .fc-reward::after{content:"已领取";position:absolute;top:6px;right:6px;padding:1px 7px;border-radius:999px;background:#5fbf7f2e;border:1px solid #5fbf7f88;color:#bff2cd;font-size:11px;font-weight:700}
