body.guest .phone > header,
body.guest .phone > main,
body.guest .phone > .sheet-mask,
body.guest .phone > .viewer { display: none !important; }
body.guest .side-note { display: none !important; }

.guest-cover {
  display: none;
  position: absolute;
  inset: 0 0 72px;
  z-index: 9;
  color: #fff;
  place-items: center;
  text-align: center;
  padding: 32px;
  background:
    linear-gradient(180deg, rgba(10,38,31,.24), rgba(10,38,31,.88)),
    radial-gradient(circle at 75% 20%, rgba(169,130,60,.55), transparent 34%),
    linear-gradient(145deg, #2f7d6a, #123a30 65%, #302619);
}
body.guest .guest-cover { display: grid; }
.guest-cover__seal { width: 72px; height: 72px; margin: 0 auto 24px; display: grid; place-items: center; border: 2px solid #d6b66f; color: #f0d99f; font: 700 32px serif; transform: rotate(-4deg); }
.guest-cover h1 { margin: 0; font: 700 30px/1.35 serif; letter-spacing: 5px; }
.guest-cover p { margin: 14px 0 0; color: rgba(255,255,255,.76); font-size: 13px; line-height: 1.7; }
.guest-admin-entry { margin-top: 28px; border: 1px solid rgba(255,255,255,.38); color: #fff; background: rgba(255,255,255,.08); border-radius: 999px; padding: 9px 18px; cursor: pointer; }
body.guest .tab { color: #776b5a; }
body.guest .tab.active { color: var(--primary); }
.node.restricted { cursor: not-allowed; }
.node.restricted::after { content: "仅姓名可见 · 点击提示权限"; font-size: 9px; color: #8a7f6a; }
.lineage-path { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.lineage-path span { background: var(--primary-soft); color: var(--primary); border-radius: 999px; padding: 6px 10px; font-size: 12px; font-weight: 700; }
.lineage-path i { color: var(--bronze); font-style: normal; }
.admin-account-row { border-top: 1px solid var(--line); padding: 10px 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; }
.admin-account-row:first-child { border-top: 0; }
.admin-account-row button { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 6px 9px; cursor: pointer; }
@media (min-width: 821px) {
  body.admin .phone { width: min(1180px, calc(100vw - 80px)); }
  body.admin .tree-stage { height: 560px; }
  body.admin .profile-actions { grid-template-columns: repeat(3, 1fr); }
}
