/* A compact name dialog keeps the input near the top, clear of mobile browser controls. */
dialog.le-name-dialog {
  width:min(420px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px);
  background:#fffdf8;
  border:1px solid #dfe8d8;
  border-radius:24px;
}
.le-name-dialog .modal-header { padding:16px 18px 12px; gap:12px; }
.le-name-heading { display:flex; align-items:center; gap:10px; min-width:0; }
.le-name-heading .creature-portrait { width:44px; height:44px; min-width:44px; container-type:size; }
.le-name-dialog .modal-header h2 { margin:0; font-size:22px; line-height:1.15; }
.le-name-dialog .modal-body { padding:0 18px 18px; }
.le-name-dialog .le-name-form { margin:0; }
.le-name-dialog .le-name-form input { margin:0; }
.le-name-dialog .le-name-form .le-primary { min-height:46px; }
.le-name-dialog .le-name-form small { line-height:1.5; }
.le-name-dialog .le-name-close { flex:none; border:1px solid #e5eadd; border-radius:50%; width:32px; height:32px; background:#fff; color:#587567; font-size:23px; line-height:1; cursor:pointer; }
.le-name-dialog .le-name-error { color:#a45b3e; font-size:13px; line-height:1.5; margin:12px 0 0; }
.le-name-dialog .le-name-error:empty { display:none; }

/* The SVG adapts to the existing button's size; its rounded path traces the border. */
.care-action > .first-cuddle-ring {
  position:absolute; inset:-2px; width:calc(100% + 4px); height:calc(100% + 4px);
  overflow:visible; pointer-events:none; z-index:2;
}
.first-cuddle-ring rect { width:calc(100% - 4px); height:calc(100% - 4px); fill:none; stroke-linecap:round; }
.cuddle-ring-track { stroke:#e8c58c; stroke-width:1.3; opacity:.65; }
.cuddle-ring-trail { stroke:#edbd6d; stroke-width:2.5; stroke-dasharray:15 85; filter:drop-shadow(0 0 3px #f5dba5); animation:cuddle-trace 3s linear infinite; }
.cuddle-ring-spark { stroke:#fffbea; stroke-width:3.6; stroke-dasharray:1.2 98.8; filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px #eab673); animation:cuddle-spark 3s linear infinite; }
@keyframes cuddle-trace { from { stroke-dashoffset:0; } to { stroke-dashoffset:-100; } }
@keyframes cuddle-spark { from { stroke-dashoffset:-14; } to { stroke-dashoffset:-114; } }
.care-action:disabled .first-cuddle-ring rect { animation-play-state:paused; }
@media (prefers-reduced-motion:reduce) {
  .first-cuddle-ring .cuddle-ring-trail,.first-cuddle-ring .cuddle-ring-spark { animation:none; }
  .first-cuddle-ring .cuddle-ring-trail { stroke-dasharray:none; stroke-width:2; opacity:.8; }
  .first-cuddle-ring .cuddle-ring-spark { display:none; }
}
