#player-dialog[data-panel="signup-welcome"] {
  width: min(520px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  padding: 32px 30px 25px;
  overflow-y: auto;
}
#player-dialog-close {
  width: 44px;
  height: 44px;
}
.signup-welcome { text-align: center; }
.signup-welcome .eyebrow { display: block; padding: 0 25px; color: var(--blue); font-weight: 750; letter-spacing: 1.5px; }
.signup-welcome-art { display: block; width: min(320px, 100%); height: auto; margin: 12px auto 5px; }
.signup-welcome #player-dialog-title { margin: 12px 0 8px; font-size: clamp(25px, 6vw, 32px); font-weight: 800; letter-spacing: -1px; line-height: 1.2; }
.signup-welcome-points { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 8px auto 3px; padding: 9px 17px; border: 2px solid var(--ink); border-radius: 15px; background: #e8f8ef; font-size: 17px; font-weight: 750; transform: rotate(-2deg); }
.signup-welcome-points strong { font-size: 26px; line-height: 1; }
.signup-welcome-copy { color: var(--muted); font-size: 14px; line-height: 1.7; margin: 18px 0; }
#signup-welcome-signin, #signup-welcome-play { display: block; width: 100%; min-height: 48px; padding: 12px 16px; border: 2px solid var(--ink); border-radius: 15px; font-size: 15px; font-weight: 750; line-height: 1.4; }
#signup-welcome-signin { color: var(--ink); background: var(--accent); box-shadow: 0 4px 0 #83bdac; }
#signup-welcome-signin:hover { background: #bff0d4; }
#signup-welcome-play { margin-top: 13px; background: var(--surface); color: var(--ink); }
#signup-welcome-play:hover { background: var(--soft); }
.signup-welcome-note { margin: 17px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.signup-reward-notice { display: flex; align-items: center; gap: 13px; border: 2px solid var(--ink); border-radius: 19px; background: #e8f8ef; padding: 15px; margin: 17px 0; }
.signup-reward-notice strong { display: block; font-size: 15px; line-height: 1.5; }
.signup-reward-notice p { margin: 3px 0 0; font-size: 12px; color: var(--muted); line-height: 1.6; }
.signup-reward-sticker { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; border: 2px solid var(--ink); border-radius: 14px; color: var(--ink); background: #ffc39b; font-size: 28px; transform: rotate(-7deg); }
@media (max-width: 400px) {
  #player-dialog[data-panel="signup-welcome"] { padding: 30px 17px 19px; }
  #player-dialog .player-form label { flex-basis: 100%; }
  .signup-welcome .eyebrow { font-size: 9px; letter-spacing: 1px; }
  .signup-welcome-art { width: min(255px, 100%); }
  .signup-welcome-copy { font-size: 13px; }
  .signup-reward-notice { gap: 9px; padding: 12px; }
}
@media (max-height: 560px) {
  .signup-welcome-art { width: 180px; margin-top: 5px; }
  .signup-welcome-copy { margin: 10px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .signup-welcome-points, .signup-reward-sticker { transform: none; }
}
