/* ==========================================================================
   Quack Shop
   ========================================================================== */
.shop-panel{margin-top:22px}
.shop-child-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--ink-soft);margin:8px 0 4px}
.shop-child-label select{width:auto;display:inline-block;margin:0;padding:8px 10px}
.shop-rate{font-size:12px;color:var(--pond);font-weight:800;background:var(--pond-tint);display:inline-block;padding:6px 11px;border-radius:8px;margin:4px 0 14px}
.shop-used-note{font-size:12px;color:var(--gold-deep);font-weight:700;background:var(--gold-tint);padding:10px 13px;border-radius:var(--radius-sm);margin:0 0 14px}

.shop-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px}
.shop-card{
  border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;
  gap:7px;background:var(--card);box-shadow:var(--shadow-sm);transition:transform .15s var(--ease-out), box-shadow .15s var(--ease-out);
}
@media (hover:hover) and (pointer:fine){
  .shop-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
}
.shop-card b{font-size:13.5px;color:var(--ink)}
.shop-card small{color:var(--muted);font-size:11px}
.shop-card button{
  border:0;border-radius:var(--radius-sm);background:var(--pond);color:#fff;padding:9px;
  font:800 11px inherit;cursor:pointer;margin-top:auto;transition:background .15s ease, transform 160ms var(--ease-out);
}
.shop-card button:hover{background:var(--pond-dark)}
.shop-card button:active:not(:disabled){transform:scale(.96)}
.shop-card button:disabled{opacity:.4;cursor:not-allowed}
.shop-cash-row{display:flex;gap:6px;margin-top:auto}
.shop-cash-row input{width:74px;padding:8px;margin:0}
.shop-cash-row button{flex:1;margin:0}

.shop-history-title{margin-top:20px}
.shop-history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding:11px 0;font-size:12px}
.shop-history-row:first-child{border-top:0}
.shop-history-actions{display:flex;gap:6px}
.shop-approved{color:var(--success);font-weight:800}

.shop-manage-list{display:grid;gap:9px;max-height:320px;overflow:auto;margin-bottom:16px}
.shop-manage-row{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px;font-size:12px}
.shop-manage-row.inactive{opacity:.5}
.shop-manage-fields{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.shop-manage-fields input{width:auto;margin:0;padding:7px 9px;font-size:12px}
.shop-manage-fields small{color:var(--muted);white-space:nowrap}
.shop-edit-title{flex:1 1 130px;font-weight:800}
.shop-edit-cost{width:58px!important;flex:0 0 auto}
.shop-edit-detail{flex:1 1 110px}
.shop-manage-actions{display:flex;gap:6px;justify-content:flex-end}
#shop-teaser .shop-item{padding:9px 0}

/* ==========================================================================
   Mystery Duck Box reveal
   ========================================================================== */
.mystery-reveal{max-width:360px;overflow:hidden;background:linear-gradient(160deg,#2c1a4d,#4a2d7a 55%,#2c1a4d)}
.mystery-reveal::backdrop{background:#0f2b3599}
.mystery-reveal-body{position:relative;text-align:center;padding:36px 20px 30px}
.mystery-reveal .close{background:#ffffff1c;color:#e9defc}
.mystery-reveal .close:hover{background:#ffffff30}
.mystery-reveal .eyebrow{color:#ffd76b;letter-spacing:1.6px}
.glitter-row{font-size:22px;letter-spacing:10px;animation:glitter-twinkle 1.1s ease-in-out infinite alternate}
.glitter-row:last-child{animation-delay:.35s}
.mystery-reveal-text{
  font-size:16px;font-weight:800;margin:15px 0 4px;padding:2px 0;
  background:linear-gradient(90deg,#ffd76b,#ff9ecf,#8fd3f4,#ffd76b);background-size:300% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:glitter-shimmer 1.8s linear infinite;
}
@keyframes glitter-twinkle{from{opacity:.45;transform:scale(.88) rotate(-4deg)}to{opacity:1;transform:scale(1.12) rotate(4deg)}}
@keyframes glitter-shimmer{to{background-position:300% center}}

/* ==========================================================================
   Hatch a Duck
   ========================================================================== */
.hatch-card{border-color:#bfe6d3;background:var(--success-tint)}
.hatch-card button{background:var(--success)}
.hatch-card button:hover{background:#268159}
.hatch-reveal{max-width:360px;overflow:hidden;background:linear-gradient(160deg,#0f3d33,#1c6b52 55%,#0f3d33)}
.hatch-reveal::backdrop{background:#0f2b3599}
.hatch-reveal-body{position:relative;text-align:center;padding:36px 20px 30px}
.hatch-reveal .close{background:#ffffff1c;color:#defce9}
.hatch-reveal .close:hover{background:#ffffff30}
.hatch-reveal .eyebrow{color:#ffe37a;letter-spacing:1.6px}
.hatch-reveal-text{font-size:18px;font-weight:800;margin:15px 0 4px;color:#fff}
.hatch-reveal-subtitle{font-size:13px;color:#d7f5ea;font-weight:700;margin:0}
