.route-view.characters-page{max-width:none;padding:32px 0 0;color:#294c42}
.characters-page>.breadcrumbs,.characters-page>.route-heading{max-width:1040px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px;box-sizing:border-box}
.characters-page>.route-heading{border:0;text-align:center;margin-bottom:20px;padding-bottom:0}
.characters-page>.route-heading h1{font-size:38px;line-height:1.4;margin-bottom:12px}
.characters-page>.route-heading p{margin:auto;max-width:600px;font-size:16px;line-height:1.8}
.character-switcher{display:flex;justify-content:center;gap:16px;padding:0 20px 32px}
.character-switcher a{display:flex;align-items:center;gap:10px;min-height:64px;padding:6px 20px;border-bottom:3px solid transparent;text-decoration:none;font-size:17px;font-weight:700}
.character-switcher a[aria-current=page]{border-color:#42735f;background:#edf4ee}
.character-switcher img{width:56px;height:56px;object-fit:contain}
.characters-page a:focus-visible,.characters-page button:focus-visible{outline:3px solid #42735f;outline-offset:5px}
.character-band{--character-color:#f8f4cf;background:var(--character-color);padding:64px 28px 80px;position:relative}
.character-sunny{--character-color:#dceff3}
.character-directory .character-band+.character-band{border-top:1px solid #d2e4df}
.character-band-inner{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.character-directory .character-sunny .character-portrait{order:2}
.character-portrait{min-width:0;text-align:center}
.character-portrait>img,.character-portrait .mascot-gimmick>img{display:block;width:100%;height:360px;object-fit:contain;border-radius:0;margin:0 auto}
.character-portrait .mascot-gimmick{display:flex;flex-direction:column}
.character-portrait .mascot-gimmick-reply{min-height:32px;font-size:16px!important;margin:8px 0!important;line-height:1.5}
.character-portrait .mascot-gimmick-action{align-self:center;border:1px solid #668575;background:#fffdf6;min-height:44px;padding:10px 20px;border-radius:6px}
.character-portrait .mascot-gimmick-action:hover{background:#e8f1e9}
.character-roman-name{font-size:17px;font-weight:700;letter-spacing:0;margin:16px 0 0}
.character-biography{min-width:0;max-width:480px}
.character-kicker{font-size:12px;line-height:1.7;font-weight:600;margin:0 0 10px;color:#50695f}
.character-biography h2{font-size:44px;line-height:1.35;margin:0 0 16px}
.character-biography .character-intro{font-size:20px;font-weight:600;line-height:1.7;margin:0 0 18px}
.character-story{font-size:17px;line-height:1.95;margin:0}
.character-read-more{display:inline-flex;align-items:center;min-height:48px;font-size:16px;font-weight:700;margin-top:22px;text-underline-offset:6px}
.character-facts{margin:28px 0 0;padding:0;border-top:1px solid #aebfb0}
.character-facts>div{padding:16px 0;border-bottom:1px solid #aebfb0}
.character-facts dt{font-weight:700;font-size:16px;line-height:1.7}
.character-facts dd{margin:4px 0 0;font-size:16px;line-height:1.85}
.character-invitation{margin-top:30px}
.character-invitation h3{font-size:21px;line-height:1.5;margin:0 0 8px}
.character-invitation p{font-size:16px;line-height:1.85;margin:0 0 16px}
.character-invitation .pill{min-height:48px;box-sizing:border-box;display:inline-flex;align-items:center;margin:0 16px 12px 0}
.character-invitation .route-link{display:inline-flex;align-items:center;min-height:48px}
.characters-page>.character-disclaimer{max-width:840px;margin:24px auto;padding:0 28px;font-size:13px;line-height:1.8}
#route-view.characters-page>.real-friends{margin:32px 0 0;padding:48px 28px 64px;border:0}
@media(max-width:760px){
  .route-view.characters-page{padding-top:20px}
  .characters-page>.breadcrumbs,.characters-page>.route-heading{padding-left:22px;padding-right:22px}
  .characters-page>.route-heading h1{font-size:30px}
  .character-switcher{gap:12px;padding-bottom:24px}
  .character-switcher a{padding:4px 12px;gap:6px;font-size:16px}
  .character-switcher img{width:44px;height:44px}
  .character-band{padding:32px 22px 44px}
  .character-band-inner{grid-template-columns:minmax(0,1fr);gap:28px;max-width:520px}
  .character-directory .character-sunny .character-portrait{order:0}
  .character-portrait>img,.character-portrait .mascot-gimmick>img{height:280px;max-width:420px}
  .character-biography{max-width:none}
  .character-biography h2{font-size:34px;margin-bottom:12px}
  .character-biography .character-intro{font-size:19px}
  .character-story{font-size:16px;line-height:1.9}
  .character-roman-name{margin-top:12px;font-size:15px}
  #route-view.characters-page>.real-friends{padding:36px 22px 44px}
}
@media(max-width:360px){.character-switcher{gap:4px}.character-switcher a{padding:4px 8px}.character-portrait .mascot-gimmick>img{height:240px}}
