/* The Quest V7.32 — refined Passport. Strictly scoped to the Passport route.
   Uses the existing global appearance tokens: light ivory, dark midnight. */
.player-body .mobile-app.route-passport{
 --pr-bg:#f7f2e9;
 --pr-surface:#fffaf3;
 --pr-panel:#fffdf8;
 --pr-ink:#2a2341;
 --pr-muted:#695d71;
 --pr-line:rgba(159,114,68,.27);
 --pr-gold:#906125;
 --pr-violet:#7134b4;
 --pr-faint:#ede3d8;
 --pr-shadow:0 7px 21px rgba(106,69,53,.07);
 --pr-world:url('../assets/themes/citadel-day.webp');
}
html[data-theme="dark"] .player-body .mobile-app.route-passport{
 --pr-bg:#101426;
 --pr-surface:#171c30;
 --pr-panel:#1b2037;
 --pr-ink:#f8f1f3;
 --pr-muted:#c2b8d2;
 --pr-line:rgba(191,159,220,.2);
 --pr-gold:#e6c18b;
 --pr-violet:#c69bff;
 --pr-faint:#262940;
 --pr-shadow:0 8px 23px rgba(0,0,0,.16);
 --pr-world:url('../assets/themes/citadel-night.webp');
}
.player-body .mobile-app.route-passport{
 background:var(--pr-bg);
 color:var(--pr-ink);
}
.player-body .route-passport .passport-refined-v732{
 display:flex;flex-direction:column;gap:14px;
 min-width:0;max-width:100%;padding-bottom:12px;
}
.player-body .route-passport .passport-refined-v732>*{min-width:0;max-width:100%;box-sizing:border-box}
.player-body .route-passport .passport-refined-hero{
 position:relative;isolation:isolate;overflow:hidden;
 display:flex;flex-direction:column;align-items:flex-start;
 min-height:340px;padding:18px 19px 20px;
 border-radius:20px;border:1px solid var(--pr-line);
 color:var(--pr-ink);background:var(--pr-surface);
 box-shadow:var(--pr-shadow);
}
.player-body .route-passport .passport-refined-world{
 position:absolute;z-index:-2;inset:0 0 auto;height:255px;pointer-events:none;
 background-image:var(--pr-world);background-size:cover;background-position:center 39%;
 opacity:.87;
}
.player-body .route-passport .passport-refined-hero::before{
 content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(255,251,244,.02) 0%,rgba(255,251,244,.10) 32%,var(--pr-surface) 73%);
}
html[data-theme="dark"] .player-body .route-passport .passport-refined-hero::before{
 background:linear-gradient(180deg,rgba(12,16,33,.07) 0%,rgba(15,18,36,.22) 29%,var(--pr-surface) 72%);
}
.player-body .route-passport .passport-refined-prestige{
 color:var(--pr-gold);font-size:10px;line-height:1.2;font-weight:740;
 letter-spacing:.16em;text-transform:uppercase;
}
.player-body .route-passport .passport-refined-person{
 display:flex;align-items:end;justify-content:space-between;
 gap:14px;width:100%;margin:19px 0 12px;
}
.player-body .route-passport .passport-refined-person .avatar-photo{
 width:124px!important;height:124px!important;min-width:124px;
 display:grid;place-items:center;overflow:hidden;
 border-radius:50%!important;
 background:var(--pr-faint);
 border:3px solid var(--pr-gold)!important;
 box-shadow:0 0 0 4px var(--pr-surface),0 7px 18px rgba(22,13,29,.16)!important;
 margin:0!important;
}
.player-body .route-passport .passport-refined-person .avatar-photo img{
 width:100%;height:100%;display:block;object-fit:cover;border-radius:50%;
}
.player-body .route-passport .passport-refined-person .avatar-fallback span{
 font-size:34px;color:var(--pr-violet);
}
.player-body .route-passport .passport-refined-edit{
 display:inline-flex;align-items:center;justify-content:center;gap:7px;
 margin:0 0 2px;padding:9px 12px;min-width:0;min-height:39px;
 border-radius:11px;border:1px solid var(--pr-line);
 color:var(--pr-ink);background:var(--pr-panel);
 font-size:12px;font-weight:650;line-height:1.2;box-shadow:var(--pr-shadow);
}
.player-body .route-passport .passport-refined-edit .icon{width:16px;height:16px;color:var(--pr-violet)}
.player-body .route-passport .passport-refined-hero h2{
 margin:0;color:var(--pr-ink);font-family:Georgia,serif;
 font-size:clamp(25px,7vw,31px);line-height:1.13;font-weight:700;
 overflow-wrap:anywhere;
}
.player-body .route-passport .passport-refined-title{
 display:block;max-width:100%;margin:5px 0 17px;color:var(--pr-violet);
 font-size:13px;font-weight:650;line-height:1.45;overflow-wrap:anywhere;
}
.player-body .route-passport .passport-refined-level{
 display:flex;align-items:center;justify-content:space-between;
 gap:12px;flex-wrap:wrap;width:100%;padding-top:12px;
 border-top:1px solid var(--pr-line);font-size:12px;color:var(--pr-muted);
}
.player-body .route-passport .passport-refined-level>span:first-child{
 display:flex;align-items:baseline;gap:7px;
}
.player-body .route-passport .passport-refined-level strong{
 font-family:Georgia,serif;font-size:23px;font-weight:700;color:var(--pr-ink);
}
.player-body .route-passport .passport-refined-level-rank{
 display:inline-flex;align-items:center;gap:6px;min-width:0;
 color:var(--pr-ink);font-size:12px;font-weight:650;
}
.player-body .route-passport .passport-refined-level-rank .icon{
 width:17px;height:17px;color:var(--pr-gold);flex:0 0 auto;
}
.player-body .route-passport .passport-refined-xp{
 display:flex;align-items:center;gap:11px;width:100%;margin-top:9px;
}
.player-body .route-passport .passport-refined-xp small{
 flex:0 0 auto;font-size:11px;color:var(--pr-muted);
 font-variant-numeric:tabular-nums;white-space:nowrap;
}
.player-body .route-passport .passport-refined-track{
 position:relative;flex:1 1 auto;height:9px;min-width:0;overflow:hidden;
 border-radius:999px;background:var(--pr-faint);
 border:1px solid var(--pr-line);
}
.player-body .route-passport .passport-refined-track i{
 position:absolute;inset:0 auto 0 0;display:block;
 background:linear-gradient(90deg,#7740c0,#b47aee);
 border-radius:inherit;
}
.player-body .route-passport .passport-refined-reward{
 display:grid;grid-template-columns:66px minmax(0,1fr) 19px;
 gap:14px;align-items:center;min-height:102px;
 padding:14px;border:1px solid var(--pr-line);border-radius:15px;
 background:var(--pr-surface);box-shadow:var(--pr-shadow);
}
.player-body .route-passport .passport-refined-reward-art{
 display:grid;place-items:center;width:66px;height:66px;border-radius:11px;
 background:var(--pr-faint);color:var(--pr-gold);
}
.player-body .route-passport .passport-refined-reward-art .icon{width:30px;height:30px}
.player-body .route-passport .passport-refined-reward-copy{min-width:0}
.player-body .route-passport .passport-refined-reward-copy>*{display:block;line-height:1.4}
.player-body .route-passport .passport-refined-reward-copy span{
 font-size:11px;color:var(--pr-violet);font-weight:650;
}
.player-body .route-passport .passport-refined-reward-copy strong{
 margin-top:3px;color:var(--pr-ink);font-family:Georgia,serif;
 font-size:15px;font-weight:700;overflow-wrap:anywhere;
}
.player-body .route-passport .passport-refined-reward-copy small{
 margin-top:4px;color:var(--pr-muted);font-size:11px;
}
.player-body .route-passport .passport-refined-reward-chevron .icon{width:18px;height:18px;color:var(--pr-gold)}
.player-body .route-passport .passport-refined-ranks,
.player-body .route-passport .passport-refined-collection{
 border:1px solid var(--pr-line);border-radius:15px;
 padding:16px 13px;background:var(--pr-surface);
 box-shadow:var(--pr-shadow);
}
.player-body .route-passport .passport-refined-heading{
 display:flex;align-items:baseline;justify-content:space-between;gap:10px;
 margin-bottom:12px;
}
.player-body .route-passport .passport-refined-heading h3{
 margin:0;font-family:Georgia,serif;
 font-size:17px;line-height:1.35;font-weight:700;color:var(--pr-ink);
}
.player-body .route-passport .passport-refined-heading h3 span{
 display:inline-block;margin-left:4px;
 font-family:Arial,sans-serif;font-size:11px;font-weight:650;color:var(--pr-muted);
}
.player-body .route-passport .passport-refined-rank-road{
 position:relative;display:grid;
 grid-template-columns:repeat(var(--visible-ranks,4),minmax(0,1fr));
 align-items:start;gap:5px;width:100%;
}
.player-body .route-passport .passport-refined-rank-road::before{
 content:'';position:absolute;left:8%;right:8%;top:23px;
 height:2px;background:var(--pr-line);
}
.player-body .route-passport .passport-refined-rank{
 position:relative;display:flex;flex-direction:column;align-items:center;
 min-width:0;gap:5px;text-align:center;
}
.player-body .route-passport .passport-refined-rank-medal{
 display:grid;place-items:center;width:47px;height:47px;border-radius:50%;
 background:var(--pr-faint);
 color:var(--pr-gold);border:1px solid var(--pr-line);
 box-shadow:0 0 0 3px var(--pr-surface);
}
.player-body .route-passport .passport-refined-rank-medal .icon{width:23px;height:23px}
.player-body .route-passport .passport-refined-rank.current .passport-refined-rank-medal{
 color:#f7e7c6;background:#6135a3;
 border-color:#c399f0;box-shadow:0 0 0 3px var(--pr-surface),0 0 11px rgba(157,90,219,.28);
}
.player-body .route-passport .passport-refined-rank.locked{opacity:.58}
.player-body .route-passport .passport-refined-rank strong{
 color:var(--pr-ink);font-size:10px;line-height:1.3;font-weight:680;overflow-wrap:anywhere;
}
.player-body .route-passport .passport-refined-rank small{
 color:var(--pr-muted);font-size:9px;line-height:1.25;
}
.player-body .route-passport .passport-refined-badges{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
}
.player-body .route-passport .passport-refined-badge{
 display:flex;flex-direction:column;align-items:center;min-width:0;
 text-align:center;gap:6px;
}
.player-body .route-passport .passport-refined-badge-medal{
 display:grid;place-items:center;width:58px;height:58px;
 border:1px solid var(--pr-line);border-radius:50%;
 background:var(--pr-faint);color:var(--pr-violet);
}
.player-body .route-passport .passport-refined-badge-medal .icon{width:29px;height:29px}
.player-body .route-passport .passport-refined-badge strong{
 color:var(--pr-ink);font-size:11px;font-weight:650;line-height:1.35;overflow-wrap:anywhere;
}
.player-body .route-passport .passport-refined-badge small{
 color:var(--pr-muted);font-size:10px;line-height:1.3;overflow-wrap:anywhere;
}
.player-body .route-passport .passport-refined-empty{
 margin:5px 0 2px;font-size:12px;line-height:1.5;color:var(--pr-muted);
}
.player-body .route-passport .passport-refined-expand{display:block;margin-top:13px}
.player-body .route-passport .passport-refined-expand summary{
 display:flex;align-items:center;justify-content:flex-end;gap:5px;
 min-height:36px;margin:0 0 -6px;cursor:pointer;
 color:var(--pr-violet);font-size:12px;font-weight:650;
 list-style:none;
}
.player-body .route-passport .passport-refined-expand summary::-webkit-details-marker{display:none}
.player-body .route-passport .passport-refined-expand summary .icon{width:14px;height:14px;transition:transform .18s ease}
.player-body .route-passport .passport-refined-expand[open] summary .icon{transform:rotate(90deg)}
.player-body .route-passport .passport-refined-expand[open] summary{
 justify-content:flex-start;margin-bottom:10px;
}
.player-body .route-passport .passport-refined-expand .rank-road{
 display:flex;max-width:100%;padding:9px 0 7px;gap:8px;overflow-x:auto;
}
.player-body .route-passport .passport-refined-expand .rank-node{
 flex:0 0 115px;min-width:0;
}
.player-body .route-passport .passport-refined-badges-all{
 padding-top:12px;margin-top:10px;border-top:1px solid var(--pr-line);
}
.player-body .route-passport .passport-refined-boss-trophies{
 display:grid;gap:8px;padding-top:10px;
}
.player-body .route-passport .passport-refined-boss-trophies .boss-trophy{
 position:relative;margin:0;border-radius:10px;min-width:0;
}
.player-body .route-passport .passport-refined-details{
 min-width:0;overflow:hidden;border:1px solid var(--pr-line);
 border-radius:13px;background:var(--pr-surface);box-shadow:var(--pr-shadow);
}
.player-body .route-passport .passport-refined-details>summary{
 display:flex;align-items:center;gap:10px;cursor:pointer;
 min-height:58px;padding:14px 16px;
 font-size:13px;font-weight:680;color:var(--pr-ink);
 list-style:none;
}
.player-body .route-passport .passport-refined-details>summary::-webkit-details-marker{display:none}
.player-body .route-passport .passport-refined-details>summary>.icon{
 width:19px;height:19px;flex:0 0 19px;color:var(--pr-violet);
}
.player-body .route-passport .passport-refined-details>summary>.icon:last-child{
 width:16px;height:16px;margin-left:auto;color:var(--pr-muted);
 transition:transform .18s ease;
}
.player-body .route-passport .passport-refined-details[open]>summary>.icon:last-child{transform:rotate(90deg)}
.player-body .route-passport .passport-refined-details[open]>summary{border-bottom:1px solid var(--pr-line)}
.player-body .route-passport .passport-refined-details .passport-stat-grid{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:9px;padding:15px 13px;margin:0;
}
.player-body .route-passport .passport-refined-details .passport-stat{
 display:flex;flex-direction:column;align-items:flex-start;min-width:0;
 padding:12px;gap:6px;border:1px solid var(--pr-line);border-radius:10px;
 background:var(--pr-panel);color:var(--pr-ink);box-shadow:none;
}
.player-body .route-passport .passport-refined-details .passport-stat span{color:var(--pr-violet)}
.player-body .route-passport .passport-refined-details .passport-stat strong{
 color:var(--pr-ink);font-size:16px;line-height:1.2;overflow-wrap:anywhere;
}
.player-body .route-passport .passport-refined-details .passport-stat small{
 color:var(--pr-muted);font-size:11px;line-height:1.35;
}
.player-body .route-passport .passport-refined-history{padding:0 13px 16px}
.player-body .route-passport .passport-refined-history h3{
 color:var(--pr-ink);font-size:14px;font-weight:690;margin:4px 0 10px;
}
.player-body .route-passport .passport-refined-history .passport-chronicle-list{
 padding:0;margin:0;
}
.player-body .route-passport .passport-refined-history .passport-chronicle-list article{
 color:var(--pr-ink);background:var(--pr-panel);
 border:1px solid var(--pr-line);border-radius:9px;
}
.player-body .route-passport .passport-refined-history .passport-chronicle-list strong{color:var(--pr-ink)}
.player-body .route-passport .passport-refined-history .passport-chronicle-list small{color:var(--pr-muted)}
.player-body .route-passport .passport-refined-customization .customization-panel{
 margin:0;padding:14px 12px 18px;border:0!important;border-radius:0;
 box-shadow:none!important;background:var(--pr-surface)!important;color:var(--pr-ink)!important;
}
.player-body .route-passport .passport-refined-customization .customization-group{
 min-width:0;
}
.player-body .route-passport .passport-refined-customization :is(h3,strong){color:var(--pr-ink)}
.player-body .route-passport .passport-refined-customization :is(p,small){color:var(--pr-muted)}
.player-body .route-passport .passport-refined-customization .title-choice,
.player-body .route-passport .passport-refined-customization .frame-choice{
 border-color:var(--pr-line);background:var(--pr-panel);color:var(--pr-ink);
}
.player-body .route-passport .passport-refined-customization :is(.title-choice.active,.frame-choice.active){
 border-color:var(--pr-violet);background:var(--pr-faint);
}
.player-body .route-passport .passport-refined-customization .photo-upload-btn{
 background:var(--pr-panel);border-color:var(--pr-line);color:var(--pr-ink);
}
.player-body .route-passport :is(.passport-refined-edit,.passport-refined-expand summary,.passport-refined-details summary):focus-visible{
 outline:2px solid var(--pr-violet);outline-offset:3px;
}
@media(max-width:375px){
 .player-body .route-passport .passport-refined-hero{padding:15px 14px 18px}
 .player-body .route-passport .passport-refined-person .avatar-photo{
  width:105px!important;height:105px!important;min-width:105px;
 }
 .player-body .route-passport .passport-refined-xp{flex-wrap:wrap}
 .player-body .route-passport .passport-refined-xp small{margin-left:auto}
 .player-body .route-passport .passport-refined-rank-medal{width:41px;height:41px}
 .player-body .route-passport .passport-refined-rank-medal .icon{width:20px;height:20px}
 .player-body .route-passport .passport-refined-rank-road::before{top:20px}
 .player-body .route-passport .passport-refined-rank strong{font-size:9px}
 .player-body .route-passport .passport-refined-rank small{font-size:8px}
 .player-body .route-passport .passport-refined-reward{grid-template-columns:55px minmax(0,1fr) 16px;gap:11px;padding:11px}
 .player-body .route-passport .passport-refined-reward-art{width:55px;height:55px}
}
@media(prefers-reduced-motion:reduce){
 .player-body .route-passport .passport-refined-v732 *{scroll-behavior:auto!important;transition-duration:.01ms!important}
}
