/* NEXUS Passport (site.css tokens). A document-like card on top, honest stats, Genesis seals, history timeline. */
.pp { padding: 104px 0 24px }
.pp .wrap { display: grid; gap: 22px }
.pp-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr auto; gap: 18px 24px; align-items: start; padding: 30px 32px 26px; border-radius: 28px; border: 1px solid transparent; background: linear-gradient(135deg, rgba(30, 107, 255, .2), rgba(6, 18, 66, 0) 55%), var(--gloss), var(--panel); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 40px 80px -50px #000 }
.pp-card::before { content: ''; position: absolute; left: 32px; right: 32px; bottom: 76px; border-top: 1.5px dashed rgba(150, 200, 255, .22) }
.pp-orbit { inset: auto; right: -40px; top: -60px; width: 460px; height: 250px; opacity: .8 }
.pp-id { position: relative; display: flex; gap: 20px; align-items: center; min-width: 0 }
.pp-glyph { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 92px; height: 92px; border-radius: 28px; color: #fff; font: 800 34px/1 var(--hf); letter-spacing: -.04em; background: linear-gradient(145deg, hsl(var(--h1) 88% 62%), hsl(var(--h2) 72% 34%)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 18px 40px -16px hsl(var(--h1) 90% 50%) }
.pp-id-t { display: grid; gap: 10px; justify-items: start; min-width: 0; width: 100% } .pp-id-t h1 { font-size: clamp(30px, 4vw, 46px); letter-spacing: -.04em; line-height: 1 }
.pp-addr { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; min-height: 40px; padding: 0 12px; margin-left: -12px; border: 0; border-radius: 12px; background: transparent; color: var(--mut); font-size: 13.5px; text-align: left; white-space: nowrap } .pp-addr:hover { background: rgba(91, 155, 255, .12); color: var(--ink) } .pp-addr .ic { width: 16px; height: 16px; flex: none; color: var(--b3) }
.pp-act { position: relative; justify-content: flex-end }
.pp-note { position: relative; grid-column: 1 / -1; display: flex; gap: 10px; align-items: flex-start; max-width: 760px; color: var(--mut); font-size: 14px; line-height: 1.5 } .pp-note .ic { width: 16px; height: 16px; margin-top: 3px; flex: none; color: var(--v2) }
.pp-mrz { position: relative; grid-column: 1 / -1; display: grid; gap: 2px; padding-top: 14px; font-size: 13px; letter-spacing: .14em; color: rgba(150, 190, 255, .38); overflow: hidden; white-space: nowrap; user-select: none }

.pp-stats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px }
.pp-k { padding: 18px 18px 16px; border-radius: 20px; border: 1px solid transparent; background: var(--gloss), var(--panel); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07); cursor: help }
.pp-k dd { font-size: clamp(28px, 3vw, 38px) } .pp-u { font: 600 15px var(--bf); color: var(--mut) } .pp-k small { font-size: 12.5px }

.pp-sec { display: grid; gap: 14px; padding: 24px; border-radius: 24px; border: 1px solid transparent; background: var(--gloss), var(--panel); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07) }
.pp-sec-h { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap } .pp-sec-h h2 { font-size: 24px; letter-spacing: -.03em } .pp-sec-h .mut { font-size: 14px }
.pp-sec .empty { padding: 30px 16px }
.pp-gens { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px }
.pp-gen { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; align-items: center; padding: 14px; border-radius: 18px; border: 1px solid transparent; background: linear-gradient(135deg, rgba(61, 227, 176, .09), transparent 60%), rgba(255, 255, 255, .02); transition: border-color .2s, transform .3s var(--ease) } .pp-gen:hover { border-color: var(--ok); transform: translateY(-2px) }
.pp-gen > span:not(.av) { min-width: 0 } .pp-gen > span:not(.av) b { display: block; font-size: 15.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 84px } .pp-gen small.mono { color: var(--c); font-size: 12.5px }
.pp-seal { position: absolute; right: 12px; top: 12px; display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: 999px; background: rgba(61, 227, 176, .14); color: var(--ok); font: 700 12px var(--mf); letter-spacing: .04em; font-style: normal } .pp-seal .ic { width: 12px; height: 12px; stroke-width: 2.6 }
.pp-held { grid-column: 1 / -1; font-size: 12.5px }
.pp-no summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; color: var(--b3); font-weight: 650; font-size: 14.5px } .pp-no ul { margin: 4px 0 0; padding: 0; list-style: none; display: grid; gap: 8px } .pp-no li { display: flex; flex-wrap: wrap; gap: 4px 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid transparent; background: rgba(255, 255, 255, .025); font-size: 14px } .pp-no li a { font-weight: 650; color: var(--ink) } .pp-no li a:hover { color: var(--c) }
.pp-launched, .pp-bn { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px }
.pp-lp, .pp-b { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; border: 1px solid transparent; background: rgba(255, 255, 255, .025); transition: border-color .2s, background .2s } .pp-lp:hover, .pp-b:hover { border-color: var(--b3); background: rgba(91, 155, 255, .08) }
.pp-lp { flex-wrap: wrap } .pp-lp-n { display: grid; min-width: 0; flex: 1 1 140px } .pp-lp-n b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis } .pp-lp-n small { color: var(--c); font-size: 12.5px } .pp-lp-b { display: flex; flex-wrap: wrap; gap: 4px; flex: 1 0 100% }
.pp-b-t { display: grid; gap: 2px; min-width: 0; flex: 1 } .pp-b-t b { font-size: 15px; overflow-wrap: anywhere } .pp-b-t small { font-size: 12.5px } .pp-b-r { display: grid; gap: 6px; justify-items: end; flex: none } .pp-b-r .mono { font-size: 14px; font-weight: 600 }
.pp-pl { font-weight: 700; color: var(--ink); text-decoration: underline; text-decoration-color: rgba(91, 155, 255, .45); text-underline-offset: 3px } .pp-pl:hover { color: var(--c) }

