@charset "utf-8";
/* ===========================================================================
   导航登录态（访客账号）—— 全站都要，因此随 nav 片段一起引入，
   而不是塞进某一页的 page-*.css。端点为空时 assets/js/auth.js 会把整块移除，
   页面上不会留下任何空壳。
   注：<link rel="stylesheet"> 出现在 body 里是 HTML 规范允许的（stylesheet 属于
   body-ok 的 rel 值）；样式块本身在 JS 填充前是 hidden，不会有闪烁。
   =========================================================================== */

/* 导航登录态 —— 与 login/account 页无关，全站都要，故随 nav 片段一起下发。
   端点为空时 assets/js/auth.js 会把整块移除，这里不会留下任何空壳。 */
.nav-acct{position:relative;flex:none;min-width:76px;display:flex;justify-content:flex-end}
/* 预留槽位宽度：登录态是异步拿到 /u/me 之后才渲染的，
   不预留的话注入瞬间会把导航挤一下，直接计入 CLS */
.nav-acct[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
@media (max-width:520px){.nav-acct{min-width:0}.nav-acct[hidden]{display:none!important}}

.acct-login{display:inline-flex;align-items:center;height:38px;padding:0 12px;border-radius:var(--r-sm);
  font-size:13.5px;color:var(--ink-2);letter-spacing:.006em;transition:color .25s,background .25s}
.acct-login:hover{color:var(--ink);background:rgba(255,255,255,.045)}
:root[data-theme="light"] .acct-login:hover{background:rgba(8,12,20,.045)}
.acct-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 10px 0 6px;cursor:pointer;
  background:transparent;border:1px solid var(--hair);border-radius:var(--r-sm);color:var(--ink-2);
  transition:border-color .25s,color .25s}
.acct-btn:hover,.nav-acct.open .acct-btn{border-color:var(--hair-3);color:var(--ink)}
.acct-av{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:var(--cy-18);color:var(--cy);font-size:12px;font-weight:660;line-height:1;
  border:1px solid var(--cy-35)}
.acct-cr{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-3);white-space:nowrap}
.acct-cr b{color:var(--cy);font-weight:560;font-size:12.5px;margin-right:3px}
.acct-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:196px;padding:7px;z-index:60;
  background:var(--panel);border:1px solid var(--hair-2);border-radius:var(--r-sm);
  box-shadow:0 22px 48px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:.26s var(--ease)}
:root[data-theme="light"] .acct-menu{box-shadow:0 18px 40px rgba(8,12,20,.14)}
.nav-acct.open .acct-menu{opacity:1;visibility:visible;transform:none}
.acct-who{padding:9px 11px 11px;border-bottom:1px solid var(--hair);margin-bottom:5px}
.acct-who b{display:block;font-size:14px;font-weight:560;color:var(--ink)}
.acct-who span{display:block;font-family:var(--ff-mono);font-size:11px;color:var(--ink-4);margin-top:3px;letter-spacing:.06em}
.acct-menu a,.acct-menu button{display:block;width:100%;text-align:left;padding:9px 11px;border:0;background:transparent;
  border-radius:var(--r-sm);font-size:13.5px;color:var(--ink-2);cursor:pointer;transition:background .22s,color .22s}
.acct-menu a:hover,.acct-menu button:hover{background:var(--cy-05);color:var(--cy)}
.mmenu-acct{border-top:1px solid var(--hair);margin-top:8px;padding-top:6px}
.mmenu-acct[hidden]{display:none}
.mmenu-acct a,.mmenu-acct button{display:flex;justify-content:space-between;align-items:center;width:100%;
  padding:17px 2px;border:0;border-bottom:1px solid var(--hair);background:transparent;color:inherit;
  font-size:17px;font-weight:520;text-align:left;cursor:pointer}
.mmenu-acct span{font-family:var(--ff-mono);font-size:11px;color:var(--ink-4)}
.mm-acct-who{display:flex;align-items:center;gap:11px;padding:14px 2px}
.mm-acct-who b{display:block;font-size:15.5px;font-weight:600}
.mm-acct-who > div span{display:block;font-family:var(--ff-mono);font-size:11px;color:var(--ink-3);margin-top:3px;letter-spacing:.05em}
.mm-acct-who .acct-av{width:34px;height:34px;font-size:14px}
.foot-admin{color:var(--ink-4);font-size:11px;letter-spacing:.04em}
.foot-admin:hover{color:var(--ink-3)}
@media (max-width:720px){
  .nav-acct .acct-btn{height:44px;padding:0 9px 0 5px}
  .nav-acct .acct-login{height:44px;padding:0 9px;font-size:13px}
  .acct-av{width:28px;height:28px}
  .acct-cr{font-size:9.5px;letter-spacing:.05em}
  .acct-menu{min-width:172px}
  .mmenu-acct a,.mmenu-acct button{padding:13px 2px;min-height:52px;font-size:16.5px}
  .mmenu-acct span{font-size:10.5px;letter-spacing:.09em}
}
/* 顶栏在 ≤520px 已经隐藏了「预约演示」，所以 393 / 430 这两档仍放得下积分数；
   只有 340px 以下才把它收掉，优先保住头像与汉堡的触控目标。 */
@media (max-width:340px){
  .acct-cr{display:none}
  .nav-acct .acct-btn{padding:0 5px}
}
