/* Final responsive type guardrails for narrow screens and larger accessibility text. */
:where(.achievement,.achievement>div,.level-card,.quest-card,.stats div,.event-card,.event-card>div,.leader-copy,.profile-copy){min-width:0}

.progress-always-visible .achievement-grid,.achievement-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-content:start!important;align-items:start!important;gap:18px 10px!important;height:auto!important}
.progress-always-visible .achievement,.achievement{display:flex!important;height:auto!important;min-height:0!important;flex-direction:column;align-items:center!important;padding:0!important;gap:6px!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:center!important}
.achievement::before,.achievement:not(.unlocked)::after{display:none!important}
.achievement-stamp{width:46px!important;height:46px!important;flex:0 0 46px!important;box-shadow:none!important}
.achievement-stamp span{font-size:21px!important}
.achievement-copy{min-width:0;width:100%}
.achievement-title-row{display:block;min-width:0}
.achievement-title-row strong{min-width:0}
.achievement-title-row small{margin-top:2px;white-space:nowrap}
.achievement strong,.achievement p,.achievement small{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.achievement strong{display:block;font-size:14px!important;line-height:1.2!important}
.achievement p{margin:2px 0 0!important;font-size:10px!important;line-height:1.3!important}
.achievement small{display:block;font-size:9px!important;line-height:1.25!important}

button,.primary-action,.secondary-action,.event-card-actions a,.library-directions{height:auto;line-height:1.25;white-space:normal;text-wrap:balance}
.stats span,.mobile-tabbar small,.event-pill,.admin-badge,.admin-access-badge{overflow-wrap:anywhere;line-height:1.2!important}
h1,h2,h3,h4,.selected-copy>strong,.nearby-card strong,.event-card h3{max-width:100%;text-wrap:balance}
.level-card{grid-template-columns:minmax(0,1fr) auto!important;column-gap:14px!important}
.level-card h2{min-width:0;overflow-wrap:normal;text-wrap:balance}
.level-card>strong{margin-left:0;white-space:nowrap}

@media(min-width:761px){
  .passport-hero{align-items:stretch!important}
  .passport-hero-copy{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start}
  .passport-hero-copy .passport-primary-actions{margin:auto 0 0!important;padding-top:24px}
  .passport-hero>.passport-stats{align-self:stretch}
}

@media(max-width:760px){
  .passport-hero-copy .passport-primary-actions{margin:20px 0 0!important}
  .progress-always-visible .achievement-grid,.achievement-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px 6px!important;height:auto!important}
  .progress-always-visible .achievement,.achievement{display:flex!important;min-height:0!important;padding:0!important;gap:5px!important;text-align:center!important}
  .achievement-stamp{margin:auto!important}
  .achievement strong{font-size:10px!important;line-height:1.15!important}
  .achievement p{font-size:8px!important;line-height:1.2!important}
  .achievement small{font-size:8px!important}
  .stats div{padding-inline:8px!important}
  .stats span{font-size:10px!important}
}

@media(max-width:430px){
  .level-card{column-gap:10px!important}
  .level-card h2{font-size:21px!important;line-height:1.18!important}
  .level-card>strong{font-size:14px!important;line-height:1.25!important}
}

@media(max-width:390px){
  .progress-always-visible .achievement,.achievement{min-height:0!important}
  .achievement-stamp{width:44px!important;height:44px!important;flex-basis:44px!important}
  .achievement-stamp span{font-size:20px!important}
}

@media(max-width:340px){
  .achievement{grid-template-columns:46px minmax(0,1fr)!important;padding-inline:7px!important}
  .achievement-stamp{width:44px!important;height:44px!important;flex-basis:44px!important}
  .achievement-stamp span{font-size:20px!important}
  .achievement strong{font-size:11px!important}
}