.pp-filters { padding-bottom: 6px } .bn-n { color: var(--mut2); font-size: 12px } .chip[aria-pressed=true] .bn-n { color: #BCD6FF }
.pp-tl { list-style: none; margin: 0; padding: 0; display: grid }
.pp-ev { position: relative; display: flex; gap: 14px; padding: 0 0 18px } .pp-ev:last-child { padding-bottom: 0 } .pp-ev::before { content: ''; position: absolute; left: 19px; top: 40px; bottom: 0; width: 1px; background: var(--line2) } .pp-ev:last-child::before { display: none }
.pp-ei { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: rgba(30, 107, 255, .16); color: var(--b3) } .pp-ei .ic { width: 20px; height: 20px }
.pp-ei.t-c { background: rgba(41, 211, 255, .12); color: var(--c) } .pp-ei.t-ok { background: rgba(61, 227, 176, .12); color: var(--ok) } .pp-ei.t-v { background: rgba(138, 92, 255, .16); color: var(--v2) } .pp-ei.t-warn { background: rgba(255, 195, 77, .12); color: var(--warn) }
.pp-ev > div { display: grid; gap: 3px; min-width: 0; padding-top: 2px } .pp-et { font-size: 15px; line-height: 1.45; overflow-wrap: anywhere } .pp-ev small { font-size: 12.5px } .pp-ek { color: var(--mut); font-weight: 600 }

/* no wallet */
.pp-empty { position: relative; padding: 34px 0 20px }
.pp-empty .pp-orbit { right: -4%; top: -20px; width: 46%; height: 340px }
.pp-empty-in { position: relative; display: grid; justify-items: start; gap: 18px; max-width: 700px }
.pp-empty-in h1 { font-size: clamp(34px, 5.2vw, 62px); line-height: 1; letter-spacing: -.04em; color: #fff; max-width: 15ch }
.pp-cta { gap: 12px }
.pp-look { display: grid; gap: 8px; width: min(520px, 100%); margin-top: 10px } .pp-look .row { flex-wrap: nowrap } .pp-look input { font-family: var(--mf); font-size: 14px } .pp-look .btn { min-height: 48px } .pp-look .err { color: var(--bad); font-size: 13px; font-weight: 600 }

@media (max-width: 1100px) { .pp-stats { grid-template-columns: repeat(3, 1fr) } }
@media (max-width: 900px) { .pp { padding-top: 92px } .pp-card { grid-template-columns: 1fr; padding: 22px 20px 20px } .pp-act { justify-content: flex-start } .pp-orbit { display: none } .pp-card::before { display: none } .pp-empty .pp-orbit { display: none } }
@media (max-width: 640px) {
  .pp-addr { white-space: normal; overflow-wrap: anywhere; font-size: 12.5px }
  .pp { padding-top: 84px } .pp-stats { grid-template-columns: 1fr 1fr } .pp-k { padding: 14px } .pp-id { gap: 14px } .pp-glyph { width: 68px; height: 68px; border-radius: 20px; font-size: 26px }
  .pp-sec { padding: 18px 16px; border-radius: 20px } .pp-launched, .pp-bn { grid-template-columns: 1fr } .pp-lp { flex-wrap: wrap } .pp-lp-b { justify-content: flex-start }
  .pp-cta .btn.lg { width: 100% } .pp-mrz { font-size: 11px; letter-spacing: .06em }
  .pp-filters { margin-inline: -16px; padding-inline: 16px }
}
