/* Account recovery and optional entry failure. */
.account-overlay { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); background: #070a15d9; backdrop-filter: blur(12px); }
.account-sheet { position: relative; width: min(100%, 430px); box-sizing: border-box; max-height: 100%; overflow-y: auto; padding: 28px 24px 24px; background: linear-gradient(155deg, #302537, #141923 75%); border: 1px solid #ffe4be40; box-shadow: 0 24px 80px #0008; border-radius: 28px; color: #fff3e8; font: 16px/1.5 Nunito, sans-serif; }
.account-close { position: absolute; right: 8px; top: 8px; width: 48px; height: 48px; border: 0; background: transparent; color: #fff3e8; font-size: 28px; cursor: pointer; border-radius: 50%; }
.account-emblem { text-align: center; font-size: 46px; }
.account-sheet h2 { margin: 10px 20px 18px; font-size: 27px; line-height: 1.2; text-align: center; }
.account-sheet h3 { font-size: 20px; line-height: 1.35; }
.account-body p { color: #e4d9e6; margin: 14px 0; }
.account-body .account-fine { font-size: 14px; color: #c7bece; }
.account-badge { display: block; text-align: center; font-size: 14px; font-weight: 800; color: #ffe2b0; }
.account-button { width: 100%; min-height: 52px; margin-top: 10px; border-radius: 16px; padding: 12px 16px; border: 1px solid transparent; background: linear-gradient(125deg, #ffd69b, #ff9f74); color: #32170f; font: inherit; font-weight: 800; cursor: pointer; }
.account-button.secondary { background: #ffffff0a; border-color: #ffe3c340; color: #fff0e2; }
.account-button:disabled { opacity: .55; cursor: wait; }
.account-body label { display: block; margin-top: 18px; color: #e5d4c9; font-size: 14px; }
.account-body input, .account-body textarea { display: block; box-sizing: border-box; width: 100%; min-height: 52px; margin-top: 8px; padding: 12px; border: 1px solid #ffe0b96b; border-radius: 12px; background: #0c1021; color: #fff3e8; font-size: 16px; line-height: 1.5; }
.account-body textarea { min-height: 105px; resize: none; overflow-wrap: anywhere; }
.account-status { margin: 16px 0 0; color: #ffe1ae; font-size: 14px; }
.account-status:empty { display: none; }
.account-overlay :focus-visible { outline: 3px solid #fff1ba; outline-offset: 3px; }
.circle-invite-link { display: block; width: 100%; box-sizing: border-box; padding: 12px; min-height: 52px; background: #0a1225; color: #fff0dd; border: 1px solid #ffe0b959; border-radius: 12px; font-size: 16px; margin: 12px 0; }
@media (max-height: 660px) { .account-sheet { padding-top: 20px; } .account-emblem { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) { .account-overlay * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

.entry-retry { position:fixed; inset:0; z-index:var(--z-hearth-players); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:20px; padding:24px; background:#1b1226; color:#ffe4ad; font:18px Nunito,sans-serif; text-align:center; }
.entry-retry[hidden] { display:none; }
.entry-retry button { min-height:48px; padding:12px 24px; border:1px solid #b38c49; border-radius:16px; background:#352438; color:#ffe4ad; font:inherit; cursor:pointer; }
