/* "The kid" popup, opened from the corner button (see dealer.js). */
.dealer-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:28px;background:radial-gradient(ellipse at 22% 0%,#ffe9a838,transparent 55%),repeating-linear-gradient(0deg,#ffffff06 0 1px,transparent 1px 26px),linear-gradient(170deg,#2c2638,#1b1824 70%);color:var(--cream);box-shadow:0 30px 80px #0008;overflow:auto}
.dealer-dialog::backdrop{background:#0d0b14b8;backdrop-filter:blur(4px)}
.dealer-close{position:absolute;top:14px;right:16px;z-index:3;width:36px;height:36px;border-radius:50%;background:#ffffff14;color:var(--cream);font-size:22px;line-height:1}
.dealer-close:hover{background:#ffffff26}
.dealer-stage{display:flex;flex-direction:column;gap:12px;padding:0 26px 24px}
.dealer-scene{margin:0 -26px;border-radius:28px 28px 0 0;overflow:hidden;background:#1b1824}
.dealer-scene-svg{display:block;width:100%;height:auto;animation:boil .42s steps(1) infinite}
.dl-main{animation:dl-enter .8s cubic-bezier(.3,.9,.3,1.25) both}
.dealer-tag{font-family:var(--display);font-size:17px;line-height:1.15;color:#e2d5e8b3;margin-top:-4px}
.dealer-title{font-family:var(--display);font-size:13px;letter-spacing:2px;color:#ffe9a8b3;margin-bottom:8px}
.dealer-chat{display:flex;flex-direction:column;gap:8px;padding:2px 0 6px}
.dealer-bubble{align-self:flex-start;max-width:92%;padding:10px 14px;background:#eee8d9;color:#38303e;border-radius:16px 16px 16px 4px;box-shadow:3px 5px 0 #0e0b1640;font-family:var(--display);font-size:21px;line-height:1.2;animation:dl-pop .28s cubic-bezier(.3,.9,.3,1.3) both}
.dealer-bubble-you{align-self:flex-end;background:var(--pink);color:#2a0f20;border-radius:16px 16px 4px 16px}
.dealer-actions{display:flex;flex-wrap:wrap;gap:10px;min-height:49px}
.dealer-actions button{min-height:49px;padding:0 22px;border-radius:100px;font-weight:600;font-size:15px;animation:dl-pop .28s cubic-bezier(.3,.9,.3,1.3) both;transition:transform .2s,background .2s}
.dealer-yes{background:var(--cream);color:#191d24}
.dealer-no{background:#ffffff14;color:var(--cream);border:1px solid #ffffff38}
.dealer-actions button:hover{transform:translateY(-2px)}

/* Sign-up after the coin flip */
.dealer-signup-slot:empty{display:none}
.dealer-signup{display:grid;gap:10px;animation:dl-pop .3s cubic-bezier(.3,.9,.3,1.3) both}
.dealer-signup-row{display:flex;gap:8px}
.dealer-signup input[type=email]{flex:1;min-width:0;min-height:49px;padding:0 20px;border-radius:100px;border:1px solid #ffffff38;background:#ffffff14;color:var(--cream);font-size:16px}
.dealer-signup input[type=email]::placeholder{color:#e2d5e880}
.dealer-signup button{min-height:49px;padding:0 22px;border-radius:100px;font-weight:600;font-size:15px;white-space:nowrap}
.dealer-signup button:disabled{opacity:.6;cursor:wait}
.dealer-age{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#e2d5e8d0;cursor:pointer}
.dealer-age input{width:18px;height:18px;accent-color:var(--pink)}
.dealer-error{min-height:1em;font-size:13px;color:var(--pink)}
.dealer-error:empty{display:none}
.dealer-fine{font-size:11px;line-height:1.45;color:#e2d5e880}

/* Idle bits */
.dl-eyes{transform-box:fill-box;transform-origin:center;animation:cast-blink 4.6s linear infinite}
.dl-ember{animation:dl-ember 1.6s ease-in-out infinite}
.dl-smoke path{transform-box:fill-box;transform-origin:50% 100%;animation:dl-smoke 2.6s ease-out infinite}
.dl-smoke path:nth-child(2){animation-delay:.85s}.dl-smoke path:nth-child(3){animation-delay:1.7s}
.dl-head{animation:dl-lean 4s ease-in-out infinite}
.dl-arm{animation:dl-drag 5s ease-in-out infinite}
.dealer-stage.is-talking .dl-main .dl-head{animation:dl-talk .3s ease-in-out infinite alternate}
.dealer-stage.is-leaving .dl-main{animation:dl-exit 1.2s ease-in both}
.dl-friend{animation:dl-sway 4.4s ease-in-out infinite}.dl-friend:nth-of-type(2n){animation-delay:-1.6s}.dl-friend:nth-of-type(3n){animation-delay:-2.9s}

/* Corner peek after dismissing */
.dealer-peek{position:fixed;left:16px;bottom:16px;z-index:20;display:flex;align-items:center;gap:6px;padding:4px 14px 4px 4px;border-radius:40px;background:#2c2638e6;border:1px solid #ffffff2e;color:var(--cream);font-family:var(--display);font-size:18px;box-shadow:0 8px 24px #0006;animation:dl-pop .3s cubic-bezier(.3,.9,.3,1.3) both;transition:transform .2s}
.dealer-peek:hover{transform:translateY(-3px) rotate(-2deg)}
.dealer-peek .dealer-svg{width:46px;height:46px;border-radius:50%;background:#ffffff10}
.dealer-peek[hidden],body.modal-open .dealer-peek{display:none}

@keyframes dl-enter{from{transform:translateX(-60%);opacity:0}}
@keyframes dl-exit{30%{transform:translateX(-10px)}to{transform:translateX(70%);opacity:0}}
@keyframes dl-pop{from{opacity:0;transform:translateY(8px) scale(.94)}}
@keyframes dl-ember{0%,100%{fill:#ff6a3d}50%{fill:#ffc04a}}
@keyframes dl-smoke{0%{transform:translate(0,0) scale(.5);opacity:0}15%{opacity:.85}100%{transform:translate(-8px,-34px) scale(1.5);opacity:0}}
@keyframes dl-lean{0%,100%{transform:rotate(0)}50%{transform:rotate(-3deg)}}
@keyframes dl-drag{0%,70%,100%{transform:rotate(0)}78%,90%{transform:rotate(-14deg)}}
@keyframes dl-talk{to{transform:rotate(2deg)}}
@keyframes dl-sway{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}

@media (max-width:600px){
  .dealer-stage{padding:0 16px 18px}
  .dealer-scene{margin:0 -16px}
  .dealer-tag{font-size:15px}
  .dealer-bubble{font-size:18px}
  .dealer-actions button{flex:1}
  .dealer-signup-row{flex-direction:column}
  .dealer-peek{left:10px;bottom:10px;padding:3px}
  .dealer-peek span{display:none}
}
@media (prefers-reduced-motion:reduce){
  .dealer-dialog *,.dealer-peek{animation:none!important;transition:none!important}
}
