.account-entry {
  border: 2px solid #4be27d;
  border-radius: 14px;
  background: linear-gradient(#34d2f4, #1595d2);
  color: white;
  font: bold 20px/1.3 Arial, sans-serif;
  padding: 12px 18px;
  cursor: pointer;
  box-shadow: 0 0 8px #4be27d80;
}
.account-overlay {
  position: absolute;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  background: #092b4bb3;
  padding: 24px;
  box-sizing: border-box;
}
.account-overlay[hidden], .account-overlay [hidden] { display: none; }
.account-card {
  width: 680px;
  max-width: 100%;
  max-height: 100%;
  overflow-y: auto;
  box-sizing: border-box;
  padding: 24px 30px;
  border: 3px solid white;
  border-radius: 26px;
  background: linear-gradient(#f1fbff,#dbeaf0);
  box-shadow: 0 0 22px #3ad8ff80;
  color: #14547c;
  font: 22px/1.4 Arial, sans-serif;
}
.account-card header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.account-card h2 { margin:0; font-size:28px; }
.account-card p { margin:12px 0; }
.account-card button {
  font: bold 21px/1.3 Arial, sans-serif;
  border: 2px solid #1b9ac9;
  border-radius: 12px;
  background: #edfaff;
  color: #14547c;
  min-height: 48px;
  padding: 8px 16px;
  cursor: pointer;
}
.account-card button:focus-visible, .account-card input:focus-visible { outline: 3px solid #0a8d49; outline-offset:3px; }
.account-card button:disabled { opacity:.6; cursor:wait; }
.account-card header button { font-size:32px; min-width:52px; flex-shrink:0; }
.account-tabs { display:flex; gap:10px; margin:12px 0; }
.account-tabs button { flex:1; }
.account-tabs button[aria-pressed="true"], .account-card .account-primary {
  background: linear-gradient(#38cbef,#1698d0);
  color:white;
}
.account-card label { display:block; margin:10px 0; }
.account-card label span { display:block; margin-bottom:4px; }
.account-card input { width:100%; box-sizing:border-box; min-height:48px; border:2px solid #85c8db; border-radius:10px; padding:8px 12px; font:22px Arial,sans-serif; }
.account-card .account-hint { font-size:19px; }
.account-card .account-link { border-color:transparent; background:transparent; }
.account-card .account-primary { width:100%; }
.account-card .account-email { overflow-wrap:anywhere; }
.account-card [data-role="status"] { font-size:19px; }
.account-card [data-role="message"] { font-weight:bold; min-height:28px; }

.account-profile-link { display:block; text-align:center; font-weight:bold; color:#096b9e; margin-top:10px; }

/* The supplied artwork includes its own frame and glow. */
.home-profile-entry { position:absolute; right:24px; top:120px; z-index:30; width:82px; height:82px; padding:0; display:flex; align-items:center; justify-content:center; background:transparent; text-decoration:none; border:0; }
.home-profile-entry img { width:100%; height:100%; object-fit:contain; }
.home-profile-entry.has-player-avatar { border:3px solid #6adfff; border-radius:22px; overflow:hidden; box-sizing:border-box; background:#159edb; }
.home-profile-entry.has-player-avatar img { object-fit:cover; }
.home-profile-entry:focus-visible { outline:3px solid #48e88a; outline-offset:2px; border-radius:12px; }
.home-profile-entry [hidden] { display:none; }

.home-profile-entry { flex-direction:column; height:auto; gap:8px; }
.home-profile-entry.is-member { width:123px; }
.home-profile-entry.has-player-avatar { border:0; border-radius:0; overflow:visible; background:transparent; }
.home-profile-avatar { display:flex; width:82px; height:82px; flex:none; align-items:center; justify-content:center; }
.is-member .home-profile-avatar { width:123px; height:123px; }
.has-player-avatar .home-profile-avatar { border:3px solid #6adfff; border-radius:22px; overflow:hidden; box-sizing:border-box; background:#159edb; }
.home-player-card { display:flex; direction:ltr; align-items:center; justify-content:center; gap:6px; padding:7px 10px; width:max-content; max-width:190px; box-sizing:border-box; border:2px solid #58cbe9; border-radius:15px; background:linear-gradient(135deg,#fff,#d9f6ff 65%,#fff4ce); box-shadow:0 4px 12px #087aaa30; color:#14547c; font:bold 17px/1.2 Arial,sans-serif; }
.home-player-name { min-width:0; overflow-wrap:anywhere; }
.home-profile-entry .home-player-badge { width:52px; height:52px; flex:none; object-fit:contain; }
.home-profile-entry .home-player-card { align-self:center; }

/* Keep the full name card inside the right edge of the game shell. */
.home-profile-entry, .home-profile-entry.is-member { width:190px; }
.home-profile-entry:focus-visible { outline:none; }
.home-profile-entry:focus-visible .home-profile-avatar { outline:3px solid #48e88a; outline-offset:2px; border-radius:22px; }

.home-player-number { font:700 16px/1.2 Arial,sans-serif; color:#075384; padding:3px 9px; border-radius:8px; background:#edfbffeb; text-align:center; letter-spacing:1px; }

.home-profile-entry, .home-profile-entry.is-member { width:150px; gap:4px; }
.home-player-card { max-width:150px; padding:4px 7px; gap:5px; border:1px solid #87bfd1; border-radius:8px; background:#effaff; box-shadow:none; font-size:13px; }
.home-player-number { font-size:12px; letter-spacing:.5px; padding:1px 4px; background:transparent; color:#084d76; text-shadow:0 1px 2px white; }
.home-profile-entry .home-player-badge { width:40px; height:40px; }

.home-player-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.home-profile-entry .home-player-badge { width:80px; height:80px; object-fit:contain; margin-top:3px; filter:drop-shadow(0 2px 3px #654b0030); }

/* Only the avatar opens the profile; identity labels remain ordinary text. */
.home-profile-avatar { text-decoration:none; cursor:pointer; }
.home-profile-avatar:focus-visible { outline:3px solid #48e88a; outline-offset:3px; }
.home-player-number { width:max-content; max-width:100%; box-sizing:border-box; padding:3px 7px; border:1px solid #87bfd1; border-radius:7px; background:#effaff; text-shadow:none; }

/* Home identity: avatar-width nameplate and a larger, contour-lit badge. */
.home-profile-entry, .home-profile-entry.is-member { width:164px; }
.home-player-card { width:82px; max-width:82px; font-size:16px; min-height:30px; padding:5px 4px; }
.is-member .home-player-card { width:123px; max-width:123px; font-size:18px; animation:player-name-glow 6s ease-in-out infinite; }
.home-profile-entry .home-player-badge { width:160px; height:160px; margin-top:6px; animation:player-badge-glow 6s ease-in-out infinite; }
@keyframes player-name-glow {
  0%,100% { border-color:#5edaff; box-shadow:0 0 7px #39ceffaa; }
  33% { border-color:#c193ff; box-shadow:0 0 9px #b979ffbb; }
  66% { border-color:#ffe083; box-shadow:0 0 9px #ffcb58bb; }
}
@keyframes player-badge-glow {
  0%,100% { filter:drop-shadow(0 0 3px #63deff) drop-shadow(0 0 8px #24baffaa); }
  33% { filter:drop-shadow(0 0 3px #d49bff) drop-shadow(0 0 8px #ac62ffaa); }
  66% { filter:drop-shadow(0 0 3px #ffe594) drop-shadow(0 0 8px #ffc239aa); }
}
@media(prefers-reduced-motion:reduce) {
  .home-player-card,.home-profile-entry .home-player-badge { animation:none; }
  .is-member .home-player-card { box-shadow:0 0 7px #39ceffaa; }
  .home-profile-entry .home-player-badge { filter:drop-shadow(0 0 6px #63deff); }
}

.home-profile-entry .home-player-badge { margin-top:-10px; }
@keyframes player-name-glow {
  0%,100% { border-color:#00cfff; box-shadow:0 0 5px #fff,0 0 14px #00cfff,0 0 22px #00baffaa; }
  33% { border-color:#da7bff; box-shadow:0 0 5px #fff,0 0 14px #b944ff,0 0 22px #a335ffaa; }
  66% { border-color:#ffe266; box-shadow:0 0 5px #fff,0 0 14px #ffc400,0 0 22px #ffb900aa; }
}
@keyframes player-badge-glow {
  0%,100% { filter:drop-shadow(0 0 2px white) drop-shadow(0 0 6px #00ddff) drop-shadow(0 0 12px #00baff); }
  33% { filter:drop-shadow(0 0 2px white) drop-shadow(0 0 6px #db75ff) drop-shadow(0 0 12px #ae35ff); }
  66% { filter:drop-shadow(0 0 2px white) drop-shadow(0 0 6px #ffe566) drop-shadow(0 0 12px #ffc000); }
}
