/* The Passport: realm identity, quests, games, shop, achievements */
.pp main{padding-bottom:10px}
.pp-id{display:grid;grid-template-columns:auto 1fr auto;gap:20px 28px;align-items:center;padding:32px 0 18px}
.pp-orb .er-orb{display:block;width:88px;height:88px;cursor:default}
.pp-orb .er-orb::after{inset:-12px -22px;border-width:2.4px}
.pp-who h1{margin:0;font-size:clamp(28px,5vw,40px)}
.pp-xp{height:8px;border-radius:4px;background:rgba(234,251,248,.1);overflow:hidden;margin:10px 0 6px;max-width:420px}
.pp-xp i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),#86F2DF)}
.pp-sub{color:var(--muted);font-size:13.5px;font-weight:400;margin:0}
.pp-sub a{color:var(--mint);text-decoration:none;font-weight:600}
.pp-stats{display:grid;grid-template-columns:repeat(4,auto);gap:10px}
.pp-stats div{padding:10px 14px;border-radius:14px;background:rgba(234,251,248,.05);border:1px solid var(--line);text-align:center;min-width:92px}
.pp-stats span{display:block;font-size:12px;color:var(--muted)}
.pp-stats b{font-family:var(--display);font-size:22px}
.pp-card{margin:16px 0;padding:18px 18px 20px;border-radius:20px;background:rgba(234,251,248,.035);border:1px solid var(--line)}
.pp-card h2,.pp-h{font-size:18px;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.pp-h{margin:26px 0 12px}
.pp-h3{font-size:14px;margin:16px 0 8px;color:var(--muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.pp-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;max-width:420px;margin-bottom:10px}
.pp-cal i{aspect-ratio:1;border-radius:7px;background:rgba(234,251,248,.07);position:relative}
.pp-cal i.on{background:var(--peach);box-shadow:0 0 10px rgba(255,179,138,.45)}
.pp-cal i.today{outline:2px solid rgba(234,251,248,.7);outline-offset:1px}
.pp-cal i.future{background:transparent;border:1px dashed rgba(234,251,248,.08)}
.pp-quests{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pp-quests li{display:grid;grid-template-columns:1fr auto;gap:3px 14px;padding:12px 14px;border-radius:14px;background:rgba(234,251,248,.04);border:1px solid var(--line)}
.pp-quests .t{font-weight:600}.pp-quests .d{grid-column:1;font-size:13px;color:var(--muted)}
.pp-quests .r{grid-row:1/4;grid-column:2;align-self:center;font-weight:700;color:var(--peach)}
.pp-quests .bar{grid-column:1;height:6px;border-radius:3px;background:rgba(234,251,248,.1);overflow:hidden;margin-top:4px}
.pp-quests .bar i{display:block;height:100%;background:var(--peach)}
.pp-quests li.done .r{color:var(--mint)}
.pp-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.pp-game{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:18px;background:rgba(234,251,248,.04);border:1px solid var(--line);text-decoration:none;position:relative;overflow:hidden}
.pp-game::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--c)}
.pp-game:hover{border-color:var(--c)}
.pp-game b{font-family:var(--display);font-size:16px}
.pp-game .m{font-size:13px;color:var(--muted)}
.pp-game .go{margin-top:auto;font-size:13px;font-weight:600;color:var(--c)}
.pp-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.pp-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border-radius:16px;background:rgba(234,251,248,.04);border:1px solid var(--line);text-align:center}
.pp-item.on{border-color:var(--mint);background:rgba(45,226,196,.08)}
.pp-item .er-orb{display:block;width:46px;height:46px;cursor:default}
.pp-item .nm{font-weight:600;font-size:14px}
.pp-item .qp-btn{font-size:13px;padding:6px 12px}
.pp-item .qp-btn[disabled]{opacity:.45;cursor:not-allowed}
.pp-title-tag{font-family:var(--display);font-weight:700;font-size:13px;padding:8px 12px;border-radius:999px;background:rgba(255,179,138,.12);color:var(--peach)}
.pp-achv-g{margin:0 0 14px}
.pp-achv-g h3{font-size:14px;margin:0 0 6px}
.pp-achv-g ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pp-achv-g li{font-size:13px;padding:6px 10px;border-radius:999px;background:rgba(234,251,248,.06)}
.pp-achv-g li::before{content:"★ ";color:var(--peach)}
.pp-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
@media (max-width:760px){
  .pp-id{grid-template-columns:auto 1fr;padding-top:22px}
  .pp-orb .er-orb{width:64px;height:64px}
  .pp-stats{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:6px}
  .pp-stats div{min-width:0;padding:8px 4px}
  .pp-stats b{font-size:18px}
  .pp-stats span{font-size:11px}
}
