/* Account and deletion page. Uses only the shared theme tokens defined in
   theme-bridge.css / gaming-worlds.css, so all twelve worlds theme it without
   this file declaring a custom property of its own. */
/* An author display rule and [hidden] have the same specificity, so the author
   sheet wins and a hidden element keeps rendering. Every control on this page is
   gated by [hidden]; make the attribute authoritative. */
.account-page [hidden]{display:none!important}
.account-page{max-width:820px;margin:44px auto;padding:0 16px 96px}
.account-page h1{font-size:clamp(30px,5.4vw,56px);line-height:1.1;margin:.2em 0 .4em}
.account-page h2{font-size:clamp(21px,3vw,28px);margin:0 0 12px}
.account-page h3{font-size:17px;margin:22px 0 8px;letter-spacing:.02em}
.account-page p{color:var(--muted,#bdc7dc);line-height:1.7}
.account-page section{padding:24px;border:1px solid var(--line,#ffffff25);border-radius:20px;margin:24px 0;background:var(--surface-1,var(--panel,#101727))}
.account-page a{color:inherit}
.account-signin-actions{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 4px}
.account-page a.account-signin,.account-page a.account-create{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:13px 22px;border-radius:14px;text-decoration:none;font-weight:800}
.account-page a.account-signin{background:var(--accent-grad,linear-gradient(135deg,var(--a1,#a594f5),var(--a2,#61e8ff)));color:var(--on-accent,#080c17);box-shadow:0 10px 26px -14px color-mix(in srgb,var(--a1,#a594f5) 80%,transparent)}
.account-page ul{margin:0;padding:0;list-style:none}
.account-page li{display:flex;gap:16px;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line-soft,#ffffff18);color:var(--fg,#eef2ff)}
.account-page li:last-child{border-bottom:0}
.account-page li b{font-variant-numeric:tabular-nums;white-space:nowrap}
#deletionBlockers li,#deletionSpaces li{display:block;color:var(--muted,#bdc7dc)}
#deletionBlockedBlock{border:1px solid var(--warn,#f2b45a);border-radius:16px;padding:16px 20px;margin:20px 0}
#deletionForm{border:1px solid var(--danger,#ff6b6b);border-radius:16px;padding:16px 20px;margin:20px 0}
#deletionForm label{display:block;margin:14px 0 6px;color:var(--fg,#eef2ff)}
#deletionForm input[type=password],#deletionForm input[type=text]{display:block;width:min(100%,340px);box-sizing:border-box;font:inherit;color:inherit;background:var(--surface-sunken,var(--bg,#090e1b));border:1px solid var(--line-strong,#ffffff40);padding:13px;border-radius:12px}
#deletionForm input:focus-visible,.account-page button:focus-visible,.account-page a:focus-visible{outline:2px solid var(--ring,#a594f5);outline-offset:2px}
#deletionForm .account-ack{display:flex;gap:10px;align-items:flex-start;margin:16px 0}
.account-ack input{margin-top:4px;min-width:20px;min-height:20px}
.account-page button{font:inherit;min-height:44px;padding:11px 20px;border-radius:12px;background:var(--a1,#a594f5);color:var(--on-accent,#080c17);border:0;cursor:pointer}
#deletionSubmit{background:var(--danger,#ff6b6b);color:var(--on-accent,#0d0608);font-weight:600;margin-top:18px}
.account-page button:disabled{opacity:.55;cursor:not-allowed}
.account-page a.account-create,.account-page .account-secondary,.account-page #signOutOthers{background:transparent;border:1px solid var(--line-strong,#ffffff40);color:var(--fg,#eef2ff)}
.account-page .account-secondary{margin-top:4px;font-weight:700}
#passwordForm{display:grid;gap:4px;max-width:420px;margin-top:6px}
#passwordForm label{margin:12px 0 4px;color:var(--fg,#eef2ff)}
#passwordForm input{display:block;width:100%;box-sizing:border-box;font:inherit;color:inherit;background:var(--surface-sunken,var(--bg,#090e1b));border:1px solid var(--line-strong,#ffffff40);padding:13px;border-radius:12px}
#passwordForm input:focus-visible{outline:2px solid var(--ring,#a594f5);outline-offset:2px}
#passwordForm button{margin-top:10px}
#passwordNotice:not(:empty){margin-top:10px}#passwordNotice:empty{margin:0}
#deletionNotice:not(:empty){margin-top:14px;color:var(--danger,#ff6b6b)}
#deletionReceipt{border:1px solid var(--ok,#5ad48f);border-radius:16px;padding:16px 20px}
/* Listening: one full-width row into the player's language sheet, with the current choice and a chevron. */
.account-page a.account-listening-link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;box-sizing:border-box;min-height:56px;margin-top:6px;padding:12px 44px 12px 16px;border:1px solid var(--line-soft,var(--line,#ffffff25));border-radius:max(12px,calc(var(--chrome-radius,16px) - 2px));background:color-mix(in srgb,var(--fg,#eef2ff) 4%,transparent);color:var(--fg,#eef2ff);font-weight:700;text-decoration:none;transition:background-color .2s ease,border-color .2s ease}
.account-page a.account-listening-link:hover{border-color:var(--a2,#61e8ff);background:color-mix(in srgb,var(--a2,#61e8ff) 8%,transparent)}
.account-page a.account-listening-link::after{content:"";position:absolute;top:50%;right:20px;width:7px;height:7px;margin-top:-4px;border:solid color-mix(in srgb,var(--fg,#eef2ff) 45%,transparent);border-width:2px 2px 0 0;transform:rotate(45deg)}
.account-listening-value{overflow:hidden;color:var(--a2,#61e8ff);font-weight:700;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:520px){.account-signin-actions>a{flex:1 1 100%}.account-page .account-secondary{width:100%}.account-page{margin:24px auto}.account-page section{padding:18px}#deletionForm input[type=password],#deletionForm input[type=text]{width:100%}}
