/* Cammy 成就系统样式 v2 —— 原生接入版
 * 1) .ach-coin2 糖果圆盘：bundle 内 Ia 组件使用（徽章墙/动态/选择器）
 * 2) 解锁弹层：仿游戏 modal-card 的底部弹层
 */
.ach-coin2,.ach-coin2 *,.ach-pop-wrap,.ach-pop-wrap *{box-sizing:border-box}

/* ---------- 糖果圆盘徽章 ---------- */
.ach-coin2{position:relative;width:76px;height:76px;flex:0 0 76px;
  filter:drop-shadow(0 5px 5px #27354321)}
.ach-coin2.small{width:45px;height:45px;flex:0 0 45px}
.ach-coin2 .ach-edge2{position:absolute;inset:0;border-radius:50%;background:#fff}
.ach-coin2 .ach-rim2{position:absolute;inset:3px;border-radius:50%;
  background:linear-gradient(170deg,var(--r1,#FFD75B),var(--r2,#F0A93C))}
.ach-coin2.small .ach-rim2{inset:2px}
.ach-coin2 .ach-scene2{position:absolute;inset:0;border-radius:50%;overflow:hidden;
  transform:scale(.891)}
.ach-coin2 .ach-scene2 img{width:100%;height:100%;display:block;object-fit:cover}
.ach-coin2 .ach-lock2{position:absolute;top:-3px;right:-3px;width:22px;height:22px;
  border-radius:50%;background:#fff;color:#8A97A4;display:flex;align-items:center;
  justify-content:center;font-size:12px;font-weight:900;font-style:normal;
  box-shadow:0 2px 6px #27354326}
.ach-coin2.locked .ach-scene2 img{filter:grayscale(1) opacity(.5)}
.ach-coin2.locked .ach-rim2{filter:grayscale(.9) opacity(.55)}

/* ---------- 解锁弹层（游戏内底部弹层） ---------- */
.ach-pop-wrap{position:fixed;inset:0;z-index:300}
.ach-pop-dim{position:absolute;inset:0;background:#14202e8a;animation:achfade .3s}
.ach-pop-wrap.out{opacity:0;transition:.3s}
.ach-pop-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:min(440px,100%);padding:14px 24px calc(27px + env(safe-area-inset-bottom));
  text-align:center;background:#fff;border-radius:27px 27px 0 0;
  animation:achup .35s cubic-bezier(.2,1,.4,1)}
.ach-pop-cammy{width:110px;height:110px;margin:-84px auto -6px;display:block;
  object-fit:contain;animation:2.5s ease-in-out infinite achcammy-float}
.ach-pop-sheet small{display:block;color:#F44FA8;font-weight:900;
  letter-spacing:4px;font-size:12px}
.ach-pop-sheet .ach-coin2{width:150px;height:150px;flex:none;margin:14px auto 2px;
  filter:drop-shadow(0 10px 18px #27354330)}
.ach-pop-sheet .ach-coin2 .ach-rim2{inset:7px}
.ach-pop-sheet b{display:block;font-size:26px;font-weight:900;color:#1B2734;
  letter-spacing:3px;margin-top:8px}
.ach-pop-sheet p{margin:8px 0 0;font-size:14px;line-height:1.6;color:#8A97A4}
.ach-pop-btns{margin-top:18px;display:flex;gap:10px}
.ach-pop-btns button{flex:1;border:none;border-radius:999px;min-height:50px;
  font-size:16px;font-weight:900;letter-spacing:2px;cursor:pointer;font-family:inherit}
.ach-pop-btns .pri{background:#78C800;color:#fff;box-shadow:0 5px 12px #1e34442b}
.ach-pop-btns .pri:active{transform:scale(.97)}
.ach-pop-btns .gho{background:#F0F3F6;color:#334858}
.ach-pop-btns .gho:active{transform:scale(.97)}

@keyframes achup{0%{transform:translate(-50%,60px);opacity:0}100%{transform:translate(-50%,0);opacity:1}}
@keyframes achfade{0%{opacity:0}100%{opacity:1}}
@keyframes achcammy-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
