/* Account: header button, sign-in dialog, account menu. Uses the site's tokens (styles.css). */
.acct-btn.in{padding:0;overflow:visible}
.acct-btn.in b{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:800}
.acct-btn.in img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.acct-back{position:fixed;inset:0;z-index:140;background:rgba(20,10,20,.45)}
.acct{position:fixed;z-index:150;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;
  background:var(--card);color:var(--ink);border-radius:20px;padding:26px 22px 22px;box-shadow:0 20px 60px rgba(30,10,20,.3)}
.acct[hidden],.acct-back[hidden]{display:none}
.acct-x{position:absolute;top:12px;right:12px}
.acct h2{font-size:1.35rem;margin:0 40px 6px 0}
.acct form{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.acct-field{display:flex;flex-direction:column;gap:5px;font-size:.85rem;font-weight:600;color:var(--ink-2)}
.acct-field input{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:var(--bg);font-size:16px;color:var(--ink)}
.acct-field input:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px var(--soft)}
.acct-go{width:100%;min-height:48px;margin-top:2px}
.acct-err{color:var(--red);font-size:.88rem;min-height:1.2em;margin:-4px 0 -6px}
.acct-err:empty{display:none}
.acct-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.acct-links button{background:none;border:0;color:var(--red);font-weight:600;font-size:.9rem;padding:6px 0;cursor:pointer}
.acct-google{display:flex;justify-content:center;min-height:44px;margin-top:16px}
.acct-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem;margin:14px 0 -2px}
.acct-or::before,.acct-or::after{content:"";flex:1;height:1px;background:var(--line)}
.acct-me{display:flex;align-items:center;gap:14px;margin-right:40px}
.acct-me h2{margin:0}
.acct-av{width:52px;height:52px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:1.3rem;font-weight:800;overflow:hidden}
.acct-av img{width:100%;height:100%;object-fit:cover}
.acct-menu{display:flex;flex-direction:column;margin:18px 0 6px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.acct-menu a,.acct-menu button{display:flex;align-items:center;gap:12px;min-height:50px;padding:0 14px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;text-align:left;cursor:pointer;text-decoration:none}
.acct-menu>:last-child{border-bottom:0}
.acct-menu a:hover,.acct-menu button:hover{background:var(--soft)}
.acct-menu .ic{color:var(--red)}
.acct-menu small{margin-left:auto;color:var(--muted);font-weight:600}
.acct-h{font-size:.95rem;margin:16px 0 8px}
.acct-alerts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.acct-alerts a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none}
.acct-alerts li.new a{border-color:var(--red);background:var(--soft)}
.acct-alerts .t{font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.acct-alerts .p{font-size:.85rem;color:var(--ink-2)}
.acct-alerts .p b{color:var(--ok)}
.acct-alerts s{color:var(--muted)}
.acct-out{width:100%;margin-top:18px}
body.acct-open{overflow:hidden}
@media (max-width:520px){.acct{top:auto;bottom:0;left:0;transform:none;width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom))}}
