.site-header{gap:22px}
.site-header>nav{margin-left:auto;gap:22px}
.site-header>nav a:last-child{margin-left:0;padding-left:0;border-left:0}
.language-switcher{position:relative;flex-shrink:0;z-index:25}
.language-switcher summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #d6c6d0;border-radius:24px;cursor:pointer;list-style:none;color:var(--plum-dark);font-size:13px;line-height:1.5;white-space:nowrap;user-select:none}
.language-switcher summary::-webkit-details-marker{display:none}
.language-switcher summary:hover,.language-switcher[open] summary{background:var(--pink);border-color:#b895ac}
.language-switcher summary:focus-visible{outline:3px solid var(--plum);outline-offset:4px}
.language-globe{width:18px;height:18px;flex-shrink:0}.language-chevron{width:12px;height:12px;transition:transform .15s}
.language-switcher[open] .language-chevron{transform:rotate(180deg)}.language-code{display:none}
.language-panel{position:absolute;right:0;top:calc(100% + 12px);width:228px;padding:10px;background:var(--paper);border:1px solid #d6c6d0;border-radius:16px;box-shadow:0 12px 30px #30243818}
.language-panel>p{margin:5px 10px 7px;color:var(--muted);font-size:12px;letter-spacing:0}
.language-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.language-panel a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 12px;border-radius:9px;font-size:14px;line-height:1.6}
.language-panel a:hover{background:#eee4eb}.language-panel a[aria-current]{background:var(--pink);color:var(--plum-dark)}
.language-check{margin-left:16px}.language-panel a[lang=ja]{font-family:"Yu Gothic",Meiryo,sans-serif}.language-panel a[lang=zh-Hans]{font-family:"Microsoft YaHei","PingFang SC",sans-serif}
html[lang=ja]{--sans:"Yu Gothic",Meiryo,"Hiragino Kaku Gothic ProN",sans-serif}
html[lang=zh-Hans]{--sans:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif}
html:is([lang=ja],[lang=zh-Hans]) h2,html:is([lang=ja],[lang=zh-Hans]) .character-intro{letter-spacing:0;line-height:1.75;word-break:normal;overflow-wrap:anywhere}
html:is([lang=ja],[lang=zh-Hans]) .character-copy h3>span:first-child{font-family:var(--sans);font-size:36px;letter-spacing:0}
html:is([lang=ja],[lang=zh-Hans]) .character-tabs .tab-name{font-family:var(--sans)}
html:is([lang=ja],[lang=zh-Hans]) .legal-heading h1{font-family:var(--sans);font-size:clamp(28px,4vw,44px);letter-spacing:0;line-height:1.5}
html:is([lang=ja],[lang=zh-Hans]) .poster-caption{font-family:var(--sans)}
html:is([lang=ja],[lang=zh-Hans]) :is(.hero-description,.story-copy p,.character-copy>p:not(.character-intro),.movie-copy>p:not(.small-note),.info-intro>p,.game-facts,.game-questions,.studio>p,.copy-block p,.legal-content p){font-size:14px;line-height:1.95}
@media(min-width:761px) and (max-width:1100px){.site-header{padding-left:3%;padding-right:3%;gap:12px}.site-header>.brand{font-size:27px;gap:5px}.site-header>.brand img{width:34px;height:34px}.site-header>nav{gap:12px}.site-header>nav a{font-size:12px}.language-name{display:none}.language-code{display:inline}.language-switcher summary{gap:5px;padding:8px 9px}}
@media(min-width:761px) and (max-width:1100px){
  .site-header>.brand{margin-right:auto}.site-header>.language-switcher{order:2}.site-header>.menu-toggle{order:3;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:transparent;border:1px solid #d6c6d0;border-radius:50%;padding:12px}
  .menu-toggle span{display:block;background:var(--plum);width:18px;height:1px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-header>#main-nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--paper);padding:18px 5% 26px;box-shadow:0 15px 20px #30243812;border-bottom:1px solid var(--line);max-height:calc(100dvh - 91px);overflow:auto}
  .site-header>#main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:3px}.site-header>#main-nav a{font-size:15px;padding:10px 0}
}
@media(max-width:760px){
  .site-header,.press-page .site-header,.legal-page .site-header{height:76px;min-height:76px;flex-wrap:nowrap;padding:0 18px;gap:9px}
  .site-header>.brand,.press-page .site-header>.brand,.legal-page .site-header>.brand{font-size:27px;gap:5px;margin-right:auto}
  .site-header>.brand img{width:34px;height:34px}
  .site-header>.language-switcher{order:2}.site-header>.menu-toggle{order:3;flex-shrink:0;width:44px;height:44px}
  .site-header>#main-nav{top:75px;max-height:calc(100dvh - 76px);overflow-y:auto}
  .language-name{display:none}.language-code{display:inline}.language-switcher summary{gap:5px;padding:8px 9px;min-width:75px}
  .language-panel{position:fixed;top:84px;right:18px;width:240px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 100px);overflow:auto}
  .press-page .site-header>nav,.legal-page .site-header>nav{margin-left:0;gap:0;flex-shrink:0}
  .press-page .site-header>nav a:last-child,.legal-page .site-header>nav a:last-child{padding:10px 0;margin:0;border:0;font-size:12px}
  html:is([lang=ja],[lang=zh-Hans]) .hero-tagline{font-size:21px;line-height:1.65}
}
@media(max-width:360px){.site-header,.press-page .site-header,.legal-page .site-header{padding:0 12px;gap:7px}.site-header>.brand,.press-page .site-header>.brand,.legal-page .site-header>.brand{font-size:24px;gap:4px}.site-header>.brand img{width:28px;height:28px}.language-switcher summary{min-width:68px;padding:8px}.language-globe{width:16px;height:16px}.language-chevron{width:10px;height:10px}}
@media(prefers-reduced-motion:reduce){.language-chevron{transition:none}}

body{padding-bottom:var(--language-consent-space,0px)}
.language-consent[hidden],.language-preferences-link[hidden],.language-consent-error[hidden]{display:none}
.language-consent{position:fixed;z-index:80;bottom:0;left:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;max-height:calc(100dvh - 92px);overflow:auto;padding:12px max(24px,4vw);padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid #b895ac;box-shadow:0 -4px 22px #30243812;color:var(--ink)}
.language-consent h2,html:is([lang=ja],[lang=zh-Hans]) .language-consent h2{font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.5;letter-spacing:0;margin:0 0 3px}
.language-consent p{font-size:13px;line-height:1.7;margin:0;color:var(--muted)}
.language-consent p a{text-decoration:underline;text-underline-offset:3px;color:var(--plum-dark)}
.language-consent-actions{display:flex;gap:10px}
.language-consent-actions button{min-width:110px;min-height:44px;padding:9px 18px;border:1px solid #9b688e;border-radius:24px;background:var(--paper);color:var(--plum-dark);font:inherit;font-size:14px;white-space:nowrap;cursor:pointer}
.language-consent-actions button:hover{background:var(--pink)}
.language-consent button:focus-visible,.language-preferences-link:focus-visible{outline:3px solid var(--plum);outline-offset:3px}
.language-preferences-link{background:none;border:0;padding:10px 0;min-height:44px;color:var(--plum-dark);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.site-footer{flex-wrap:wrap}
.language-consent .language-consent-error{grid-column:1/-1;margin:0;color:#8b3547}
@media(max-width:760px){.language-consent{grid-template-columns:1fr;gap:10px;padding:12px 18px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.language-consent-actions{gap:10px}.language-consent-actions button{flex:1;min-width:0}}
