/* The header's account control, its menu, the sign-in window and the call note. */
.account{position:relative;display:flex;align-items:center;justify-content:flex-end;min-width:52px}
.account[hidden]{display:none}
.account button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.account-login{font-size:14px;line-height:1.2;color:var(--text);white-space:nowrap}
.account-login:hover{color:var(--accent)}
.account .account-me{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--panel)}
.account-initial{font-size:15px;font-weight:600;color:var(--text)}
.account-dot{position:absolute;top:1px;right:1px;width:9px;height:9px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 2px var(--bg)}
.account-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:30;width:270px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 18px 50px #0008;display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left}
.account-name{font-weight:600}
.account-email{font-size:12px;color:var(--muted);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis}
.account-notes{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:6px}
.account-notes:empty{display:none}
.account-notes li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 10px;border-radius:6px;background:color-mix(in srgb,var(--bg) 60%,transparent);font-size:13px}
.account-notes li.is-new{box-shadow:inset 3px 0 var(--accent-2)}
.account-notes time{grid-column:1;font-size:12px;color:var(--muted)}
.account-join{grid-row:1/3;grid-column:2;align-self:center;color:var(--accent);font-weight:600}
.account .account-item{display:block;width:100%;text-align:left;padding:9px 2px;font-size:14px;border-top:1px solid var(--line)}
.account .account-item:hover{color:var(--accent)}

/* The sign-in window is always dark, in the site's black and blue, whatever the page's theme. */
.account-dialog{width:min(390px,calc(100vw - 32px));padding:0;border:1px solid #232a3a;border-radius:12px;background:linear-gradient(180deg,#0d111c,#06080f 70%);color:#f2f5fb;box-shadow:0 40px 100px #000c,inset 0 1px #ffffff10}
.account-dialog::backdrop{background:#000000c4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.account-dialog[open]{animation:account-in .22s ease-out}
@keyframes account-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.account-form{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px 26px 22px}
.account-form::before{content:"";position:absolute;inset:0 15% auto;height:1px;background:linear-gradient(90deg,transparent,#4f8dff,transparent)}
.account-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.account-head h2{flex:1;font-size:24px;letter-spacing:-.02em}
.account-tabs{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border:1px solid #232a3a;border-radius:8px;background:#080b13}
.account-tabs button{min-height:38px;border:1px solid transparent;border-radius:5px;background:none;color:#9aa4ba;font:inherit;font-size:15px;cursor:pointer;transition:background .15s,color .15s}
.account-tabs button:hover{color:#f2f5fb}
.account-tabs button[aria-pressed=true]{background:#0b1f4d;border-color:#1d3a7a;color:#f2f5fb;box-shadow:0 0 18px #2563eb33;cursor:default}
.account-tabs button:focus-visible{outline:2px solid #4f8dff;outline-offset:2px}
.account-hint{margin-top:-6px;font-size:13px;color:#9aa4ba;overflow-wrap:anywhere}
.account-form input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #232a3a;border-radius:6px;background:#0a0e18;color:#f2f5fb;font:inherit;font-size:16px;transition:border-color .15s}
.account-form input::placeholder{color:#5f6b85}
.account-form input:focus{outline:2px solid #4f8dff;outline-offset:2px;border-color:#4f8dff}
.account-form .account-code{letter-spacing:.35em;font-variant-numeric:tabular-nums;text-align:center;font-size:22px}
.account-error{min-height:1em;font-size:13px;color:#ff8a8a}
.account-error:empty{display:none}
.account-dialog .account-submit{width:100%;justify-content:center;min-height:48px;border:0;border-radius:var(--button-radius,6px);background:#2563eb;box-shadow:0 10px 30px #2563eb44;color:#fff;font-weight:600}
.account-dialog .account-submit:hover{background:#1d4fd7;box-shadow:0 12px 36px #2563eb66}
.account-dialog .account-submit[disabled]{opacity:.6;cursor:wait}
.account-links{display:flex;justify-content:center;gap:18px;font-size:13px}
.account-links button,.account-close{background:none;border:0;padding:6px 2px;color:#9aa4ba;font:inherit;cursor:pointer}
.account-links button:hover,.account-close:hover{color:#f2f5fb}
.account-close{flex:none;margin-right:-6px;font-size:24px;line-height:1}

.account-toast{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:14px;padding:12px 12px 12px 18px;border:1px solid #232a3a;border-radius:12px;background:linear-gradient(180deg,#0d111c,#06080f);color:#f2f5fb;box-shadow:0 18px 50px #000a,inset 0 1px #ffffff10;font-size:14px;animation:account-in .25s ease-out}
.account-toast .button{min-height:40px;padding:8px 16px;border:0;border-radius:var(--button-radius,6px);background:#2563eb;color:#fff}
.account-toast-close{background:none;border:0;color:#9aa4ba;font-size:22px;cursor:pointer;padding:4px 6px}
@media(prefers-reduced-motion:reduce){.account-dialog[open],.account-toast{animation:none}}

@media(max-width:760px){
  .account{min-width:44px}
  .account-login{font-size:13px}
  .account .account-me{width:34px;height:34px}
  .account-menu{position:fixed;top:78px;right:12px;left:12px;width:auto}
  .account-toast{left:12px;right:12px;bottom:12px;justify-content:space-between}
}
