/* Dog Game — instant-win games (wheel/scratch/slots/boxes/plinko). Theme-agnostic, self-contained. */
.dg-wrap{--dg-accent:#BF4426;--dg-ink:#2B2018;--dg-card:#fff;--dg-line:#E6D8C2;--dg-win:#0E6E66;max-width:560px;margin:32px auto;padding:0 16px;box-sizing:border-box}
.dg-wrap *{box-sizing:border-box}
.dg-card{background:var(--dg-card);border:1px solid var(--dg-line);border-radius:22px;box-shadow:0 20px 50px -24px rgba(43,32,24,.35);padding:34px 28px;text-align:center}
.dg-title{font-size:clamp(24px,5vw,34px);font-weight:700;margin:0 0 8px;color:var(--dg-ink)}
.dg-intro{margin:0 auto 22px;max-width:420px;color:#5C5046;line-height:1.6;font-size:15px}
.dg-board{margin:8px auto 22px}

/* --- Form + button (shared) --- */
.dg-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:420px;margin:0 auto}
.dg-email{flex:1 1 200px;min-width:0;padding:13px 16px;border:1px solid var(--dg-line);border-radius:12px;font-size:15px;color:var(--dg-ink);background:#fff}
.dg-email:focus{outline:none;border-color:var(--dg-accent);box-shadow:0 0 0 3px rgba(191,68,38,.15)}
.dg-play{flex:0 0 auto;padding:13px 26px;border:0;border-radius:12px;background:var(--dg-accent);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:transform .1s,filter .15s}
.dg-play:hover:not(:disabled){filter:brightness(1.06)}
.dg-play:active:not(:disabled){transform:translateY(1px)}
.dg-play:disabled{opacity:.6;cursor:not-allowed}
.dg-hint{margin:14px auto 0;font-size:14px;font-weight:600;color:var(--dg-accent)}

/* --- Result panel (shared) --- */
.dg-result{margin-top:22px;padding:20px;border-radius:16px;background:#FBF6EE;border:1px dashed var(--dg-accent);animation:dg-pop .35s ease}
.dg-result.dg-lose{border-style:solid;border-color:var(--dg-line);background:#f6f3ee}
.dg-result h3{margin:0 0 6px;font-size:20px;color:var(--dg-ink)}
.dg-result .dg-prize{font-size:22px;font-weight:800;color:var(--dg-accent);margin:4px 0 12px}
.dg-code-row{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--dg-line);border-radius:10px;padding:8px 8px 8px 14px;margin:6px 0}
.dg-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:18px;font-weight:700;letter-spacing:1px;color:var(--dg-ink)}
.dg-copy{border:0;background:var(--dg-accent);color:#fff;border-radius:7px;padding:7px 12px;font-size:13px;font-weight:700;cursor:pointer}
.dg-note{font-size:13px;color:#8A7D6F;margin:10px 0 0}
.dg-error{color:#b00;font-size:14px;margin-top:12px;min-height:18px}
@keyframes dg-pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}

/* --- WHEEL --- */
.dg-wheel-wrap{position:relative;width:min(440px,86vw);aspect-ratio:1;margin:0 auto}
.dg-wheel{width:100%;height:100%;border-radius:50%;box-shadow:0 8px 24px rgba(43,32,24,.2),inset 0 0 0 8px rgba(255,255,255,.85);transition:transform 8.5s cubic-bezier(.08,.66,.08,1);transform:rotate(0deg)}
.dg-hub{position:absolute;top:50%;left:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:#fff;border:4px solid var(--dg-accent);box-shadow:0 3px 10px rgba(43,32,24,.25);z-index:3}
.dg-hub::after{content:"🐾";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px}
.dg-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:26px solid var(--dg-accent);z-index:4;filter:drop-shadow(0 2px 3px rgba(43,32,24,.35))}

/* --- SLOTS --- */
.dg-slots{display:flex;gap:12px;justify-content:center;padding:18px;background:linear-gradient(#3a2c22,#241a13);border-radius:18px;box-shadow:inset 0 3px 12px rgba(0,0,0,.5)}
.dg-reel{width:84px;height:84px;overflow:hidden;background:#fff;border-radius:12px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.7),0 4px 10px rgba(0,0,0,.4)}
.dg-reel-strip{display:flex;flex-direction:column;will-change:transform}
.dg-reel-cell{height:84px;display:flex;align-items:center;justify-content:center;font-size:44px;line-height:1}
.dg-slots.dg-win .dg-reel{animation:dg-slotwin .5s ease 2}
@keyframes dg-slotwin{50%{box-shadow:inset 0 0 0 3px #ffd54a,0 0 18px #ffce3a}}

/* --- SCRATCH --- */
.dg-scratch{position:relative;width:min(420px,90vw);height:190px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px -10px rgba(43,32,24,.5)}
.dg-scratch-prize{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#FBF6EE,#FBF6EE 12px,#f3ebdd 12px,#f3ebdd 24px)}
.dg-scratch-inner{text-align:center}
.dg-scratch-icon{font-size:44px;line-height:1}
.dg-scratch-label{font-size:22px;font-weight:800;margin-top:8px;color:var(--dg-accent)}
.dg-scratch-inner.dg-lose .dg-scratch-label{color:#8A7D6F}
.dg-scratch-cover{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:default}
.dg-scratch-cover.dg-scratchable{cursor:crosshair}

/* --- BOXES --- */
.dg-boxes{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.dg-box{position:relative;width:96px;height:96px;border:0;background:none;padding:0;cursor:default;perspective:500px}
.dg-box .dg-box-lid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#fff;background:linear-gradient(145deg,var(--dg-accent),#8f3016);border-radius:14px;box-shadow:0 6px 14px -6px rgba(43,32,24,.6);transition:transform .5s,opacity .4s;backface-visibility:hidden}
.dg-box .dg-box-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fff;border:2px solid var(--dg-line);border-radius:14px;opacity:0;transform:scale(.8);transition:opacity .35s,transform .35s;padding:6px}
.dg-box-live{cursor:pointer}
.dg-box-live .dg-box-lid{animation:dg-bob 1.4s ease-in-out infinite}
.dg-box-live:hover .dg-box-lid{transform:translateY(-4px) scale(1.03)}
.dg-box-open .dg-box-lid,.dg-box-dim .dg-box-lid{opacity:0;transform:rotateX(90deg)}
.dg-box-open .dg-box-face,.dg-box-dim .dg-box-face{opacity:1;transform:none}
.dg-box-open .dg-box-face{border-color:var(--dg-accent)}
.dg-box-open.dg-win .dg-box-face{border-color:var(--dg-win);box-shadow:0 0 0 3px rgba(14,110,102,.2)}
.dg-box-dim{opacity:.5}
.dg-box-icon{font-size:30px;line-height:1}
.dg-box-txt{font-size:12px;font-weight:700;color:var(--dg-ink);line-height:1.2;word-break:break-word}
.dg-box-decoy{color:#b3a998;font-weight:600}
@keyframes dg-bob{50%{transform:translateY(-5px)}}

/* --- PLINKO --- */
.dg-plinko{position:relative;width:min(420px,90vw);height:300px;margin:0 auto;background:linear-gradient(#f6f3ee,#efe7d8);border-radius:16px;overflow:hidden;padding-top:14px}
.dg-pegs{display:flex;flex-direction:column;gap:26px;height:210px}
.dg-peg-row{display:flex;justify-content:center;gap:30px}
.dg-peg{width:9px;height:9px;border-radius:50%;background:#c9b79a;box-shadow:inset 0 -1px 1px rgba(0,0,0,.2)}
.dg-ball{position:absolute;top:0;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--dg-accent));box-shadow:0 2px 5px rgba(43,32,24,.4);z-index:3}
.dg-slots-row{position:absolute;left:0;right:0;bottom:0;display:flex;height:52px}
.dg-slot{flex:1;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800;border-right:2px solid rgba(255,255,255,.5);text-shadow:0 1px 2px rgba(0,0,0,.35);transition:transform .2s}
.dg-slot:last-child{border-right:0}
.dg-slot-hit{transform:translateY(-4px);filter:brightness(1.15) saturate(1.2)}

@media(max-width:480px){.dg-card{padding:26px 16px}.dg-play{flex:1 1 100%}.dg-reel,.dg-reel-cell{width:70px;height:70px}.dg-reel-cell{font-size:36px}.dg-box{width:82px;height:82px}}
